首先应该添加mysql的主机。
添加主机的步骤:
(1) 组态->主机->创建主机
主机名称一定要和zabbix-agent.Conf中的hostname保持一致。 可见名称无所谓 (2) 下面的ip地址一定要是你添加主机的IP端口默认是10050zabbix客户端的端口。
(3) 添加模板:模板简单来说就是你所要监控的类似项目都在一个模板里。
譬如我们这次需要监控linux系统的cpu和mysql。需要添加的模板是OS linux 和App mysql。 当然很正常的是添加完以后重新启动zabbix-agent 添加那个主机的状态是已启动。可用性是可用的。当你查看该主机的项目时看见添加的MYSQL模板的大部分的状态为不支持。可能原因是那三个key值没起作用。 - mysql.status
- mysql.ping
- mysql.version
跟这三个key值有关的文件在/etc/zabbix/zabbix_agentd.d里的userparameter_mysql.conf可以通过这个来设置。
# For all the following commands HOMEshould be set to the directory that has .my.cnf file with password information.
UserParameter=mysql.status,/etc/zabbix/scripts/monitor_mysql$1 $2 $3 $4
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 " wheretable_schema='$1'")$([[ "$2" = "all" || !"$2" ]] || echo "and table_name='$2'");" |HOME=/var/lib/zabbix mysql -N
UserParameter=mysql.ping,/usr/bin/mysqladmin-uroot -p199207 ping |grep alive |wc -l
UserParameter=mysql.version,mysql–V
上面的红色字迹是最主要的。
在/etc/zabbix /scripts/创建一个monitor
#!/bin/bash
mysql=$(which mysql)
var=$1
MYSQL_USER=$2
MYSQL_PASSWORD=$3
MYSQL_Host=$4
[ "${MYSQL_USER} " = '' ]&&MYSQL_USER=zabbix
[ "${MYSQL_PASSWORD}" = '' ]&&MYSQL_PASSWORD=199207
[ "${MYSQL_Host}" = '' ]&&MYSQL_Host=localhost
[ "${var}" = '' ] && echo "" ||${mysql} -u${MYSQL_USER}-p${MYSQL_PASSORD} -h${MYSQL_Host} -e'show status' |grep -v Variable_name |grep "\b${var}\b"|awk '{print$2}'
再重新启动zabbix-agent基本上可以检测到这三个key值了。。
|