zabbix从3.0开始就自带mysql的监控模板。
[root@mysql zabbix_agent]# cat zabbix_agentd.conf| grep Include ### Option: Include # Include= # Include=/usr/local/etc/zabbix_agentd.userparams.conf Include=/app/zabbix_agent/zabbix_agentd.conf.d/*.conf # Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf #我要把userparameter放在zabbix_agentd.conf.d目录下,首先要改agent的配置文件
[root@mysql zabbix_agentd.conf.d]# cat /app/zabbix_agent/zabbix_agentd zabbix_agentd zabbix_agentd.conf zabbix_agentd.conf.d/ [root@mysql zabbix_agentd.conf.d]# cat /app/zabbix_agent/zabbix_agentd.conf.d/mysql.conf UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/app/zabbix_agent/zabbix_agentd.conf.d 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=/app/zabbix_agent/zabbix_agentd.conf.d mysql -N' UserParameter=mysql.ping,HOME=/app/zabbix_agent/zabbix_agentd.conf.d mysqladmin ping | grep -c alive UserParameter=mysql.version,mysql -V #创建一个自定义监控项文件
[root@mysql zabbix_agentd.conf.d]# cat /app/zabbix_agent/zabbix_agentd.conf.d/.my.cnf [client] user=zabbix password=zabbix #创建一个zabbix访问本机mysql的账户
mysql> grant usage on *.* to zabbix@'localhost' identified by 'zabbix'; #创建一个账户
[root@mysql ~]# cd /app/zabbix_agent/ [root@mysql zabbix_agent]# ls zabbix_agentd zabbix_agentd.conf zabbix_agentd.conf.d [root@mysql zabbix_agent]# ./zabbix_agentd -c zabbix_agentd.conf [root@mysql zabbix_agent]# ps aux| grep zabbix zabbix 18645 0.0 0.1 84700 1376 ? S 01:02 0:00 ./zabbix_agentd -c zabbix_agentd.conf zabbix 18646 0.0 0.1 84700 1444 ? S 01:02 0:00 ./zabbix_agentd: collector [idle 1 sec] zabbix 18647 0.0 0.1 84700 1488 ? S 01:02 0:00 ./zabbix_agentd: listener #1 [waiting for connection] zabbix 18648 0.0 0.1 84700 1488 ? S 01:02 0:00 ./zabbix_agentd: listener #2 [waiting for connection] zabbix 18649 0.0 0.1 84700 1112 ? S 01:02 0:00 ./zabbix_agentd: listener #3 [waiting for connection] zabbix 18650 0.0 0.1 84700 1476 ? S 01:02 0:00 ./zabbix_agentd: active checks #1 [idle 1 sec] root 18654 0.0 0.0 112660 976 pts/1 S+ 01:02 0:00 grep --color=auto zabbix #重启zabbix_agent
[root@webmaster bin]# ./zabbix_get -s 10.224.32.170 -k "mysql.status[Uptime]" 16 #在server端测试是否正常
在zabbix中添加mysql监控模板,就会出现图表内容