• Shell脚本日志关键字监控+告警


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

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

    一、安装邮件服务

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

    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、解压

    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、编译

    make install UCBINSTALL=/usr/bin/install
    

     

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

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

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

      

    执行打补丁命令:

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

      

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

    make install UCBINSTALL=/usr/bin/install
    

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

    3、配置

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

    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脚本等。

    作者:小张学Python
    本文链接: https://mp.weixin.qq.com/s/2iyj2I17QzyZbQlzIo9ARg
    转载请注明来源!! 
    

      创作不易,期待你的打赏!!

  • 相关阅读:
    【webrtc】PTCPeerConnection(28)
    windows传文件到linux服务器--- secureCRT PK xftp
    Navicat premium查看数据库表中文注释的两种方式
    Jmeter 5.1实现图片上传接口测试
    查看服务器内存、CPU、网络等占用情况的命令--汇总
    AWS服务器上安全组端口设置和访问的问题
    linux服务器时间乱码问题解决
    连接linux的几款工具 简介
    服务器上build.xml文件乱码解决(亲测有效)
    jmeter通过ant执行时报错 jmeter.log not found
  • 原文地址:https://www.cnblogs.com/xiaozhangpython/p/12752474.html
Copyright © 2020-2023  润新知