zabbix监控mysql

首先应该添加mysql的主机。

添加主机的步骤:

(1)      组态->主机->创建主机

主机名称一定要和zabbix-agent.Conf中的hostname保持一致。

可见名称无所谓

(2)      下面的ip地址一定要是你添加主机的IP端口默认是10050zabbix客户端的端口。

(3)      添加模板:模板简单来说就是你所要监控的类似项目都在一个模板里。

譬如我们这次需要监控linux系统的cpumysql。需要添加的模板是OS linux App mysql

当然很正常的是添加完以后重新启动zabbix-agent 添加那个主机的状态是已启动。可用性是可用的。当你查看该主机的项目时看见添加的MYSQL模板的大部分的状态为不支持。可能原因是那三个key值没起作用。

  1. mysql.status

  2.  mysql.ping

  3. 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�CV

上面的红色字迹是最主要的。

/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值了。。

 


本文出自 “黎明前的黑暗” 博客,谢绝转载!

你可能感兴趣的:(zabbix监控mysql)