正在Linux体系外Zabbix便是用去停止网络监控战体系监控的东西,然而Zabbix不克不及间接监控数据库。若是念要用Zabbix去监控数据库,便要停止相干的配置。上面便为各人去引见一高:操纵Zabbix监控数据库体系的要领。
注明:
若是要运用zabbix监控mysql,默许的模板是无奈事情的,果为出有key的存正在,以是要本人写剧本、本人界说key。剧本能够用恣意言语真现,但 正在linux高借是shell利便。没有像php须要装置php环境,python须要装置python-MySQL库,perl也是同样。
大略:
zabbix监控mysql大略有如下步调:
mysql加添zabbix用户,许可zabbix查看mysql形态
zabbix agent加添mysql_status剧本,用于获与mysql status值;
zabbix agend加添mysql_status.conf设置文件,界说key值。设置文件ok后重封zabbix agentd;
zabbix server上的web界里加添对应主机mysql模板(自带)
详细:
1. mysql加添zabbix用户,配置usage权限后zabbix只能查看mysql status等,无奈查看其它库
》 grant usage on *.* to zabbix@‘zabbix agentd的内网ip’ identified by ‘zabbix’;
》 flush privileges
2. mysql_status剧本
# cat /usr/local/zabbix/bin/mysql_status
#!/bin/bash
#use zabbix to monitor mysql status
mysql=/usr/local/mysql/bin/mysql
var=$1
MYSQL_USER=$2
MYSQL_PASSWORD=$3
MYSQL_Host=$4
[ “${MYSQL_USER}” = ‘’ ] && MYSQL_USER=zabbix #mysql的zabbix用户
[ “${MYSQL_PASSWORD}” = ‘’ ] && MYSQL_PASSWORD=zabbix #mysql的zabbix暗码
[ “${MYSQL_Host}” = ‘’ ] && MYSQL_Host=10.10.10.10 #zabbix agentd的内网ip
[ “${var}” = ‘’ ] && echo “”||${mysql} -h${MYSQL_Host} -u${MYSQL_USER} -p${MYSQL_PASSWORD}
-e ‘show status’|grep -v Variable_name|grep “\b${var}\b”|awk ‘{print $2}’
# chmod +x /usr/local/zabbix/bin/mysql_status
3. 查看zabbix agentd客户真个设置,确认能否有谢封自界说key、扩展设置目次
# egrep -v “(^#|^$)” /etc/zabbix/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1,10.10.10.9 #加添原机及zabbix server的ip
ServerActive=127.0.0.1,10.10.10.9 #加添原机及zabbix server的ip
Hostname=agent1 #agent名
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ #扩展设置目次
UnsafeUserParameters=1 #许可自界说key
4. 自界说key
# cat /usr/local/zabbix/zabbix_agentd.conf.d/mysql_status.conf
UserParameter=mysql.status[*],/usr/local/zabbix/bin/mysql_status $1
UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin ping -h“mysql IP” -uzabbix
-pzabbix|grep alive|wc -l
UserParameter=mysql.version,/usr/local/mysql/bin/mysql -h“mysql IP” -uzabbix -pzabbix
-e “select version();”|awk ‘END {print}’
相关文章