Zabbix监控mysql配置及故障告警配置

本文主要介绍zabbix监控mysql的配置,包含使用zabbix自带模板监控mysql相关信息及自定义key监控mysql同步情况。同时介绍了触发器的创建及zabbix通过邮件方式告警配置。


一、配置自带模板监控mysql

1.提供配置文件模板

文件位置在源码包/usr/local/src/zabbix-3.0.4/conf/zabbix_agentd/userparameter_mysql.conf

#cp/usr/local/src/zabbix-3.0.4/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d

2.修改模板文件

#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模板

wKiom1fZNJXAsQIGAABZkdPa1Xg131.png-wh_50

7.最终效果

wKioL1fZNMKTR9FSAADa92Wcfz8319.png-wh_50

二、自定义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 "\<Slave_SQL_Running\>"|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

wKiom1fZNUCTkrC3AACBIV4okzQ200.png-wh_50

创建slave io线程items

wKioL1fZNUDBQgXxAACBo_iKV8A160.png-wh_50

创建slave sql线程items

wKioL1fZNUDwLB0RAACCXplOhwY819.png-wh_50

三、主从同步延迟报警配置

1.定义触发器

创建主从延迟触发器

wKiom1fZNjqTq4WxAAB0CmArayg906.png-wh_50

2.定义action

wKiom1fZNjqiAcf_AABphb6uO6w151.png-wh_50

wKioL1fZNjuD5HOxAABE1DJFKTk371.png-wh_50

wKioL1fZNjuhqWpWAAB2gSm6NSU579.png-wh_50

3.定义邮件发送用户

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

wKiom1fZOCuzrxoSAABaKIKDWJM099.png-wh_50

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

wKiom1fZOCuAEmp5AABJjOlyrMY516.png-wh_50

wKioL1fZOCvgjmfoAAA2dRYa7jc292.png-wh_50

查看邮件

wKiom1fZNjzTSE9zAABwX1nHHbo761.png-wh_50

邮件具体内容

wKioL1fZNjzxCtEjAABl7rNYHGY504.png-wh_50

四、主从同步状态报警配置

1.创建主从同步状态触发器

定义io thread状态

wKioL1fZOT_wZFU4AACFD-XS4mg360.png-wh_50

wKioL1fZOUCwEVQEAABvHxPQ0gI363.png-wh_50

定义sql thread状态

wKiom1fZOUDyIH96AABucucu-jQ062.png-wh_50

2.测试

在slave上分别停止io线程和sql线程

模拟停止io线程

mysql> stop slave io_thread;

wKioL1fZOUGweuiMAABVSIsN5xo650.png-wh_50

同时告警邮件发出

wKiom1fZOUHg87_YAABoIEst2_g351.png-wh_50

恢复io线程

mysql> start slave io_thread;

故障恢复通知邮件

wKioL1fZOUKgbi8qAABZAVZbNQc456.png-wh_50

模拟停止sql线程

mysql> stop slave sql_thread;

wKiom1fZOULBOgl-AABpW6S4uyU032.png-wh_50

同时告警邮件发出

wKioL1fZOUKysDDjAABnK8seoqQ072.png-wh_50

恢复sql线程

mysql> start slave sql_thread;

wKiom1fZOUOSrHzgAAB7aF42R2Q189.png-wh_50

故障恢复通知邮件

wKioL1fZOUOj1_WbAABnLXMh_SY151.png-wh_50


本文出自 “linux之路” 博客,请务必保留此出处http://hnr520.blog.51cto.com/4484939/1852838

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
一、inotify简介 inotify是Linux内核2.6.13 (June 18, 2005)版本新增的一个子系统(API),它提供了一种监控文件系统(基于inode的)事件的机制,可以监控文件系统的变化如文件修改、新增、删除等,并可以将相应的事件通知给应用程序。该机制由著名的桌面搜索引擎项目beagle引入用于替代此前具有类似功能但存在诸多缺陷的dnotify。 inotify既可以监控文件,也可以监控目录。当监控目录时,它可以同时监控目录及目录中的各子目录及文件的。此外,inotify 使用文件描
vSphere部署系列之11——vCenter权限管理 在前面的博文章节中已完成了整个vCenter运行环境的总体部署,接下来是有关运维方面的一些研究。这一章先讲一讲vCenter中的权限设置。 在vSphere中,权限由清单对象的用户或组和分配的角色组成,例如虚拟机或 ESX/ESXi主机。权限授予用户执行对象(向其分配了角色)上的角色所指定的活动的权限。 默认情况下,在全新安装中,只有用户administrator@vsphere.local 才具有vCenter Single Sign-On 服务器
DNS ( Domain Name System ,域名系统),因特网上作为域名和 IP 地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 IP 数串。通过主机名,最终得到该主机名对应的 IP 地址的过程叫做域名解析(或主机名解析)。 DNS 协议运行在 UDP 协议之上,使用端口号 53 。 主机名到 IP 地址的映射有两种方式: 1 )静态映射,每台设备上都配置主机到 IP 地址的映射,各设备独立维护自己的映射表,而且只供本设备使用; 2 )动态映射,建立
如题所示,生产服务器每天会产生很大的日志文件,为了不使硬盘被日志文件塞满,因此需要定期清理日志文件。这时我们可以写一个shell脚本用来清理某个路径下45天以前的日志,然后再设置一个定时任务每周定时执行这个脚本即可 (1)清理某个路径下的日志脚本delOldLogs.sh: [root@prx01cleanlog]#vim/usr/local/cleanlog/delOldLogs.sh #!/bin/sh#删除输入路径下的修改时间在45天以前的日志文件find$1-mtime+45-name"*log*
软 RAID 是在操作系统层面进行的 RAID 配置,也能对数据进行保护,实际生产环境中使用存储中磁盘阵列和硬 RAID 实现冗余的情况比较多。 此实验在虚拟机中完成,在系统中添加 5 块磁盘,每块磁盘 512MB ,利用这 5 块磁盘做 RAID5 实验 ,模拟磁盘损坏及替换磁盘,模拟停止 RAID 阵列及启动阵列,阵列中的数据情况。 1. 添加磁盘 ,每块磁盘 512MB ,共 5 块,如图 1 所示。 图 1 2. 启动系统并查看磁盘 ll /dev/sd* 出现 /dev/sdb,/dev/sdc
上一篇给大家分享了监控Nginx《 项目实战:创建模板,监控Nginx状态、服务信息 》,这里跟大家分享一下监控MySQL的记录,如果你没有安装MySQL可以参考我另一篇博文《 ubuntu安装配置LNMP 》,Let's go! Zabbix 监控 MySQL 数据库 一、客户端 Ubuntu 普通用户登录 1、 登陆 MySQL $ mysql -uroot -p Enter password: Welcome to the MySQL monitor.Commands end with ; or \
认真的测试过网上的大多数文章和版本,真正能一次性测试通过的文章太少了,需要反复的推敲,反复的查阅资料,才能真正的测试成功,所以,在此背景下,总结了Rsync,加上自己的理解分享出来; 1、 原理篇 Rsync,故名思议,是一个远程数据同步工具,可以镜像整个目录树和文件系统,也可以保持源文件的权限,时间和软硬链接,可以优化数据,文件重复数据的删除,也可以在LAN/WAN之间快速的同步多台主机的数据,这主要得益于Rsync的压缩和Rsync的核心算法,其算法,是本地和远程两台主机之间的文件达到同步并保持一致,
实战自制Linux操作系统 本文主要通过裁剪现有Linux系统,打造一个属于自己的Linux小系统,让其能够装载网卡驱动,并配置IP地址,实现网络功能。 自制linux系统 步骤概述: 1 、新建一个硬盘 2 、在该新硬盘上新建两个分区,一个当boot分区,一个当/分区 3 、格式化并且挂载两个分区 4 、安装grub至目标磁盘 5 、为grub提供配置文件 6 、复制内核文件和initrd文件 7 、创建目标主机根文件系统 8 、移植bash命令和其库文件到根文件系统 9 、装载模块,实现网络功能 10
Kickstart+PXE自动部署 目录: 无人值守安装简介 实战:PXE批量部署linux操作系统 前言 部署dhcp服务 HTTP服务 TFTP服务 复制PXE启动时需要的文件 修改引导启动菜单 配置kickstart自动安装文件(ks.cfg) 装机测试 无人值守安装简介 无人值守安装(Unattended Setup)指软件安装时无需任何用户干预,直接按默认或通过应答文件设置安装,这对于无特殊需求的用户或企业大批量部署安装操作系统及软件时非常方便。无人值守安装也称为静默安装,在安装过程中可以静默安
一、CentOS 6 的启动流程 第一步:加电自检(POST) 主要检查硬件设备是否存在并能正常运行,如:CPU、内存、硬盘、风扇、输入输出设备等。自检功能主要是通过BIOS来实现的,BIOS程序是装载在一个硬件芯片CMOS上的,加电过程就是给CMOS通电,然后启动BIOS程序,BIOS程序会根据CMOS上面的一些配置信息区读取其他的硬件设备信息并检测其是否存在并能正常运行,之后进行硬件设备的初始化。 第二步:选择启动顺序,加载MBR 按照BIOS中设置的Boot Sequence查找Boot Loade