一个执着于技术的公众号

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

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

测试多关键字

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

测试频率控制

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

如果需要完整的脚本代码,只需在【秦露露】公众号对话框回复关键字“日志监控”即可获取完整代码。

原文:https://www.toutiao.com/a6770513931053040131/

往期精彩

◆  手把手教你搭建一套OpenStack云平台

◆  带你体验一次原生OpenStack发放云主机的过程

◆  Linux运维工程师面试问答录

◆  干货 | Linux平台搭建网关服务器

◆  干货 | 理解正向代理与反向代理的区别

◆  硬核科普服务器硬盘组成与基本原理

◆  一文带你速懂虚拟化KVM和XEN

◆  实战 | Hadoo大数据集群搭建

◆  运维工程师心法:6大技能让你告别背锅

如有收获,点个在看,诚挚感谢

Shell脚本实战:日志关键字监控+自动告警的更多相关文章

  1. shell 脚本实战笔记(9)--linux自动批量添加用户

    前言: 添加linux用户帐号,这个相对简单, 在面对集群, 许多机器的时候, 我们该如何去做和实现? 这篇短文, 简单讲解一些思路, 尽可能地涉及周边的一些知识点. 不光是运维人员会面临这个问题, ...

  2. 【转】shell脚本实现多台服务器自动巡检--可参考学习

    shell脚本实现多台服务器自动巡检   摘要:           运维服务一个项目二十多台(或者多台)服务器,每天要做服务器的性能巡检工作是查看服务器的CPU.内存.磁盘空间是否在正常值范围内.像 ...

  3. shell脚本实现多台服务器自动巡检

    shell脚本实现多台服务器自动巡检 摘要:         运维服务一个项目二十多台(或者多台)服务器,每天要做服务器的性能巡检工作是查看服务器的CPU.内存.磁盘空间是否在正常值范围内.像这样每天 ...

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

    最近小张的爬虫程序越来越多,可当爬虫程序报错,不能及时的发现,从而造成某些重要信息不能及时获取的问题,更有甚者,遭到领导的批评.于是就在想有没有一种方法,当爬取信息报错的时候,可以通过邮件或者短信的方 ...

  5. 【运维技术】shell脚本实现线程挂掉,自动重启功能

    由于分布式系统的流行,服务器上面部署的项目都是多实例的.而我又希望有一个功能,当服务器出现异常情况能够自动重启实例. 所以我想到了使用shell脚本监控实例进程id,如果不存在的话,就重启对应的实例. ...

  6. Shell编程实战 1.1 监控思路架构介绍

    监控思路,架构介绍 需求:使用shell定制各种个性化的告警工具,但需要统一化管理,规范化管理. 思路:指定一个脚本包,包含主程序,子程序,配置文件,邮件引擎,输出日志等. 主程序:作为脚本的入口,是 ...

  7. 用 shell 脚本做日志清洗

    问题的提出 公司有一个用户行为分析系统,可以记录用户在使用公司产品过程中的一系列操作轨迹,便于分析产品使用情况以便优化产品 UI 界面布局.这套系统有点类似于 Google Analyse(GA),所 ...

  8. [转]shell脚本打印日志方法

    该文章转自:http://blog.csdn.net/wylfengyujiancheng/article/details/50019299 ----------------------------- ...

  9. shell脚本异步日志分析-接口耗时、可用率

    背景:现有日志接入日志报表大盘,为了避免作业高峰期间(双十一),系统也要观测系统整体情况,因此提出了观测近五分钟,接口成功率以及耗时等工具(默认统计最近五分钟,并进行结果汇总统计) 使用说明 前提:p ...

随机推荐

  1. Spring如何处理线程并发问题?

    在一般情况下,只有无状态的Bean才可以在多线程环境下共享,在Spring中,绝大部分Bean都可以声明为singleton作用域,因为Spring对一些Bean中非线程安全状态采用ThreadLoc ...

  2. redis有哪些功能

    基于本机内存的缓存 为了解决调用API依然需要2秒的问题,经过排查,其主要原因在于使用SQL获取热点新闻的过程中消耗了将近2秒的时间,于是乎,我们又想到了一个简单粗暴的解决方案,即把SQL查询的结果直 ...

  3. 最新漏洞:Spring Framework远程代码执行漏洞

    Spring Framework远程代码执行漏洞 发布时间 2022-03-31 漏洞等级 High CVE编号 CVE-2022-22965 影响范围:同时满足以下三个条件可确定受此漏洞影响: JD ...

  4. 当心,你搞的Scrum可能是小瀑布

    摘要:有的团队刚接触Scrum,一个问题令他们很困扰:迭代初期开发人员的工作较多,测试人员闲着:迭代末期开发人员闲着,测试人员的工作比较多,怎么解决资源等待的问题呢? 本文分享自华为云社区<当心 ...

  5. 使用Visual Studio查看C++类内存分布

    书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承.虚函数存在的情况下. 工欲善其事,必先利其器,我们先用好Visual Stu ...

  6. java中什么是局部内部类Local inner class?

    5.局部内部类Local inner class 马克-to-win:什么叫局部内部类?内部类声明位置:1.它的外部类的范围之内.2.在几个程序块的范围之内.例如,由方法定义的块中或甚至在for循环体 ...

  7. java基础-多线程-线程组

    线程组 * Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制. * 默认情况下,所有的线程都属于主线程组.  * public fi ...

  8. audio微信自动播放以及自定义样式

    audio标签如下: <audio id="audioTag" src="" autoplay="autoplay" controls ...

  9. 在ios里面返回上一级报错问题

    $("#backPrev").attr("href","javascript:void(0);").click(function(){    ...

  10. 如何得到个性化banner

    介绍 有时候用一些脚本工具,会有一些由其他字符组成的字符.(如下面这个我还在写的) 使用 kali自带了这个工具 -- figlet. figlet AuToIP 就可以得到上面的字符啦! 另外如果想 ...