首页 > temp > 简明python教程 >
-
Shell脚本日志关键字监控+告警
最近小张的爬虫程序越来越多,可当爬虫程序报错,不能及时的发现,从而造成某些重要信息不能及时获取的问题,更有甚者,遭到领导的批评。于是就在想有没有一种方法,当爬取信息报错的时候,可以通过邮件或者短信的方式及时通知小张呢,于是我进行相关搜索,还真让我找到了^_^。 为了避免大家踩坑,以下为自己亲测,其中出现了一些bug的相关解决方法我已做说明,文章最后有我的源代码。
该程序使用场景说明:主要用于Linux服务器爬虫程序日志监控,如出现关键字异常则触发相应的动作或告警操作,通知到邮件联系人,让你及时了解到爬虫程序是否正常爬取,也可用于服务器重要日志的监控。
一、安装邮件服务
安装邮件服务之前首先停用系统自带的邮件服务
1
2
3
4
|
systemctl stop sendmail systemctl disable sendmail systemctl stop postfix systemctl disbale postfix |
然后下载mailx,下载地址:
http://www.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: / / www.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为配置文件
接收到的邮件如下图所示:
详细代码或者文章,可扫描右上角二维码,关注公众号回复"日志监控" 进行获取,附件截图如下,包括软件、补丁、shell脚本等。
1
2
3
|
作者:小张学Python 本文链接: https: / / mp.weixin.qq.com / s / 2iyj2I17QzyZbQlzIo9ARg 转载请注明来源!! |