Filebeat使用內置的mysql模塊收集日志存儲到ES集群並使用kibana存儲


Filebeat內置了不少的模塊,可以直接使用他們對日志進行收集,支持的模塊如下:

[root@ELK-chaofeng07 logstash]# filebeat modules list
Enabled:
mysql

Disabled:
apache2
auditd
elasticsearch
haproxy
icinga
iis
kafka
kibana
logstash
mongodb
nginx
osquery
postgresql
redis
suricata
system
traefik

只要是上面出現的filebeat都是支持的,但是使用它之前需要設置一下才可以使用,比如:

filebeat modules enable mysql

那這次我們來看看如何使用mysql模塊收集mysql的慢查詢日志和錯誤日志

1、首先是使filebeat支持mysql模塊

filebeat modules enable mysql

2、在配置文件/etc/filebeat/filebeat.yml啟用輸出到elasticsearch和kibana的功能。

設置完成后保存就可以了。此外,你的kibana和elasticsearch集群需要正常運行才能進行下一步。

3、開始准備預定義環境

filebeat setup -e

如果最后報錯了,那么需要根據情況進行修復。

4、在配置文件/etc/filebeat/modules.d/mysql.yml進行設置。

5、上面的完成后基本就差不多了,此時我們可以啟動filebeat服務了。

 如果說你啟動的時候報如下錯誤,說明你的filebeat.yml配置文件中有多個output輸出源,此時你需要把其他的output都注釋掉才行,只留一個源輸出到elasticsearch即可。

Exiting: Template loading requested but the Elasticsearch output is not configured/enabled

6、此后你會在elasticsearch集群中看到這個索引:

7、接下來就是到kibana界面,在這里,你不需要事先創建索引等等操作,直接點擊dashboard界面選擇mysql即可,比如:

最后你使用幾個慢查詢語句以及插入一些錯誤日志到執行的日志文件中看一下效果:

就這樣子就完成了。

 本篇實踐是我參考官網的文檔來做的,詳情鏈接是:https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-mysql.html#mysql-settings

總結:我覺得上面的這種方式並不能普及使用,因為這缺少logstash過濾的一步,這樣子我們就不能很好的使用聚合等圖形。此外沒有broker,會造成大量輸出到elasticsearch導致阻塞。我的方案是使用logstash過濾加上內置的自定義模塊比較好。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM