共计 1959 个字符,预计需要花费 5 分钟才能阅读完成。
大家都知道,zabbix 自定义 key 的功能十分方便,监控任意值都是特别的方便,安装好了之后,如果你需要监控 MySQL,用默认的模板是无法工作的,因为没有 key 的存在,所以要自己写一个脚本去实现 key。当然也可以用 https://www.zabbix.com/wiki/howto/monitor/db/mysql/extensive_mysql_monitoring_including_replication 这里的 php 脚本,如果想监控主从同步状态,原理相同,此处不写了。
脚本可以用任意语言写,但是在 linux 下,还是 shell 最方便,用 php,需要安装 php 环境,用 Python,需要安装 python-MySQL 库,用 perl 也是如此,所以选择了 bash。bash 脚本提供了用户名密码主机在 web 界面配置的功能,这里不写了,有问题的可以留言。
脚本位置 zabbix-agent,脚本,配置文件 ok 后重启服务,web 上面添加对应主机 mysql 模板(自带)
shell#cat /etc/zabbix/scripts/monitor_mysql
#!/bin/bash
#author:itnihao
#mail:itnihao@qq.com
#date 2013-12-18
#version v1.0
#function:use zabbix monitor mysql status
mysql=$(which mysql)
# 注意,如果你的 mysql 是非标准安装,请写 mysql 的绝对路径
#mysql=/usr/bin/mysql
var=$1
MYSQL_USER=$2
MYSQL_PASSWORD=$3
MYSQL_Host=$4
[“${MYSQL_USER}” = ” ] && MYSQL_USER=zabbix
[“${MYSQL_PASSWORD}” = ” ] && MYSQL_PASSWORD=zabbix
[“${MYSQL_Host}” = ” ] && MYSQL_Host=localhost
[“${var}” = ” ] && echo “”||${mysql} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -h${MYSQL_Host} -e ‘show status’|grep -v Variable_name|grep “\b${var}\b”|awk ‘{print $2}’
shell#egrep -v “(^#|^$)” /etc/zabbix/zabbix_agentd.conf
#Server= 这个参数,这里不详细的写了,主要改以下的参数
Include=/etc/zabbix/zabbix_agentd.conf.d/ #配置文件路径
UnsafeUserParameters=1 #允许特殊字符
shell#cat /etc/zabbix/zabbix_agentd.conf.d/mysql_status.conf
UserParameter=mysql.status[*],/etc/zabbix/scripts/monitor_mysql $1
UserParameter=mysql.ping,/usr/bin/mysqladmin -uzabbix -pzabbix ping|grep alive|wc -l
UserParameter=mysql.version,mysql -V | cut -f6 -d” ” | sed ‘s/,//’
上面步骤好了之后用 zabbix_get 测试
shell#zabbix_get -s 127.0.0.1 -k mysql.status[Uptime]
有数据即成功创建了可用 key
ZABBIX 的详细介绍 :请点这里
ZABBIX 的下载地址 :请点这里
相关阅读:
安装部署分布式监控系统 Zabbix 2.06 http://www.linuxidc.com/Linux/2013-07/86942.htm
《安装部署分布式监控系统 Zabbix 2.06》http://www.linuxidc.com/Linux/2013-07/86942.htm
CentOS 6.3 下 Zabbix 安装部署 http://www.linuxidc.com/Linux/2013-05/83786.htm
Zabbix 分布式监控系统实践 http://www.linuxidc.com/Linux/2013-06/85758.htm
CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm
CentOS 6.3 下 Zabbix 监控 MySQL 数据库参数 http://www.linuxidc.com/Linux/2013-05/84800.htm