zabbix4.4监控mysql状态
第一步,先再mysql授权zabbix的登录用户
CREATE USER 'zabbix'@'%' IDENTIFIED BY '123456';
grant all privileges on *.* to 'zabbix'@'%';
flush privileges;
第二步,用户名和密码放在命令中对于以后的维护不好,所以我们在/etc/zabbix/下创建一个包含MySQL用户名和密码的配置文件“.my.cnf”,注意文件前面要带点,隐藏文件,内容如下:
[client]
user=zabbix
host=127.0.0.1
password=123456
然后进行测试验证,测试验证之前我重启了一下zabbix-agent,不重启会不会生效没试验,systemctl restart zabbix-agent
[root@centos001 zabbix]# HOME=/etc/zabbix/ mysqladmin ping
mysqld is alive
第三步,找到zabbix监控mysql的配置项模板,/usr/share/doc/zabbix-agent-4.4.10/userparameter_mysql.conf,拷贝到/etc/zabbix/zabbix_agentd.d/目录内
然后针对userparameter_mysql.conf进行修改,因为之前第二步加入了.my.cnf,所以配置文件里可以去掉-h"$1" -P"$2",加入HOME=/etc/zabbix/,修改后如下:
UserParameter=mysql.ping[*], HOME=/etc/zabbix mysqladmin ping
UserParameter=mysql.get_status_variables[*], HOME=/etc/zabbix mysql -sNX -e "show global status"
UserParameter=mysql.version[*], HOME=/etc/zabbix mysqladmin -s version
UserParameter=mysql.db.discovery[*], HOME=/etc/zabbix mysql -sN -e "show databases"
UserParameter=mysql.dbsize[*], HOME=/etc/zabbix mysql -sN -e "SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*], HOME=/etc/zabbix mysql -sNX -e "show slave status"
UserParameter=mysql.slave_status[*], HOME=/etc/zabbix mysql -sNX -e "show slave status"
第四步,确认zabbix-agent的配置文件zabbix_agentd.conf加入如下两项:
UnsafeUserParameters=1
Include=/etc/zabbix/zabbix_agentd.d/*.conf
然后重启systemctl restart zabbix-agent
第五步,登录zabbix web页面