Shell脚本日志关键字监控+告警(shell巡检脚本)

网友投稿 497 2022-06-26


最近小张的爬虫程序越来越多,可当爬虫程序报错,不能及时的发现,从而造成某些重要信息不能及时获取的问题,更有甚者,遭到领导的批评。于是就在想有没有一种方法,当爬取信息报错的时候,可以通过邮件或者短信的方式及时通知小张呢,于是我进行相关搜索,还真让我找到了^_^。 为了避免大家踩坑,以下为自己亲测,其中出现了一些bug的相关解决方法我已做说明,文章最后有我的源代码。

该程序使用场景说明:主要用于Linux服务器爬虫程序日志监控,如出现关键字异常则触发相应的动作或告警操作,通知到邮件联系人,让你及时了解到爬虫程序是否正常爬取,也可用于服务器重要日志的监控。

一、安装邮件服务

安装邮件服务之前首先停用系统自带的邮件服务

1

2

3

4

systemctl stop sendmail

systemctl disable sendmail

systemctl stop postfix

systemctl disbale postfix

然后下载mailx,下载地址:

http://linuxfromscratch.org/blfs/view/7.6/basicnet/mailx.html

1、解压

1

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

如果报错  tar (child): lbzip2: Cannot exec: No such file or directory

解决方法:

yum -y install bzip2

2、编译

1

make install UCBINSTALL=/usr/bin/install

此时若报“make:***[openssl.o] 错误 1”则进行以下异常报错解决方法:

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

1

wget http://linuxfromscratch.org/patches/blfs/7.6/mailx-12.4-openssl_1.0.0_build_fix-1.patch

执行打补丁命令:

1

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

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

1

make install UCBINSTALL=/usr/bin/install

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

3、配置

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

1

2

3

4

5

6

set from=

set smtp=

set smtp-auth-user=

#不是qq密码。而是授权码

set smtp-auth-password=

set smtp-auth=login

如下图所示,修改配置完后保存.注意邮件地址,qq或者其他邮箱请开启SMTP,不知如何开启的请找度娘。

4、测试发送邮件

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

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

二、关键字监控脚本开发

CheckLogs.sh 日志监控程序

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

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

接收到的邮件如下图所示:

1

2

3

本文链接: https://mp.weixin.qq.com/s/2iyj2I17QzyZbQlzIo9ARg


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:c#方法
下一篇:适合零基础人群学习的Python入门教程(python初学者入门)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~