1. 慢查询日志
MySQL 的慢查询日志是 MySQL 提供的一种日志记录,它用来记录在 MySQL 中响应时间超过阀值的语句,具体指运行时间超过 long_query_time
值的 SQL 语句,会被记录到慢查询日志中。long_query_time
的默认值为 10,意思是运行 10s 以上的语句就会被记录到日志中。
MySQL 的日志记录支持两种格式:
File
记录到日志文件中;Table
记录到mysql
库下面的slow-log
表中;
2. MySQL 配置
我们准备把慢查询日志记录到文件和表中,并且设置大于 3s 的查询都算是慢查询,则对 MySQL 进行如下配置:
1 | SET slow_query_log = ON |
3. Filebeat 配置
Filebeat 用来收集慢查询 slow-log
表产生的数据 CSV 文件。即 MySQL 主目录下的 mysql/slow_log.CSV
文件。
1 | filebeat: |
4. Logstash 配置
对于 Logstash 应配置过滤器,对于收集上来的 MySQL 慢查询日志进行过滤解析。具体配置如下:
1 | filter { |
可以测试一条超过指定时间的 SQL,通过 Kibana 查询,就可以看到收集上来的慢查询日志信息了。并且切出来了重要的字段信息。