ZABBIX监控mysql主从状态
模板如下
<zabbix_export>
<version>3.4</version>
<date>2018-11-30T08:28:28Z</date>
<groups>
<group>
<name>自定义</name>
</group>
</groups>
<templates>
<template>
<template>Mysql-slave-info</template>
<name>Mysql-slave-info</name>
<description/>
<groups>
<group>
<name>自定义</name>
</group>
</groups>
<applications/>
<items>
<item>
<name>Mysql-Slave 读取错误数</name>
<type>0</type>
<snmp_community/>
<snmp_oid/>
<key>slave_status[Last_Errno]</key>
<delay>30s</delay>
<history>7d</history>
<trends>365d</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<params/>
<ipmi_sensor/>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications/>
<valuemap/>
<logtimefmt/>
<preprocessing/>
<jmx_endpoint/>
<master_item/>
</item>
<item>
<name>Mysql-Slave 慢多少秒</name>
<type>0</type>
<snmp_community/>
<snmp_oid/>
<key>slave_status[Seconds_Behind_Master]</key>
<delay>30s</delay>
<history>7d</history>
<trends>365d</trends>
<status>0</status>
<value_type>0</value_type>
<allowed_hosts/>
<units/>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<params/>
<ipmi_sensor/>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications/>
<valuemap/>
<logtimefmt/>
<preprocessing/>
<jmx_endpoint/>
<master_item/>
</item>
<item>
<name>Mysql-Slave 跳过错误数</name>
<type>0</type>
<snmp_community/>
<snmp_oid/>
<key>slave_status[Skip_Counter]</key>
<delay>30s</delay>
<history>7d</history>
<trends>365d</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<params/>
<ipmi_sensor/>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications/>
<valuemap/>
<logtimefmt/>
<preprocessing/>
<jmx_endpoint/>
<master_item/>
</item>
<item>
<name>Mysql-Slave IO线程状态</name>
<type>0</type>
<snmp_community/>
<snmp_oid/>
<key>slave_status[Slave_IO_Running]</key>
<delay>30s</delay>
<history>7d</history>
<trends>365d</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<params/>
<ipmi_sensor/>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications/>
<valuemap/>
<logtimefmt/>
<preprocessing/>
<jmx_endpoint/>
<master_item/>
</item>
<item>
<name>Mysql-Slave sql线程状态</name>
<type>0</type>
<snmp_community/>
<snmp_oid/>
<key>slave_status[Slave_SQL_Running]</key>
<delay>30s</delay>
<history>7d</history>
<trends>365d</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<params/>
<ipmi_sensor/>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications/>
<valuemap/>
<logtimefmt/>
<preprocessing/>
<jmx_endpoint/>
<master_item/>
</item>
</items>
<discovery_rules/>
<httptests/>
<macros/>
<templates/>
<screens/>
</template>
</templates>
<triggers>
<trigger>
<expression>
{Mysql-slave-info:slave_status[Slave_IO_Running].last()}=1
</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name>Mysql-Slave IO线程中断</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>3</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger>
<trigger>
<expression>
{Mysql-slave-info:slave_status[Slave_SQL_Running].last()}=1
</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name>Mysql-Slave Sql线程中断</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>3</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger>
<trigger>
<expression>
{Mysql-slave-info:slave_status[Seconds_Behind_Master].last()}>600
</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name>Mysql-Slave 慢超过600秒</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>3</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger>
<trigger>
<expression>
{Mysql-slave-info:slave_status[Skip_Counter].last()}=1
</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name>Mysql-Slave 读取错误数超过0个</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>3</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger>
<trigger>
<expression>
{Mysql-slave-info:slave_status[Skip_Counter].last()}=1
</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name>Mysql-Slave 跳过错误数超过0个</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>3</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger>
</triggers>
</zabbix_export>
如果mysql是源码安装,而且是环境变量的mysql命令,需要将脚本里mysql写成绝对路径
#vim mysql-slave.sh
#!/bin/bash
#监控mysql从状态脚本 commnd() {
/usr/local/mysql/bin/mysql -uroot -p'123456' -e "show slave status\G;" 2>/dev/null | grep -w $1 | awk -F': ' '{print $2}'
} if [[ $1 == "Slave_IO_Running" ]];then
a=`commnd Slave_IO_Running`
#判断是否为Yes,如果是Yes,输出0,否则输出1,触发报警
[[ "$a" == "Yes" ]] && echo 0 || echo 1
elif [[ $1 == "Slave_SQL_Running" ]];then
a=`commnd Slave_SQL_Running`
[[ "$a" == "Yes" ]] && echo 0 || echo 1
elif [[ $1 == "Seconds_Behind_Master" ]];then
a=`commnd Seconds_Behind_Master`
b=`cat /tmp/sbm.tmp`
if [[ $a -ge 600 ]] && [[ $b -ge 600 ]];then
echo $a
else
echo 0
fi
echo "$a" > /tmp/sbm.tmp
elif [[ $1 == "Last_Errno" ]];then
a=`commnd Last_Errno`
[[ $a -eq 0 ]] && echo 0 || echo 1
elif [[ $1 == "Skip_Counter" ]];then
a=`commnd Skip_Counter`
[[ $a -eq 0 ]] && echo 0 || echo 1
else
echo "Slave_IO_Running | Slave_SQL_Running | Seconds_Behind_Master | Last_Errno | Skip_Counter"
fi
#vim zabbix.agent.conf
UserParameter=slave_status[*],/etc/zabbix/script/mysql-slave.sh $1
验证
# zabbix_get -s 10.0.0.52(监控的主机) -k'slave_status[Slave_IO_Running]'
web界面创建监控项
web界面创建触发值
依次创建监控项跟触发值
键值:
触发器:
图:为0则是正常的,Seconds_Behind_Master是延迟多少秒。超过600也就是10分钟会报警
ZABBIX监控mysql主从状态的更多相关文章
- Zabbix监控mysql主从状态并实现报警
一.环境需求 主机A: zabbix-server 主机B: zabbix-agent/mysql从 二.主机B操作 1.添加监控脚本 vim /data/zabbix/mysql_slave_che ...
- zabbix监控mysql主从同步和延迟
https://blog.csdn.net/natmazz/article/details/90581490 https://www.cnblogs.com/01-single/p/10602610. ...
- zabbix 监控mysql主从
这里记录了,每次都百度查询多次. zabbix默认包含mysql监控 其中包含 mysql的基本状态监控 MySQL主从监控需要结合自定义 1)目前项目需求 只对 Slave_IO_Running . ...
- zabbix监控mysql主从
最近在公司搭建了zabbix监控系统,现在需要用zabbix来监控mysql的主从同步情况 现在说一下配置的详细步骤: 1.首先给mysql分配一个监控的账号: mysql> grant rep ...
- [zabbix] zabbix检测mysql主从状态
环境说明: zabbix-proxy 172.16.2.95(zabbix-server同理) zabbix-agent111 172.16.2.111 mysql从机 1.mysql从机添加用户权限 ...
- Zabbix监控mysql主从复制状态
原理 mysql slave show slave status\G 在输出信息中查看I/O线程和SQL线程的状态值(YES为正常,NO为错误) Slave_IO_Running: Yes Slave ...
- nagios监控mysql主从状态
看了网上很多mysql主从监控的,大部分都是shell的,就算是python的,也是在python下跑shell语句.我写了一个python的监控脚本,用到了mysqldb这个包.脚本如下: [roo ...
- Zabbix监控mysql主从(二)
二.Zabbix-server-web端配置 1:创建一个监控项作为mysql主从 2.创建mysql主从监控图形 三.创建触发器,实现主从异常报警 测试: [root@mysql-slave ...
- 毕业设计之zabbix 之mysql主从状态的监控
建立监控脚本在自定义的位置 /usr/local/zabbix/script/ [root@mysql.quan.bbs script]$pwd /usr/local/zabbix/script [r ...
随机推荐
- Linux设备驱动之IIO子系统——IIO框架及IIO数据结构
由于需要对ADC进行驱动设计,因此学习了一下Linux驱动的IIO子系统.本文翻译自<Linux Device Drivers Development >--John Madieu,本人水 ...
- [九]基础数据类型之Boolean详解
相对于其他的基础性 类型Boolean是很简单的 Boolean 基本数据类型boolean 的包装类 Boolean 类型的对象包含一个 boolean 类型的字段 属性简介 属性也比较 ...
- XML——对XML文档的创建与增删改查
一.创建的第一种方式 //1.创建一个XML文档 XmlDocument doc = new XmlDocument(); //2.创建第一行描述信息 XmlDeclaration dec = do ...
- C#_Lamada帮助类
using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; us ...
- 我的 OneNote 入门心得
Microsoft OneNote 是老牌笔记类软件,在如今百花齐放的笔记类市场仍然有众多死忠粉的拥护,比如我.也试过其它笔记类软件,近年推出的 Notion 就不错,但仍然无法取代 OneNote ...
- WordPress在Centos下Apache设置伪静态方法
1.设置httpd.conf文件 1.1 添加或取消注释这段代码 LoadModule rewrite_module modules/mod_rewrite.so 1.2 运行httpd -M查看这个 ...
- MySQL5.7开多实例指导
一.mysql多实例原理 在一台服务器上,mysql服务开启多个不同的端口,运行多个服务进程.他们通过不同的 socket来监听不同的端口互不干扰地运行. 二.开发环境 ubuntu16.04.5LT ...
- @RequestParam Map<String, Object> paramMap
@RequestParam 请求方式 url = "/edit?device=${device}&type=${type}" Controller @RequestMapp ...
- 小tips:path的join和resolve的使用区别
1.连接路径:path.join([path1][, path2][, ...]) path.join()方法可以连接任意多个路径字符串.要连接的多个路径可做为参数传入. path.join()方法在 ...
- 超级强大的socket工具ss,替代netstat
1.结论:ss 命令比netstat 更强大,提供功能更多,并且性能更高. 2.显示当前系统的socket占用总体宏观情况. ss -s 当已创建的socket数过多时,已经说明系统配置存在问题. 3 ...