1. 程式人生 > >ELK 使用filebeat替代Logstash收集日誌

ELK 使用filebeat替代Logstash收集日誌

con elk arr cts 增加 mes conf ats filebeat

使用beats采集日誌

之前也介紹過beats是ELK體系中新增的一個工具,它屬於一個輕量的日誌采集器,以上我們使用的日誌采集工具是logstash,但是logstash占用的資源比較大,沒有beats輕量,所以官方也推薦使用beats來作為日誌采集工具。而且beats可擴展,支持自定義構建。

官方介紹:

https://www.elastic.co/cn/products/beats

在 192.168.77.134 上安裝filebeat,filebeat是beats體系中用於收集日誌信息的工具:

[root@data-node2 ~]# wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.0.0-x86_64.rpm
[root@data-node2 ~]# rpm -ivh  filebeat-6.0.0-x86_64.rpm

安裝完成之後編輯配置文件:

[root@data-node2 ~]# vim /etc/filebeat/filebeat.yml  # 增加或者更改為以下內容
filebeat.prospectors:
- type: log
   #enabled: false 這一句要註釋掉
   paths:
      - /var/log/messages  # 指定需要收集的日誌文件的路徑

#output.elasticsearch:  # 先將這幾句註釋掉
  # Array of hosts to connect to.
#  hosts: ["localhost:9200"]

output.console:  # 指定在終端上輸出日誌信息
  enable: true

配置完成之後,執行以下命令,看看是否有在終端中打印日誌數據,有打印則代表filebeat能夠正常收集日誌數據:

[root@data-node2 ~]# /usr/share/filebeat/bin/filebeat -c /etc/filebeat/filebeat.yml

以上的配置只是為了測試filebeat能否正常收集日誌數據,接下來我們需要再次修改配置文件,將filebeat作為一個服務啟動:

[root@data-node2 ~]# vim /etc/filebeat/filebeat.yml
#output.console:  把這兩句註釋掉
#  enable: true

# 把這兩句的註釋去掉
output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["192.168.77.128:9200"]  # 並配置es服務器的ip地址

修改完成後就可以啟動filebeat服務了:

[root@data-node2 ~]# systemctl start filebeat
[root@data-node2 ~]# ps axu |grep filebeat
root       3021  0.3  2.3 296360 11288 ?        Ssl  22:27   0:00 /usr/share/filebeat/bin/filebeat -c /etc/filebeat/filebeat.yml -path.home /usr/share/filebeat -path.config /etc/filebeat -path.data /var/lib/filebeat -path.logs /var/log/filebeat
root       3030  0.0  0.1 112660   960 pts/0    S+   22:27   0:00 grep --color=auto filebeat

啟動成功後,到es服務器上查看索引,可以看到新增了一個以filebeat-6.0.0開頭的索引,這就代表filesbeat和es能夠正常通信了:

[root@master-node ~]# curl ‘192.168.77.128:9200/_cat/indices?v‘ 
health status index                     uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   system-syslog-2018.03     bUXmEDskTh6fjGD3JgyHcA   5   1      73076            0     24.8mb         11.6mb
green  open   nginx-test-2018.03.04     GdKYa6gBRke7mNgrh2PBUA   5   1         91            0        1mb        544.8kb
green  open   .kibana                   6JfXc0gFSPOWq9gJI1ZX2g   1   1          3            0     26.9kb         13.4kb
green  open   filebeat-6.0.0-2018.03.04 MqQJMUNHS_OiVmO26NEWTw   3   1         66            0     64.5kb         39.1kb
[root@master-node ~]# 

es服務器能夠正常獲取到索引後,就可以到kibana上配置這個索引了:
技術分享圖片
技術分享圖片

以上這就是如何使用filebeat進行日誌的數據收集,可以看到配置起來比logstash要簡單,而且占用資源還少。

ELK 使用filebeat替代Logstash收集日誌