Zabbix自动化监控——监控MySQL

2022-09-24 07:57:54

Zabbix自动化监控——监控MySQL

前面我们已经把监控端和被监控端都安装了zabbix3.4,今天我们进行个实战,监控数据库MySQL的运行。


被监控端安装MySQL5.7,前面的文章中有教程,小伙伴们找一下。

1、设置授权用户和密码,这样zabbix-server才能用这个身份登录数据库监听数据。

[root@zabbix-agent-none1 ~]# vim /etc/my.cnf
在末行插入以下内容:
[client]
default-character-set=utf8
host=localhost
user='zabbix'
password='Yuanwei@123'

2、进入数据库授权用户和密码

[root@zabbix-agent-none1 ~]# mysql -uroot -p
Enter password:    //密码为Yuanwei@123
mysql>  grant all privileges on *.* to zabbix@localhost identified by 'Yuanwei@123';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;  
Query OK, 0 rows affected (0.00 sec)

mysql> \q
Bye

3、定义MySQL监控变量

[root@zabbix-agent-none1 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
末行添加如下内容:
#监控MySQL运行状态
UserParameter=mysql.ping,/usr/bin/mysqladmin ping|grep alive|wc -l

重启zabbix-agent

[root@zabbix-agent-none1 ~]# systemctl restart zabbix-agent

4、在被监控端上进行定义参数的测试

[root@zabbix-server ~]# zabbix_get -s 10.8.165.27 -p 10050 -k "mysql.ping"
1    //测试是否能取到数值

5、来到监控端的WEB界面,创建模板

在这里插入图片描述

6、在刚添加的模板中添加监控项

在这里插入图片描述

7、将模板关联到被监控端的主机上

在这里插入图片描述

8、点击检测中,最新数据,应用被监控的主机

在这里插入图片描述

9、此时监测的数据已经出现了。

在这里插入图片描述

10、试着将其他的监控参数定义好,并实行监控

#监控MySQL版本
UserParameter=mysql.version,mysql -V | cut -f6 -d" " | sed 's/,//'
#监控MySQL进程数
UserParameter=mysql.process,ps -ef|grep "mysql"|grep -v "grep"|wc -l
#监控MySQL运行状态
UserParameter=mysql.ping,/usr/bin/mysqladmin ping|grep alive|wc -l
#监控MySQL运行时间
UserParameter=mysql.uptime,/usr/bin/mysqladmin extended-status|grep Uptime|head -1|cut -f3 -d"|"
#监控MySQL的连接数
UserParameter=mysql.Threads.connected,/usr/bin/mysqladmin extended-status|grep Threads_connected|head -1|cut -f3 -d"|"
#监控MySQL活动状态的连接数
UserParameter=mysql.Threads.running,/usr/bin/mysqladmin extended-status|grep Threads_running|head -1|cut -f3 -d"|"
#监控MySQL客户端异常中断的数值
UserParameter=mysql.aborted.clients,/usr/bin/mysqladmin extended-status|grep Aborted_clients|head -1|cut -f3 -d"|"
#监控MySQL主从状态
UserParameter=mysql.Slave.status,/usr/bin/mysqladmin extended-status|grep Slave_runnin | grep -o ON |wc -l
#监控MySQL每秒钟获得的查询量
UserParameter=mysql.questions,/usr/bin/mysqladmin extended-status | grep Questions | head -1 | cut -f3 -d"|" 
#监控MySQL从数据文件里取数据的次数
UserParameter=mysql.read.rnd,/usr/bin/mysqladmin extended-status|grep Handler_read_rnd_next|head -1 | cut -f3 -d"|"  
#监控MySQL往数据文件里写数据的次数
UserParameter=mysql.write.rnd,/usr/bin/mysqladmin extended-status|grep Handler_write|head -1|cut -f3 -d"|" 
#监控MySQL内部COMMIT命令的个数
UserParameter=mysql.commit,/usr/bin/mysqladmin extended-status|grep Handler_commit| head -1 | cut -f3 -d"|" 
#监控MySQL请求从一张表中删除行的次数。
UserParameter=mysql.delete,/usr/bin/mysqladmin extended-status|grep Handler_delete| head -1 | cut -f3 -d"|" 
#监控MySQL表缓存没有命中的数量
UserParameter=mysql.Opened.tables,/usr/bin/mysqladmin extended-status|grep Opened_tables| head -1 | cut -f3 -d"|" 
#监控MySQL没有使用索引查询数量
UserParameter=mysql.slowqueries,/usr/bin/mysqladmin extended-status|grep Slow_queries|cut -f3 -d"|"
#监控MySQL执行全表搜索查询的数量
UserParameter=mysql.select.scan,/usr/bin/mysqladmin extended-status|grep Select_scan|cut -f3 -d"|"

11、达到如下效果即可

在这里插入图片描述
各位小伙伴们,今天的学习就分享到这里咯,你学废了吗?欢迎大家留言评论呦。

Alt


  • 作者:一荤两素
  • 原文链接:https://blog.csdn.net/qq_45939993/article/details/116853593
    更新时间:2022-09-24 07:57:54