shell 跳过当前错误继续执行_Shell脚本实战:日志关键字监控+自动告警

7e79bca99bd868609dcc5db30d1da0a0.png

该程序使用场景说明:主要用于Linux服务器监控程序日志,如出现关键字异常则触发相应的动作或告警操作,通知到邮件联系人。

一、安装邮件服务

1、解压

tar -jxf mailx-12.4.tar.bz2 -C /usr/src/ && cd /usr/src/mailx-12.4/

2、编译

make install UCBINSTALL=/usr/bin/install

ec4d5bf077b307981866e9e50eb58652.png

异常编译报错-1

异常报错解决方法

下载mailx补丁文件“mailx-12.4-openssl_1.0.0_build_fix-1.patch”,将补丁文件和mailx解压缩目录放置同一路径

38bb83c4134241866e1b814375e089d2.png

执行打补丁命令:

patch -p0 < mailx-12.4-openssl_1.0.0_build_fix-1.patch

5bf007ae937a5d0cf3ed29c88d3d7106.png

进入mailx-12.4重新执行编译命令:

make install UCBINSTALL=/usr/bin/install

d01f82ef17a7d3fae96296048c91832d.png

检测mailx是否安装成功:mailx -V

f987acb8a406c2660421b62bf706e72e.png

3、配置

vi /etc/nail.rc,在文件的最后添加

set from=

set smtp=

set smtp-auth-user=

set smtp-auth-password=

set smtp-auth=login

如下图所示,修改配置完后保存

af309bd42cb6d732e406250f06020763.png

4、测试发送邮件

echo '邮件正文'|mailx -v -s "邮件标题" 邮箱地址

b90f346dde7b5b77fe602c0ace19c295.png

至此邮件功能测试正常,接下来是关键字监控脚本的编写工作,通过日志关键字脚本触发邮件告警脚本实现日志监控

二、关键字监控脚本开发

CheckLogs.sh 日志监控程序

SendMail.sh 发邮件脚本,该脚本可自定义

conf 配置文件目录,chklist为配置文件

607651c95fec026cf9fd1a9038cefaa8.png

初次执行CheckLogs.sh脚本会读取日志文件并记录当前读取的行数

607651c95fec026cf9fd1a9038cefaa8.png

后续运行脚本则读取更新日志,例如当前日志更新了9行数据,则脚本从最新的9行数据获取关键字

7a5829f149bed49663051fbf65c45b30.png

测试插入关键字error

ffb83f57197d608bb22a44dea8e9e86e.png

继续执行脚本可以看到已捕获关键字并触发告警

ffb88e37c778478ea2cf54b822d3843f.png

测试多关键字

6dbf7692e9c13029b68eeca9bffadc5b.png

再次执行可以看到已捕获最新更新的日志信息

45b394e57f65c516c0eb0f763177ee15.png

测试频率控制

c7f3fb2722b0585b3ed42e28447c29d4.png

至此相关功能测试已完成。

原文:运维道中道之“Shell脚本日志关键字监控+告警” 作者:大半个程序员


  • 升职加薪必备!运维工程师打怪升级进阶成神之路
  • 我没有开挂的人生!自律和坚持,是我走IT之路的唯一捷径
  • 全网最新、最全Linux面试题(2020版)!
  • 史上最全、最新的Redis面试题(2020最新版)!
  • 赞!7000 字学习笔记,MySQL 从入门到放弃

如有错误或其它问题,欢迎小伙伴留言评论、指正。如有帮助,欢迎点赞+转发分享。

更多相关开源技术文章,请持续关注民工哥知乎技术专栏。

我是民工哥,一个爱折腾的IT技术老司机,欢迎关注我,我们一起学习,共同成长!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值