十七周一次课 2018.02.09 告警系统主脚本、告警系统配置文件、告警系统监控项目

20.20 告警系统主脚本

定义监控系统的各个目录,然后定义主脚本。(每个机器都要做)

首先cd到里去(我们写的脚本都可以在这个目录里,不是必须,只是为了好找)

创建mon目录,然后cd到里面,

 创建几个目录

 我们把主脚本创建在bin下。

是否发送邮件(这是一个总的开关)。1是开启,当机器维护的时候你需要先关闭它,不然会误报。(前面的export意味着这个变量会应用在所以的子脚本里)

过滤出每一台服务器的地址,这里的代码需要根据自己的机器情况设置。(方便知道是哪一台机器发的警报或邮件)

pwd找到当前主脚本所在的路径,提取出最后一级的目录。

判断last_dir是否是bin,没有的话就告诉用户,不在bin下后面的脚本没有办法执行(因为脚本里好多用的都是相对路径)也就是所我们执行这个脚本的时候是需要在bin下的。

定义配置文件所在的路径。

输出真确的日志和错误的日志。然后打一个日期标记求出系统负载。

因为系统负载是每一个机器必须要监控的项目,所以我们把它放到了主脚本里。(load.sh就是子脚本用来监控负载)

20.21 告警系统配置文件

(以上代码只是例子,具体需要根据自己的需求更改)

下面我们来写配置文件,配置文件就是定义一些开关和对应日志的路径,监控mysql的时候的用户名和密码,以及ip端口等。

配置文件一定要放到里,因为我们在主脚本里定义了的。

意思是是否监控某一项,1就是打开。

是否监控502,因为监控502需要使用到日志,(从日志中过滤出来的)

是否监控请求数,(这里我们也需要用到日志,还有所涉及到的域名)

20.22 告警系统监控项目

系统负载监控脚本。(每台机器都需要有)

监控项目都放到这个目录里。

过滤出系统负载的值

 

判断值是否大于10,并且send也就是主脚本里的邮件开关值是否是1.

写一条日志到日志里,这个日志是作为发邮件的。不是主日志(要发的邮件内容)

发邮件脚本,

输出日志,输出到哪里已经在主脚本里定义了。

502监控脚本

他需要一个日志,没有日志就没有办法找状态码

截取一分钟以前的时间。(监控系统主脚本是一分钟执行一次,所以我们监控的是一分钟以前的日志。)

看一分钟日志里有几个502。

判断出现的次数是否大于10,并且send是否是1。

满足条件下面就是发邮件了。

disk监控磁盘使用率脚本

把所有的分区挨个看一下,需要一个循环,

意思是取如下红框位置的数值。以一个或多个空格和%为分隔符(加号代表可以重复多个,比如说几个空格在一起,算一个分隔符),和下面这个例子类似:

    

这里我们需要让它不显示中文,所以我们需要加一句

这个脚本整体思路是查看这些值里是都有大于90的,并且send是1,然后执行下面的操作,发邮件或者干嘛。

这里我们做了一个操作判断邮件是否存在,存在就发邮件,不存在就写一个日志。这里存在的前提是满足如下条件,才会生成。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值