错误日志监控报警脚本

发布时间:2020-06-16 20:48:31

来源:51CTO

阅读:572

作者:insist_way

写在前面:

在实际工作中,定期检查数据库错误日志是必不可少的工作项。但是检查的时候却不一定产生了新的错误信息,或者说我们更加希望永远不要有错误信息才好,因为这表示我们的数据库是健壮的。这种情况下,无法预知错误信息什么时候产生,而如果我们检查错误日志又经常是正常的,很容易形成思维惯性,久而久之没有报错信息,我们很容易忽略这一工作项。但是错误日志对于我们来说又是必不可少的,此时,我们就希望,什么时候产生错误信息,就直接邮件报警通知我,我就可以腾出时间来做一些更有意义的事情了。如果你也有这种需求,那么本文可能会帮到你。

脚本文件:

cat monitor_errorlog.sh

#!/bin/bash

#错误日志监控报警脚本

#监控日期

time=`date +%F`

#time=2018-06-02

cd /home/dbalzb

#按照日期生成error日志监控文件,首先检测当天error日志是否生成过

ls errorlog-$time.txt &> /dev/null

#状态返回值为非0,即表示当天未生成过

if [ $? -ne 0 ];then

cat /home/data/mysql/error.log | grep "$time" | egrep -i 'error|warning' > errorlog-$time.txt

#判断当天是否有错误日志

num=`cat errorlog-$time.txt |wc -l`

if [ $num -ne 0 ];then

mutt lizibin_1@126.com -s "errorlog3306" < errorlog-$time.txt

fi

md5sum errorlog-$time.txt > md5-errorlog-$time.txt

else

cat /home/data/mysql/error.log | grep "$time" | egrep -i 'error|warning' > errorlog-$time-new.txt

#第二次及以后执行的脚本文件会生成新的errorlog文件,并生成新的md5sum值

md5sum errorlog-$time-new.txt >> md5-errorlog-$time.txt

str1=`cat md5-errorlog-$time.txt | sed -n '1p' | awk '{print $1}'`

str2=`cat md5-errorlog-$time.txt | sed -n '2p' | awk '{print $1}'`

#num1=`cat errorlog-$time-new.txt |wc -l`

#cat errorlog-$time.txt >> errorlog-$time-history.txt

#对比两个文件的md5sum值来判断是否有新的错误日志生成

if [ $str1 != $str2 ];then

mutt lizibin_1@126.com -s "new-errorlog3306" < errorlog-$time-new.txt

#cat errorlog-$time-new.txt >> errorlog-$time-history.txt

fi

/bin/rm -f errorlog-$time-new.txt

sed -i '2d' md5-errorlog-$time.txt

fi

添加计划任务:(每小时执行一次,可自行调整)

5 */1 * * * sh /home/dbalzb/monitor_errorlog.sh

条条大路通罗马,你是怎么动态监控数据库错误日志的呢?欢迎下方留言。

mysql 告警日志_错误日志监控报警脚本相关推荐

  1. mysql 错误日志_MySQL错误日志(Error Log)详解

    错误日志(Error Log)是 MySQL 中最常用的一种日志,主要记录 MySQL 服务器启动和停止过程中的信息.服务器在运行过程中发生的故障和异常情况等. 作为初学者,要学会利用错误日志来定位问 ...

  2. 日志php-error错误日志查看

    转载: https://blog.csdn.net/ty_hf/article/details/55505262 前言: 对于我们做php开发的人员,上了生产环境,一定要把相关debug,displa ...

  3. mysql- 数据库的6种日志:错误日志、通用日志、慢日志、二进制日志、redo log、undo log

    MySQL日志 日志用来做什么? 1.用来排错 2.用来做数据分析 3.了解程序的运行情况,是否健康 日志放在哪里? 日志一般放在数据目录 日志分类 错误日志.通用日志.慢日志.二进制日志 一.错误日 ...

  4. 日志-php-error错误日志查看

    前言: 对于我们做php开发的人员,上了生产环境,一定要把相关debug,display_errors错误提示等关掉.谁还难免不犯个错呢?这样能防止非致命性报错下,导致项目路径.数据库等信息泄漏. 问 ...

  5. NGINX访问日志和错误日志

    Logs are very useful to monitor activities of any application apart from providing you with valuable ...

  6. logback日志配置(控制台日志、输出日志、错误日志)

    logback日志配置(控制台日志.输出日志.错误日志) 一.logback.xml相关配置: <?xml version="1.0" encoding="UTF- ...

  7. java告警_错误日志告警实战

    1. 错误日志告警实战 1.1. 需求 为了更方便的实时了解系统报错情况,我开始寻找告警解决方案 1.2. 思路 1.2.1. 不差钱的方案 如果不差钱,更系统更完善的解决方案,我首先想到的是CAT, ...

  8. 学习笔记(03):MySQL数据库运维与管理-01-mysql通用日志与错误日志

    立即学习:https://edu.csdn.net/course/play/10084/214943?utm_source=blogtoedu MYSQL日志管理 用于实现MYSQL数据库故障排查2, ...

  9. mysql 错误 日志_MySQL 错误日志(Error Log)

    同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等.这些日志可以帮助我们定义mysqld内 ...

  10. MySQL日志之错误日志(errorlog)

    在这里插入代码片 错误日志默认时开启的,而且错误日志无法被禁止.

最新文章

  1. AutoX李卓:无人驾驶市场是渐进式的,但技术其实很难渐进式
  2. 【OkHttp】OkHttp 源码分析 ( OkHttpClient.Builder 构造器源码分析 )
  3. php实现java socket_php与java通过socket通信的实现代码
  4. java炫舞_Java 炫舞按键功能 DancingPlay (整理)
  5. javascript监听键盘事件 - 如表单enter回车提交
  6. 企业做网络推广关键词设置的几点个人看法
  7. Oracle Concepts Guide 中 Oracle 实例 和 数据库 【关系图】
  8. 动态规划: 数字三角形
  9. linux下zip分卷z01解压,Linux下解压分包文件zip(zip/z01/z02)
  10. 信息学奥赛一本通评测系统P1336
  11. python判断互质_Python3 判断质数以及计算一个数字的质因数
  12. Ubuntu 出现/usr/bin/ld: cannot find -lXp的问题
  13. 服务器时间修改连接超时时间设置,云服务器连接超时时间设置
  14. 一种将pkl转成excel的弯道[可以实现有点奇怪,以防excel显示不全]
  15. 华为鸿蒙3.0亮相,搭载设备产业链投资机会带来了POKERTIME129263?
  16. python123身份证号掩盖出生日期_身份证号转变为出生日期
  17. Line实现一号一群,关键在于注册
  18. html 给文字的特效,文字特效.html
  19. js设置睡眠N秒后再执行
  20. 可调直流恒流源工作时温度过高解决方法

热门文章

  1. rufus安装centos8(旧电脑玩Linux)
  2. linux添加一块20G的scsi硬盘,Linux下添加第二块scsi硬盘.doc
  3. Pipeline并行处理模型
  4. 基础 八大疑问词+翻译
  5. AArch64架构内存布局及线性地址转换
  6. 如何批量在图片上加文字?
  7. 计算机一级演示文稿知识点,计算机一级考试ppt演示文稿及上网题考点
  8. python面试题No5
  9. vscode中显示隐藏文件
  10. JavaScript实现Sleep效果