美文网首页
Shell脚本实战:日志关键字监控+自动告警

Shell脚本实战:日志关键字监控+自动告警

作者: 面试题小能手 | 来源:发表于2020-04-02 15:09 被阅读0次

    原文转载于:https://os.51cto.com/art/202004/613630.htm

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

    该程序使用场景说明:主要用于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 

    异常编译报错-1

    异常报错解决方法

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

    执行打补丁命令:

    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、配置

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

    set from=

    set smtp=

    set smtp-auth-user=

    set smtp-auth-password=

    set smtp-auth=login

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

    4、测试发送邮件

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

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

    二、关键字监控脚本开发

    CheckLogs.sh 日志监控程序

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

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

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

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

    测试插入关键字error

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

    测试多关键字

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

    测试频率控制

    至此相关功能测试已完成。最后附上脚本相关代码如下:

    相关文章

      网友评论

          本文标题:Shell脚本实战:日志关键字监控+自动告警

          本文链接:https://www.haomeiwen.com/subject/drihphtx.html