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页面

 

 


posted @ 2020-09-22 16:23  鸾舞春秋  阅读(473)  评论(0编辑  收藏  举报