UserParameter=mysql.get_status_variables[*], mysql -u"root" -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*], mysqladmin -u"root" -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*], mysql -u"root" -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*], mysql -u"root" -h"$1" -P"$2" -sN -e "SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*], mysql -u"root" -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*], mysql -u"root" -h"$1" -P"$2" -sNX -e "show slave status"
复制代码
保存好配置文件后,重启zabbix-agent:
[root@mysql-2 ~]# service zabbix-agent restart
Shutting down Zabbix agent: [确定]
Starting Zabbix agent: [确定]
[root@mysql-2 ~]#
######
在Zabbix服务器测试,验证能否获取被监控主机(192.168.168.131)的键值:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.131 -k net.tcp.listen[10050]
1
[root@centos8 ~]#
测试模板中,关于主从同步情况的键值:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.131 -k mysql.slave_status["localhost","3306"]
Waiting for master to send event192.168.168.130happy330660binlog.000001454mysqld-relay-bin.000005236binlog.000001Slave_IO_Running">YesSlave_SQL_Running">Yes00454570None0NoSeconds_Behind_Master">0No0015bb1908b-7fcc-11e8-9ee0-000c292b173a/var/lib/mysql/master.info0Slave has read all relay log; waiting for the slave I/O thread to update it864000
[root@centos8 ~]#
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.131 -k mysql.replication.discovery["localhost","3306"]
Waiting for master to send event192.168.168.130happy330660binlog.000001454mysqld-relay-bin.000005236binlog.000001Slave_IO_Running">YesSlave_SQL_Running">Yes00454570None0NoSeconds_Behind_Master">0No0015bb1908b-7fcc-11e8-9ee0-000c292b173a/var/lib/mysql/master.info0Slave has read all relay log; waiting for the slave I/O thread to update it864000
[root@centos8 ~]#
##################Zabbix添加被监控主机:(只监控从服务器)
配置》主机》创建主机: (主机名称无需与被监控主机的真实主机名一致;群组可以随便选;IP地址那里要输入被监控主机的IP地址;端口为10050)
模板Template DB MySQL 自动发现的监控项:
监控项名称: Replication: Slave IO Running 192.168.168.130
键值: mysql.slave_io_running["192.168.168.130"]
2022-9-8 10:55
模板Template DB MySQL 自动发现的触发器:(触发器的表达式要用到监控项中的键值)
触发器名称: MySQL: The slave I/O thread is not running
表达式: {MySQL_Slave:mysql.slave_io_running["192.168.168.130"].count(#1,"No",eq)}=1