Centos 7.3 簡便搭建EFK日誌分析

EFK 不是一個軟件,而是一套解決方案。EFK 是三個開源軟件的縮寫,Elasticsearch,FileBeat,Kibana。其中 ELasticsearch 負責日誌分析和存儲,FileBeat 負責日誌收集,Kibana 負責界面展示。它們之間互相配合使用,完美銜接,高效的滿足了很多場合的應用,是目前主流的一種日誌分析系統解決方案。 EFK 和 ELK 只有一個區別, 收集日誌的組件由 Logstash 替換成了 FileBeat,因為 Filebeat 相對於 Logstash 來說有2個好處:

1、侵入低,無需修改 elasticsearch 和 kibana 的配置; 2、性能高,IO 佔用率比 logstash 小太多;

ELK可參考:https://blog.51cto.com/14227204/2442249 當然 Logstash 相比於 FileBeat 也有一定的優勢,比如 Logstash 對於日誌的格式化處理能力,FileBeat 只是將日誌從日誌文件中讀取出來,當然如果收集的日誌本身是有一定格式的,FileBeat 也可以格式化,但是相對於Logstash 來說,效果差很多。

Filebeat 隸屬於 Beats。目前 Beats 包含六種工具:

  • Packetbeat(搜集網絡流量數據)
  • Metricbeat(搜集系統、進程和文件系統級別的 CPU 和內存使用情況等數據)
  • Filebeat(搜集文件數據)
  • Winlogbeat(搜集 Windows 事件日誌數據)
  • Auditbeat( 輕量型審計日誌採集器)
  • Heartbeat(輕量級服務器健康採集器)

另外,EFK 系統下的各個組件都非常吃內存,後期根據業務需要,EFK 的架構可進行擴展,當 FileBeat 收集的日誌越來越多時,為防止數據丟失,可引入 Redis,而 ElasticSearch 也可擴展為集群,並使用 Head 插件進行管理, 所以要保證服務器有充足的運行內存和磁盤空間。 一、開始部署 1、安裝elasticsearch:

[root@localhost /]# mkdir efk            # 個人習慣  [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         # 切換用戶啟動服務  [es@localhost local]$ /usr/local/es/bin/elasticsearch -d    # 服務後台運行      

如果遇到錯誤: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  #找到如下類似內容進行修改  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默認為false,需要改成true才會收集日誌。其中/var/xxx/*.log修改  為自己的日誌路徑,注意-後面有一個空格,  如果多個路徑則添加一行,一定要注意新行前面的4個空格,multiline開頭的幾個配置取消  注釋就行了,是為了兼容多行日誌的情況,setup.kibana中的host取消注釋,根據實際情  況配置地址,output.elasticsearch中的host也一樣,根據實際情況配置  [root@localhost local]# ./filebeat/filebeat -c /usr/local/filebeat/filebeat.yml             # 啟動服務

二、配置Kibana 瀏覽器訪問:

至此EFK就搭建完畢了,可以點擊descover來查看信息