返回

filebeat使用module收集mysql慢查询日志(十一)

后端

简介

filebeat是一个轻量级的日志收集工具,可以将日志从各种来源收集到Elasticsearch或Logstash中。filebeat的mysql module可以收集mysql的慢查询日志,并将它们发送到Elasticsearch或Logstash中。

配置filebeat的mysql module

要配置filebeat的mysql module,您需要在filebeat的配置文件中添加以下内容:

- type: mysql
  enabled: true
  hosts: ["localhost:3306"]
  username: "root"
  password: "password"
  database: "mysql"
  query: "SELECT * FROM mysql.slow_log WHERE time_ms > 1000"
  period: 10s
  • type:指定日志的类型,这里是mysql
  • enabled:是否启用该模块,这里设置为true
  • hosts:要连接的mysql服务器的地址,这里设置为localhost:3306
  • username:要连接mysql服务器的用户名,这里设置为root
  • password:要连接mysql服务器的密码,这里设置为password
  • database:要收集慢查询日志的数据库,这里设置为mysql
  • query:要执行的查询,这里设置为SELECT * FROM mysql.slow_log WHERE time_ms > 1000,该查询将收集所有执行时间超过1秒的慢查询日志。
  • period:查询的时间间隔,这里设置为10s,表示每10秒执行一次查询。

将收集到的日志发送到Elasticsearch或Logstash

要将收集到的日志发送到Elasticsearch或Logstash,您需要在filebeat的配置文件中添加以下内容:

output.elasticsearch:
  hosts: ["localhost:9200"]
output.logstash:
  hosts: ["localhost:5044"]
  • output.elasticsearch.hosts:Elasticsearch的地址,这里设置为localhost:9200
  • output.logstash.hosts:Logstash的地址,这里设置为localhost:5044

启动filebeat

配置好filebeat的配置文件后,就可以启动filebeat了。您可以使用以下命令来启动filebeat:

sudo service filebeat start

验证

启动filebeat后,您就可以在Elasticsearch或Logstash中看到收集到的mysql慢查询日志了。

总结

在本文中,我们学习了如何使用filebeat的mysql module来收集mysql的慢查询日志。我们介绍了如何配置filebeat的mysql module,以及如何将收集到的日志发送到Elasticsearch或Logstash。希望本文对您有所帮助。