首先需要修改Agent端的配置文件
vim /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf //将这条参数的#去掉注释
mkdir /usr/local/zabbix/scripts
vim /usr/local/zabbix/scripts/.my.cnf //这个用户是zabbix获取数据的用户,需要授权登陆MySQL
[mysql]
host=localhost
user=zabbix
password=123456
socket=/tmp/mysql.sock
[mysqladmin]
host=localhost
user=zabbix
password=123456
socket=/tmp/mysql.sock
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'
UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/var/lib/zabbix mysql -N'
UserParameter=mysql.ping,HOME=/usr/local/zabbix/scripts/ mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V
第一个是.my.cnf的路径,第二个命令需要环境变量,如果没有就把这个命令软连接一下
ln -s /usr/local/mysql/bin/mysqladmin /usr/local/bin/
数据库创建zabbix用户,并授权登陆
mysql> create user 'zabbix'@'localhost' identified by '123456';
mysql> grant select on *.* to 'zabbix'@'localhost';
mysql> flush privileges;
重启agent客户端,再到zabbix监控图上看有没有值,如果没有值看主机监控项信息处查看提示信息,根据信息去解决问题,如果配置没问题,这里会显示为已启用