本文转自@TWT社区,作者:许远
场景需要
大部分企业都会存在测试数据库。然而,这些公司的运维人员广泛的做法是编写一个shell脚本通过mysqldump,这个MySQL数据库备份工具联合Linux的crontab这个定时工作命令,实现每周或者每月对数据库进行备份,如果不监控这些测试数据库每周是否备份胜利,很可能会在前期的工作中呈现问题。因而,明天围绕这个话题,介绍一下如何通过Zabbix监控mysqldump数据库的备份。
试验过程
1. 在mysql数据库创立一个演示用的,名为test的数据库,在test数据库创立一个test表。
Mysql的语句
Create database test; #创立名为test的数据库
Use test; #应用test数据库
create table test (name varchar(50)); #创立一个只有name字段的test表格
1.1 创立测试数据库test
1.2 编写数据库备份脚本
而后是编写一个简略备份数据库的shell脚本(bak.sh),在crontab定时工作中,设置脚本执行的工夫
失常来说(备份的数据库文件名,必须时数据库名加上数据库备份工夫命名)
Mysqldump –u用户名 –p明码 –h数据库ip 数据库名(test) > 备份的数据库寄存的地位
如果数据库备份胜利,在/tmp/bak_result.txt就会是一个0。反之,非0就是数据库备份失败。
留神:寄存数据库备份的地位最好不要是用户目录,否则其余用户可能无奈查看,因而抉择/tmp目录用来测试
最初要给bak.sh加上执行权限,否则定时工作无奈执行
Chmod o+x bak.sh
1.3 设置定时打算,为了不便演示成果(备份工夫设置为1分钟备份一次)
Crontab –e关上定时工作
查看是否备份胜利
2.创立监控项
在zabbix_agent.conf配置自定义键值
重启zabbix_agent
在zabbix_server配置监控项
如上图所示,mysql备份的值为0,也就是备份胜利。
创立告警。如果值非0,那么就是数据库备份失败
为了验证备份失败。咱们能够执行删除数据库test的操作。那么mysql是否备份胜利这个监控项的值就会不为0,接着会呈现告警。
删除数据库命令(drop database 数据库名)
此时,mysql是否备份胜利的监控项值不为0。导出的数据库文件也是有效的。
触发器也呈现告警。
试验结束。