EFK 不是一個軟件,而是一套解決方案。EFK 是三個開源軟件的縮寫,Elasticsearch,F(xiàn)ileBeat,Kibana。其中 ELasticsearch 負(fù)責(zé)日志分析和存儲,F(xiàn)ileBeat 負(fù)責(zé)日志收集,Kibana 負(fù)責(zé)界面展示。它們之間互相配合使用,完美銜接,高效的滿足了很多場合的應(yīng)用,是目前主流的一種日志分析系統(tǒng)解決方案。
EFK 和 ELK 只有一個區(qū)別, 收集日志的組件由 Logstash替換成了 FileBeat,因?yàn)?Filebeat 相對于 Logstash 來說有2個好處:
盧龍網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)2013年開創(chuàng)至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
1、侵入低,無需修改 elasticsearch 和 kibana 的配置;
2、性能高,IO 占用率比 logstash 小太多;
ELK可參考:https://blog.51cto.com/14227204/2442249
當(dāng)然 Logstash 相比于 FileBeat 也有一定的優(yōu)勢,比如 Logstash 對于日志的格式化處理能力,F(xiàn)ileBeat 只是將日志從日志文件中讀取出來,當(dāng)然如果收集的日志本身是有一定格式的,F(xiàn)ileBeat 也可以格式化,但是相對于Logstash 來說,效果差很多。
Filebeat 隸屬于 Beats。目前 Beats 包含六種工具:
- Packetbeat(搜集網(wǎng)絡(luò)流量數(shù)據(jù))
- Metricbeat(搜集系統(tǒng)、進(jìn)程和文件系統(tǒng)級別的 CPU 和內(nèi)存使用情況等數(shù)據(jù))
- Filebeat(搜集文件數(shù)據(jù))
- Winlogbeat(搜集 Windows 事件日志數(shù)據(jù))
- Auditbeat( 輕量型審計(jì)日志采集器)
- Heartbeat(輕量級服務(wù)器健康采集器)
另外,EFK 系統(tǒng)下的各個組件都非常吃內(nèi)存,后期根據(jù)業(yè)務(wù)需要,EFK 的架構(gòu)可進(jìn)行擴(kuò)展,當(dāng) FileBeat 收集的日志越來越多時,為防止數(shù)據(jù)丟失,可引入 redis,而 ElasticSearch 也可擴(kuò)展為集群,并使用 Head 插件進(jìn)行管理, 所以要保證服務(wù)器有充足的運(yùn)行內(nèi)存和磁盤空間。
一、開始部署
1、安裝elasticsearch:
[root@localhost /]# mkdir efk # 個人習(xí)慣
[root@localhost /]# cd efk/
[root@localhost efk]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
[root@localhost efk]# tar zxf elasticsearch-6.2.4.tar.gz -C /usr/local/
[root@localhost efk]# cd /usr/local/
[root@localhost /]# useradd es
[root@localhost local]# mv elasticsearch-6.2.4/ es/
[root@localhost local]# sed -i 's/#network.host: 192.168.0.1/network.host: 0.0.0.0/g' /usr/local/es/config/elasticsearch.yml
[root@localhost local]# sed -i 's/#http.port: 9200/http.port: 9200/g' /usr/local/es/config/elasticsearch.yml
[root@localhost local]# su es # 切換用戶啟動服務(wù)
[es@localhost local]$ /usr/local/es/bin/elasticsearch -d # 服務(wù)后臺運(yùn)行
如果遇到錯誤:max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
[root@localhost local]# echo '* soft nofile 819200' >> /etc/security/limits.conf
[root@localhost local]# echo '* hard nofile 819200' >> /etc/security/limits.conf
[root@localhost local]# echo '* soft nproc 2048' >> /etc/security/limits.conf
[root@localhost local]# echo '* hard nproc 4096' >> /etc/security/limits.conf
[root@localhost local]# echo 'vm.max_map_count=655360' >> /etc/sysctl.conf
[root@localhost local]# sysctl -p
vm.max_map_count = 655360
2、安裝kibana:
[root@localhost local]# cd /efk/
[root@localhost efk]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-linux-x86_64.tar.gz
[root@localhost local]# mv kibana-6.2.4-linux-x86_64/ kibana/
[root@localhost local]# sed -i 's/#kibana.index: ".kibana"/kibana.index: ".kibana"/g' /usr/local/kibana/config/kibana.yml
[root@localhost local]# sed -i 's/#server.port: 5601/server.port 5601/g' /usr/local/kibana/config/kibana.yml
[root@localhost local]# sed -i 's/#server.host: "localhost"/server.host "0.0.0.0"/g' /usr/local/kibana/config/kibana.yml
[root@localhost local]# sed -i 's/#elasticsearch.url: "http://localhost:9200"/elasticsearch.url: "http://localhost:9200"/g' /usr/local/kibana/config/kibana.yml
[root@localhost /]# /usr/local/kibana/bin/kibana &
3、安裝filebeat:
[root@localhost /]# cd /efk/
[root@localhost efk]# wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.4-linux-x86_64.tar.gz
[root@localhost efk]# tar zxf filebeat-6.2.4-linux-x86_64.tar.gz -C /usr/local/
[root@localhost local]# mv filebeat-6.2.4-linux-x86_64/ filebeat/
[root@localhost local]# vim /usr/local/filebeat/filebeat.yml
#找到如下類似內(nèi)容進(jìn)行修改
filebeat.prospectors:
- type: log
enabled: true
paths:
- /etc/httpd/logs/*_log # 指定日志文件存放位置
multiline.pattern: ^\[
multiline.negate: true
multiline.match: after
setup.kibana:
host: 192.168.171.134
output.elasticsearch:
hosts: ["192.168.171.134:9200"]
#配置一定要注意格式,是以2個空格為子級,里面的配置都在配置文件中,列出來的只是
要修改的部分,enabled默認(rèn)為false,需要改成true才會收集日志。其中/var/xxx/*.log修改
為自己的日志路徑,注意-后面有一個空格,
如果多個路徑則添加一行,一定要注意新行前面的4個空格,multiline開頭的幾個配置取消
注釋就行了,是為了兼容多行日志的情況,setup.kibana中的host取消注釋,根據(jù)實(shí)際情
況配置地址,output.elasticsearch中的host也一樣,根據(jù)實(shí)際情況配置
[root@localhost local]# ./filebeat/filebeat -c /usr/local/filebeat/filebeat.yml # 啟動服務(wù)
二、配置Kibana
瀏覽器訪問:
至此EFK就搭建完畢了,可以點(diǎn)擊descover來查看信息