Zabbix / 监控平台

Zabbix监控MySQL定时备份任务:实现数据库安全与稳定

浅时光博客 · 7月5日 · 2020年 · 12.5w 次已读

一、大致流程

在备份数据库的主机上编写备份脚本,使用 mysqldump 命令进行数据库备份,并将每次备份操作的结果输出到一个日志文件中。然后,在 Zabbix 告警配置中,通过监控该日志文件的内容来判断数据库备份是否成功。如果备份不成功,触发告警并发送通知给运维人员。这样可以及时发现备份问题并采取必要的措施。

以下是大致的优化内容:

  1. 编写备份脚本: 在备份数据库的机器上编写一个脚本,使用 mysqldump 命令进行数据库备份。将备份操作的结果输出到一个指定的日志文件中。
  2. Zabbix 告警配置: 在 Zabbix 中创建一个告警配置,配置一个监控项,用于检测备份日志文件中的特定内容(例如成功或失败的关键词)。
  3. 触发告警: 如果监控项检测到备份日志中出现备份失败的关键词,触发告警,并设置通知文章来源(Source):https://dqzboy.com方式,例如发送邮件或短信给运维人员。

通过这种方式,可以通过 Zabbix 对数据库备份的情况进行实时监控,及时发现备份失败,并迅速通知运维人员以便采取必要的处理措施。这有助于确保数据库备份的可靠性和及时性。

二、编写脚本

[root@localhost script]# vim backup_db.sh
#!/bin/bash

# 配置
BACKUP_PATH=/date/backup/mysql   # 备份文件存储目录
MYSQL_DUMP=/usr/bin/mysqldump
BACKUP_DB=database_name
DB_USER=user_name
DB_PAWD=password

# 检查备份目录是否存在,如果不存在则创建
if [ ! -d "${BACKUP_PATH}" ]; then
    mkdir -p "${BACKUP_PATH}"
fi

# 备份时间戳
BACKUP_TIME=$(date +%Y%m%d.%H%M)

# 备份数据库
"${MYSQL_DUMP}" -u"${DB_USER}" -p"${DB_PAWD}" -R -E -B "${BACKUP_DB}" > "${BACKUP_PATH}/${BACKUP_DB}_${BACKUP_TIME}.sql"
exit_code=$?

# 将备份结果写入日志文件
echo "${exit_code}" > /date/backup/mysql.txt

# 备份成功检查
if [ "${exit_code}" -eq 0 ]; then
    echo "数据库备份成功。"
else
    echo "数据库备份失败。"

fi
  • 创建备份存储目录
[root@localhost script]# mkdir -p /date/backup/mysql/
  • 脚本测试没问题后,添加到crontab中
[root@localhost script]# cat /date/backup/mysql.txt 
0

说明:如果执行结果为0,则说明备份脚本执行成功,后面zabbix读取该值来判断每天定时备份任务是否备份正常,非0则触发告警;该方式不是完美的,如朋友们有更完美的解决方案请留言

三、配置监控

1、建立key变量

  • zabbix_agent端的配置文件中添加监控告警key信息
[root@localhost ~]#  vim /etc/zabbix/zabbix_agentd.conf
  • 重启zabiix-agent服务
[root@localhost ~]# systemctl restart zabbix-agent
  • 在zabbix服务端执行zabbix_get命令检查key是否生效
[root@zabbix-server ~]# zabbix_get -s xx.xx.xx.xx -p 10050 -k mysqlbak_check
0

2、监控WEB端配置

  • 在zabbix前端页面创建模板,并引用该变量[mysqlbak_check]

2.1:创建模板

2.2:创建应用集

2.3:创建监控项

2.4:创建触发器

2.5:创建图形

三、模拟测试

  • 找对对应的监控主机,添加该监控模板

1、查看图表

  • 查看该主机的监控图表

2、触发告警

  • 修改监控项的值,也就是将/date/backup/mysql.txt中的0改为其他数字来模拟触发告警
  • 查看告警信息,我这里告警信息是通过企业微信和邮箱进行通知的,告警截图如下
原文链接:https://dqzboy.com

本文作者:浅时光博客
原文链接:https://www.dqzboy.com/2501.html
版权声明:知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议进行许可,转载时请以>超链接形式标明文章原始出处和作者信息
免责声明:本站内容仅供个人学习与研究,严禁用于商业或非法目的。请在下载后24小时内删除相应内容。继续浏览或下载即表明您接受上述条件,任何后果由用户自行承担。

0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!