环境:centos 6.5,mysql 5.6,zabbix 2.4.4

1、在mysql中添加zabbix用户

mysql -uroot -p -e "GRANT USAGE ON *.* TO 'zabbix'@'127.0.0.1' IDENTIFIED BY 'zabbix'";
mysql -uroot -p -e "GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix'";
mysql -uroot -p -e"flush privileges"

2、新建.my.cnf文件

vim /usr/local/zabbix/etc/.my.cnf
[mysql]
host=127.0.0.1
user=zabbix
password=zabbix
socket=/tmp/mysql.sock
[mysqladmin]
host=127.0.0.1
user=zabbix
password=zabbix
socket=/tmp/mysql.sock

3、复制并修改mysql的key值文件,将HOME指定到.my.cnf文件所在文件的路径,mysql和mysqladmin命令使用绝对路径

cp /root/zabbix-2.4.5/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql -N | awk '{print $$2}'
UserParameter=mysql.size[*],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=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql -N
UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysqladmin ping | grep -c alive
UserParameter=mysql.version,/usr/local/mysql/bin/mysql -V

4、修改agentd配置文件

vim /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=192.168.100.161
ServerActive=192.168.100.161
Hostname=Zabbix server
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
EnableRemoteCommands=1
UnsafeUserParameters=1

5、使用zabbix_get获取key值,zabbix_get在zabbix server上使用有返回值,在zabbix agent使用无返回值,要查看agent的key值,可以把127.0.0.1改为agent的ip或主机名

zabbix_get -s 127.0.0.1 -p 10050 -k "mysql.version"

6、添加mysql模板

使用zabbix 2.4 监控mysql_监控

7、查看数据

使用zabbix 2.4 监控mysql_新建_02