MySQL数据库之Zabbix监控mysql配置及故障告警配置
小标 2018-09-05 来源 : 阅读 1954 评论 0

摘要:本文主要向大家介绍了MySQL数据库之Zabbix监控mysql配置及故障告警配置 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

本文主要向大家介绍了MySQL数据库之Zabbix监控mysql配置及故障告警配置 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

本文主要介绍zabbix监控mysql的配置,包含使用zabbix自带模板监控mysql相关信息及自定义key监控mysql同步情况。同时介绍了触发器的创建及zabbix通过邮件方式告警配置。
 
一、配置自带模板监控mysql
1.提供配置文件模板
文件位置在源码包/usr/local/src/zabbix-3.0.4/conf/zabbix_agentd/userparameter_mysql.conf
1
#cp/usr/local/src/zabbix-3.0.4/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d
2.修改模板文件
1
#sed -i ‘s@/var/lib/zabbix@/usr/local/zabbix/etc@g‘ /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
修改后的文件
UserParameter=mysql.status[*],echo "show global status where Variable_name=‘$1‘;" | HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql -N | awk ‘{print $$2}‘
UserParameter=mysql.size[*],bash -c ‘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 " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql -N‘
 
UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysqladmin ping | grep -c alive
UserParameter=mysql.version,/usr/local/mysql/bin/mysql -V
3.提供agent连数据库的文件

#vi /usr/local/zabbix/etc/.my.cnf
[mysql]
host=localhost
user=zabbixagent
password=123456
socket=/tmp/mysql.sock
[mysqladmin]
host=localhost
user=zabbixagent
password=123456
socket=/tmp/mysql.sock
4.创建授权账号

mysql> GRANT USAGE,PROCESS,REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO ‘zabbixagent‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
mysql> flush privileges;
5.修改zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
重启服务
6.在web界面关联mysql模板
技术分享

7.最终效果
技术分享

二、自定义key监控slave
1.提供监控slave的配置文件
#cat/usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql_slave.conf
UserParameter=mysql.slave.Seconds_Behind_Master,echo "show slave status\G"| HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql |grep "Seconds_Behind_Master"|awk ‘{print $2}‘
UserParameter=mysql.slave.Slave_IO_Running,echo "show slave status\G"| HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql |grep "Slave_IO_Running"|awk ‘{print $2}‘
UserParameter=mysql.slave.Slave_SQL_Running,echo "show slave status\G"|HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql |grep "\"|awk ‘{print $2}‘
2.重启agent服务
# service zabbix_agentd restart
3.命令测试key获取的值
# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.16 -k "mysql.slave.Seconds_Behind_Master"
# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.16 -k "mysql.slave.Slave_IO_Running"
# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.16 -k "mysql.slave.Slave_SQL_Running"
以上命令均返回正常值说明自定义key成功
4.在web界面配置监控项
创建slave延迟items
技术分享

创建slave io线程items

技术分享

创建slave sql线程items

技术分享

三、主从同步延迟报警配置
1.定义触发器
创建主从延迟触发器
技术分享

2.定义action

技术分享

技术分享

技术分享

3.定义邮件发送用户

修改报警媒介类型的邮件服务器地址

 

技术分享

用户关联到报警媒介并设置邮件账号

技术分享

技术分享

查看邮件

技术分享

邮件具体内容

技术分享

四、主从同步状态报警配置
1.创建主从同步状态触发器
定义io thread状态
技术分享

技术分享

定义sql thread状态

技术分享

2.测试
在slave上分别停止io线程和sql线程
模拟停止io线程
mysql> stop slave io_thread;
技术分享

同时告警邮件发出

技术分享

恢复io线程
mysql> start slave io_thread;
故障恢复通知邮件
技术分享

模拟停止sql线程
mysql> stop slave sql_thread;
技术分享

同时告警邮件发出

技术分享

恢复sql线程
mysql> start slave sql_thread;
技术分享

故障恢复通知邮件

技术分享    

以上就介绍了MySQL的相关知识,希望对MySQL有兴趣的朋友有所帮助。了解更多内容,请关注职坐标数据库MySQL频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved