背景:

生产上有台mysql服务器每天以定时任务方式用mysqldump命令进行数据库逻辑备份,定时任务执行时间为23:30,备份时长5分钟左右,生成的备份文件命名方式为‘mysql-$(date +%Y-%m-%d).sql’,大小3G左右,备份文件保留3份,即执行完mysqldump命令后对大前天备份文件进行删除操作。

需求:

对备份文件进行检查监控,若文件生产异常则触发告警。

1.模拟生产备份文件[root@zabbix-agent ~]# cd /data/backup/

[root@zabbix-agent backup]# dd if=/dev/zero of=mysql-2018-05-15.sql bs=1M count=1000

[root@zabbix-agent backup]# dd if=/dev/zero of=mysql-2018-05-16.sql bs=1M count=1000

[root@zabbix-agent backup]# dd if=/dev/zero of=mysql-2018-05-17.sql bs=1M count=1000

2.监控脚本编写

脚本属主为zabbix:zabbix,脚本功能为检查前一天是否生产备份文件并判断文件大小。[root@zabbix-agent script]# more file_check.sh

#/bin/bash

file_path=/data/backup

ZABBIX_SENDER=/usr/bin/zabbix_sender

zabbix_server=172.27.9.63

zabbix_agent=172.27.9.65

DuCheck(){

date=$(date -d "yesterday" +%Y-%m-%d)

file=$file_path/mysql-$date.sql

du=$(cd $file_path && du -sm *|grep mysql-$date.sql|awk {'print $1'})

if [[ $du -ge 1000 ]]     #生产库每天都有新数据产生,备份量会越来越大

then

echo 0

else

${ZABBIX_SENDER} -z ${zabbix_server} -s ${zabbix_agent} -k file.check -o "fail" &> /dev/null

exit 1

fi

}

Sender(){

if [ $(DuCheck) -eq 0 ]

then

${ZABBIX_SENDER} -z ${zabbix_server} -s ${zabbix_agent} -k file.check -o "sucess" &> /dev/null

else

return 0

fi

}

[ $# -eq 0 ] && Sender || echo Usage: $0

3.新建模板

新建模板“File Check”

4.新建监控项

模板中新建监控项“file status check”

5.新建触发器

返回值如果为fail则触发告警

6.模板绑定主机

绑定主机172.27.9.65,可见名为‘业务系统.客户端zabbix-test-centos7’

7.查看检查结果

运行脚本,查看执行结果,由于模拟的备份文件日期为15、16、17三天的,今天执行会报错[root@zabbix-agent ~]# sh /etc/zabbix/script/file_check.sh

8.编写定时任务

每天零点1点钟执行文件检查脚本[root@zabbix-agent script]# crontab -l

0 1 * * * /etc/zabbix/script/file_check.sh &>/dev/null 2>&1

对于第八步,如果不想用定时任务方式推送监控消息,可以再新建一个监控项:

1.新建监控项

2.修改配置文件

修改配置文件zabbix_agentd.conf[root@zabbix-agent zabbix]# view zabbix_agentd.conf

UserParameter=file.check.send,/etc/zabbix/script/file_check.sh

重启zabbix-agent服务[root@zabbix-agent zabbix]# systemctl restart zabbix-agent

至此备份文件检查监控完成

ps:曾想过用内置监控项‘vfs.file.exists[file]’、‘vfs.file.size[file]’、‘vfs.file.time[file,]’来直接监控检查文件是否存在/大小/生成时间,但是文件名不确定,监控项中的‘key’不支持{DATE}和{TIME}内置宏,所以作罢。

mysql备份监控_Zabbix以trapper方式监控MySQL备份文件相关推荐

  1. 分布式监控:zabbix trapper方式监控

    注:tapper工作模式中,zabbix发送数据的程序是zabbix_sender,该程序由zabbix发行版自带,源码包解压后在bin目录下: trapper是被监控主机主动发送数据给zabbix ...

  2. Zabbix以trapper方式监控MySQL备份文件

    背景: 生产上有台mysql服务器每天以定时任务方式用mysqldump命令进行数据库逻辑备份,定时任务执行时间为23:30,备份时长5分钟左右,生成的备份文件命名方式为'mysql-$(date + ...

  3. zabbix trapper方式监控

    zabbix获取数据时有时会出现超时,如果一些数据需要执行比较长的时间才能获取的话,那么zabbix会出现异常,考虑到这种情况,zabbix增加了Trapper功能,客户端自己提交数据给zabbix. ...

  4. 013-zabbix trapper方式监控

    zabbix获取数据时有时会出现超时,如果一些数据需要执行比较长的时间才能获取的话,那么zabbix会出现异常,考虑到这种情况,zabbix增加了Trapper功能,客户端自己提交数据给zabbix. ...

  5. mysql备份psb文件怎么打开_Navicat for MySQL 数据备份教程

    原标题:Navicat for MySQL 数据备份教程 一个安全和可靠的服务器与定期运行备份有密切的关系,因为错误有可能随时发生,由攻击.硬件故障.人为错误.电力中断等都会照成数据丢失.备份功能为防 ...

  6. centos7切换root为mysql,CentOS 7中使用rpm方式安装MySQL 5.7后无法使用root登录解决

    最近在CentOS 7中通过rpm方式安装了最新版本的mysql-server 5.7 (mysql57-community-release-el7-7.noarch.rpm) ,发现安装成功后无法使 ...

  7. centos 6.7 mysql rpm_CentOS 6.7 下RPM方式安装MySQL 5.6

    1. 下载Linux对应的RPM包,如:CentOS6.7_64对应的RPM包,如下: [root@mysql ~]# ll 总用量 113808 -rw-------. 1 root root    ...

  8. MySQL修改密码的3种方式< MySQL忘记root密码后如何重置?

    1. 使用 SET PASSWORD 命令 步骤 1):输入命令mysql -u root -p指定 root 用户登录 MySQL,输入后按回车键输入密码.如果没有配置环境变量,请在 MySQL 的 ...

  9. c 连接mysql怎么增删改_C++ API方式连接mysql数据库实现增删改查

    这里复制的 http://www.bitscn.com/pdb/mysql/201407/226252.html 一.环境配置 1,装好mysql,新建一个C++控制台工程(从最简单的弄起,这个会了, ...

最新文章

  1. 2星|《快公司》2018年2-3期:商业人物访谈集
  2. R语言进行数据聚合统计(Aggregating transforms)实战:使用R原生方法、data.table、dplyr等方案、计算分组均值并添加到可视化结果中
  3. 不同页面之间实现参数传递的几种方式
  4. XElement 和 XDocument 到底有什么区别?
  5. 2018 Multi-University Training Contest 1 Balanced Sequence(贪心)
  6. 集合php,php function集合
  7. 手机应用UI设计示例+模板|为了在下一个应用程序设计项目找到灵感
  8. A. 抽象类和抽象方法(abstract)
  9. linux dialog详解(图形化shell)
  10. python pandas csv getitem,访问.csv文件时使用Pandas获取KeyError
  11. linux 小度 驱动_arm-linux移植MT7601Uusb无线网卡(小度wifi,360随身WIFI 2代)
  12. Comsol学习——经典案例:散热器的冷却性能
  13. 微软中国总部半日游学小记
  14. 读书笔记—颠覆式创新:移动互联网时代的生存法则
  15. launch计算机上哪个初中,这位妈妈10年夏校经验告诉你:小学初中高中都该如何选择夏校?...
  16. 前端“Wed, 22 Sep 2021 15:48:33 GMT“时间转换成“2021-09-22 15:48:33
  17. 喝酒娱乐小游戏助力神器微信小程序源码下载多种游戏选择玩法多种
  18. 远程桌面无法连接 计算机死机,远程桌面被远程的机器就死机解决方案
  19. 国密算法的ekey的使用--简述
  20. JavaScript基础(四)字符串操作

热门文章

  1. 《精通特征工程》学习笔记(2):文本数据:扁平化、过滤和分块
  2. Python语言程序设计——实验十
  3. 迟到的2021回顾和总结
  4. DataGrid实现自定义分页,鼠标移至变色,删除确认、可编辑,可删除
  5. 慕课python第六周测验答案_中国大学mooc慕课_Python程序设计_章节测验答案
  6. 使用Generator(小黑鸟)反向生成Java项目(IDEA + Maven)
  7. AD19(Altium Designer)改变敷铜颜色
  8. 计算机软件开发专业大学排名,2021全国自动化专业大学排名一览表
  9. busybox linux安装教程,Android模拟器安装BusyBox的一个窍门
  10. 暗黑复仇者3 服务器没有响应,为什么暗黑复仇者3玩不了,为什么暗黑复仇者3进不去...