17.ELK-filebeat模块功能收集mysql慢日志

filebeat模块功能收集mysql慢日志

1.先开启filebeat模块功能

vim filebeat.yml.bak

复制到filebeat.yml下
在这里插入图片描述

path: ${path.config}/modules.d/*.yml #${path.config}代表的是/etc/filebeat/这段路径
在这里插入图片描述

reload.enabled: true #打开载入功能
reload.period: 10s #载入的检测时间,每隔10 秒检测一次有哪些模块被开启了,检测到后就会把模块加载进去
在这里插入图片描述

2.列出模块信息

filebeat modules list

disabled是没开启的
在这里插入图片描述

3.开启指定的模块

1、修改文件名的方式来开启模块
cd /etc/filebeat/modules.d
mv mysql.yml.disabled mysql.yml
2、使用命令方法开启模块
filebeat modules enable mysql
3、查询模块是否开启成功
filebeat modules list

filebeat modules enable mysql

在这里插入图片描述
在这里插入图片描述

4.安装mysql 服务

yum install mariadb-server -y
在这里插入图片描述

5.启动数据库服务

systemctl start mariadb
在这里插入图片描述

6.初始化数据库

mysql_secure_installation

7.登录数据库

mysql -uroot -p

查看数据库

MariaDB [(none)]> show database

7.查看慢日志功能是否开启

>show variables like '%slow_query_log%';
0

8.开启慢日志功能,修改mysql配置文件

vim /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
slow_query_log=ON                                                     #开启慢日志功能
slow_query_log_file=/var/log/mariadb/slow.log          #定义一个日志的存放路径
long_query_time=1                                                      #查询时间多久才算是一个慢查询语句,这里定义为超过1秒就算

在这里插入图片描述

9.重启mysql 服务

systemctl restart mariadb

10.人为的产生慢日志

> select sleep(2) user,host from mysql.user;

查询之前先让他睡两秒再查

从mysql.user;中查询user 和host

在这里插入图片描述

10.查看慢日志

cat /var/log/mariadb/slow.log
在这里插入图片描述

11.修改模块配置文件

配置mysql模块相关信息
vim /etc/filebeat/modules.d/mysql.yml

- module: mysql

error:
enabled: true
var.paths: ["/var/log/mariadb/mariadb.log"]
slowlog:
enabled: true
var.paths: ["/var/log/mariadb/slow.log"]

在这里插入图片描述
在这里插入图片描述

12.编辑fielbeat配置文件

vim /etc/filebeat/filebeat.yml

当使用模块功能收集日志时,input就可以不写了,直接编辑output即可
在这里插入图片描述

13.刷新ES-head
在这里插入图片描述

14.kibana添加索引,展示日志信息,可看到慢查询的语句
在这里插入图片描述


版权声明:本文为Wangjiachenga原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。