日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

搭建ELK-流水账-只记思路

發(fā)布時(shí)間:2023/12/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搭建ELK-流水账-只记思路 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

環(huán)境準(zhǔn)備:

操作系統(tǒng):CentOS Linux release 7.4.1708 (Core) 虛擬機(jī)即可

兼容矩陣

最近軟件更新?lián)Q代很快啊,到底搭建哪一款ELK適合呢。來官網(wǎng)看下兼容矩陣:

支持矩陣 | Elastic

根據(jù)兼容矩陣,選擇一款適合自己的,由于小編操作系統(tǒng)centos自帶了openjdk1.8.因此還需要考慮到是否兼容java1.8的環(huán)境。

從兼容矩陣看到,ES8已經(jīng)放棄了JDK1.8。因此小編選擇了ES7.10來作為實(shí)驗(yàn)品。

軟件列表如下:

elasticsearch-7.10.1-linux-x86_64.tar.gz

kibana-7.10.0-linux-x86_64.tar.gz

logstash-7.10.0-linux-x86_64.tar.gz

就選擇這3個來搭建ELK環(huán)境。

下載地址

從開源社區(qū)下載:下載中心 - Elastic 中文社區(qū)

ElasticSearch安裝

先安裝elastic search,賦權(quán)給非root用戶。我喜歡visudo。簡單快捷方便。

ES 有點(diǎn)注意的是,它不能用root用戶啟動。所以提前建好非root用戶。

如下命令暫時(shí)記下,需要再ES啟動報(bào)錯執(zhí)行。偷懶了,記得是需要改些系統(tǒng)配置的。

操作命令

? 301 ?2022-03-23 11:37:28 ulimit -S -n
? 302 ?2022-03-23 11:37:31 ls ?/etc/security/limits.conf
? 303 ?2022-03-23 11:37:34 vim ?/etc/security/limits.conf
? 304 ?2022-03-23 11:39:14 echo "fs.file-max = 1000000">> /etc/sysctl.conf
? 305 ?2022-03-23 11:39:14 echo "net.core.somaxconn = 32768">> /etc/sysctl.conf
? 306 ?2022-03-23 11:39:14 echo "net.ipv4.tcp_tw_recycle = 0">> /etc/sysctl.conf
? 307 ?2022-03-23 11:39:14 echo "net.ipv4.tcp_syncookies = 0">> /etc/sysctl.conf
? 308 ?2022-03-23 11:39:14 echo "vm.overcommit_memory = 1">> /etc/sysctl.conf
? 309 ?2022-03-23 11:39:15 sysctl -p
? 310 ?2022-03-23 11:39:39 cat ?>> /etc/systemd/system/cpupower.service << EOF
? 311 ?2022-03-26 16:41:00 [Unit]
? 312 ?2022-03-26 16:41:00 Description=CPU performance
? 313 ?2022-03-26 16:41:00 [Service]
? 314 ?2022-03-26 16:41:00 Type=oneshot
? 315 ?2022-03-26 16:41:00 ExecStart=/usr/bin/cpupower frequency-set --governor performance
? 316 ?2022-03-26 16:41:00 [Install]
? 317 ?2022-03-26 16:41:00 WantedBy=multi-user.target
? 318 ?2022-03-26 16:41:00 EOF
? 319 ?2022-03-23 11:39:44 systemctl daemon-reload
? 320 ?2022-03-23 11:39:48 systemctl enable cpupower.service
? 321 ?2022-03-23 11:39:54 systemctl start cpupower.service
? 322 ?2022-03-23 11:40:14 echo never > /sys/kernel/mm/transparent_hugepage/enabled

? 323 ?2022-03-23 11:40:15 echo never > /sys/kernel/mm/transparent_hugepage/defrag
? 324 ?2022-03-23 11:40:23 vi /etc/udev/rules.d/60-tidb-schedulers.rules
? 325 ?2022-03-23 11:40:42 udevadm control --reload-rules
? 326 ?2022-03-23 11:40:43 udevadm trigger --type=devices --action=change
? 327 ?2022-03-23 11:40:46 cat ?>> /etc/systemd/system/cpupower.service << EOF
? 328 ?2022-03-26 16:41:00 [Unit]
? 329 ?2022-03-26 16:41:00 Description=CPU performance
? 330 ?2022-03-26 16:41:00 [Service]
? 331 ?2022-03-26 16:41:00 Type=oneshot
? 332 ?2022-03-26 16:41:00 ExecStart=/usr/bin/cpupower frequency-set --governor performance
? 333 ?2022-03-26 16:41:00 [Install]
? 334 ?2022-03-26 16:41:00 WantedBy=multi-user.target
? 335 ?2022-03-26 16:41:00 EOF
? 336 ?2022-03-23 11:40:50 systemctl daemon-reload
? 337 ?2022-03-23 11:40:50 systemctl enable cpupower.service
? 338 ?2022-03-23 11:40:51 systemctl start cpupower.service
? 339 ?2022-03-23 11:40:55 cat /sys/kernel/mm/transparent_hugepage/enabled
? 340 ?2022-03-23 11:40:59 cat /sys/block/sd[bc]/queue/scheduler
? 341 ?2022-03-23 11:41:24 vim /etc/security/limits.conf
?

ES配置

ES配置文件更改:

config文件夾下的jvm.options更改。


-Xms10g
-Xmx10g
來它10個G的內(nèi)存,否則會很慢。

config文件夾下的elasticsearch.yml,有效配置為:

cluster.name: my-application

node.name: node-1

path.logs: /data/path/to/logs?

path.logs: /data/path/to/logs

network.host: 0.0.0.0

http.port: 9200

cluster.initial_master_nodes: ["node-1"]

其他配置暫且擱置,不影響Es使用。啟動即可使用。

保證高可用

為了保證一個高可用,用腳本實(shí)現(xiàn)下單機(jī)版本的高可用

#!/bin/bash
nnn1=$(ps -ef | grep elasticsearch | grep -v grep | grep -v monitor | wc -l)
echo $nnn1

for i in $(ps -ef | grep elasticsearch | grep -v grep | grep -v monitor |awk '{print $2}');do echo $i;done;
ps -ef | grep elasticsearch | grep -v grep | grep -v monitor

if [ $nnn1 -ne 2 ]; then
? echo 'wrong,pease restart the elasticsearch'
? for i in $(ps -ef | grep elasticsearch | grep -v grep |grep -v monitor |awk '{print $2}');do kill -9 $i;done;
? echo "restart now ...."
? /data/software/elasticsearch/bin/elasticsearch -d
? echo "restart over ....."
fi

在系統(tǒng)定時(shí)器里加上

[sysadm@tidb196 config]$ crontab -l
*/2 * * * * sh /data/software/elasticsearch/bin/monitor.sh &

只要ES有變動,兩分鐘監(jiān)控一次,然后啟動,可以保證ES不會掛掉吧。。。。

哈哈。這樣,只要發(fā)現(xiàn)es服務(wù)器掛,就啟動。優(yōu)點(diǎn)low。

kibana安裝

這個更簡單了,直接把壓縮包解壓即可。

有效配置

server.port: 5601

server.host: "0.0.0.0"

server.name: "your-hostname"

elasticsearch.requestTimeout: 60000

i18n.locale: "zh-CN"?

然后sbin目錄下kiban運(yùn)行即可。

也用腳本和監(jiān)控來了下。

#!/bin/bash
kn=$(ss -antlup | grep 5601 | wc -l)
echo $kn

for i in $(ss -antlup | grep 5601 | awk '{print $7}' | awk -F"," '{print $2}' | awk -F"=" '{print $2}');do echo $i;done;

if [ $kn -ne 2 ]; then
? echo 'wrong,pease restart the kibana'
? for i in $(ss -antlup | grep 5601 | awk '{print $7}' | awk -F"," '{print $2}' | awk -F"=" '{print $2}');do kill -9 $i;done;
? echo "kibana restart now ...."
? /data/software/kibana/bin/kibana &
? echo "kibana restart over ....."
fi

[sysadm@tidb196 bin]$ crontab -l
*/2 * * * * sh /data/software/elasticsearch/bin/monitor.sh &
*/2 * * * * sh /data/software/kibana/bin/monitor.sh &
*/2 * * * * sh /data/software/logstash/bin/monitor.sh &
?

logstash安裝和配置

input {
? ? gelf {
? ? ? ? ? port => 1560
? ? ? ? ? use_tcp => true
? ? }
}

filter {
? ?grok {
? ? ? ?match => { "message" => "%{COMBINEDAPACHELOG}" }
? ? }
? ?geoip {
? ? ? ?source => "clientip"
? ? }
}

output {
? ? ?elasticsearch {
? ? ? ? ?hosts => ["http://11.10.32.196:9200"]
? ? ? ? ?index => "logstash-%{service_name}-%{+YYYY-MM-dd}"
? ? ?}
}
?

#!/bin/bash
ln=$(ps -ef | grep logstash | grep -v grep | grep -v monitor | wc -l)
echo $ln
if [ $ln -ne 1 ]; then
? echo 'wrong,pease restart the logstash'
? for i in $(ps -ef | grep logstash | grep -v grep |grep -v monitor |awk '{print $2}');do kill -9 $i;done;
? echo "logstash restart now ...."
? /data/software/logstash/bin/logstash -f /data/software/logstash/config/logstash.conf --config.reload.automatic &
? echo "logstash restart over ....."
fi

?

總結(jié)

以上是生活随笔為你收集整理的搭建ELK-流水账-只记思路的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。