zabbix怎样自定义mysql监控项并触发告警
Posted 雅冰石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix怎样自定义mysql监控项并触发告警相关的知识,希望对你有一定的参考价值。
比如我想实现,假如有元数据锁Waiting for table metadata lock,则触发告警。
1 编写监控脚本
cd /opt/zabbix/scripts/
vi get_metalock.sh
添加如下内容:
#!/bin/bash
rm -rf /opt/zabbix/scripts/get_metalock.log
mysql -uMonitorUser -p密码 -e "
SELECT * FROM information_schema.processlist WHERE state='Waiting for table metadata lock';
quit" >> /opt/zabbix/scripts/get_metalock.log
v1=`cat /opt/zabbix/scripts/get_metalock.log |wc -l`
if [ $v1 -eq 0 ];then
echo 0
else
echo 1
fi
#给脚本授权
chmod 755 /opt/zabbix/scripts/get_metalock.sh
2 创建配置文件
在/opt/zabbix/etc/zabbix_agentd.conf里定义的Include路径下创建配置文件。
示例:
Include=/opt/zabbix/etc/zabbix_agentd.conf.d/*.conf
则,
cd /opt/zabbix/etc/zabbix_agentd.conf.d/
新建一个以userparameter开头的,名字自定义的配置文件,示例:
vi userparameter_get_metalock.conf
添加如下内容:
UserParameter=get_metalock,sh /opt/zabbix/scripts/get_metalock.sh
#重启zabbix agent
systemctl restart zabbix_agentd
3 添加监控项
在现有mysql模板里创建监控项
配置-模板-监控项-创建监控项
键值和配置文件里定义的保持一致(UserParameter=后面的值)。
4 创建触发器
选择刚建的监控项:
这里设置last结果=1:
最终,自动生成如下结果:
自定义‘严重性’:
以上是关于zabbix怎样自定义mysql监控项并触发告警的主要内容,如果未能解决你的问题,请参考以下文章