乐趣区

关于Zabbix:干货丨利用-Zabbix-监控-mysqldump-定时备份数据库

本文转自 @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。导出的数据库文件也是有效的。

触发器也呈现告警。
试验结束。

退出移动版