运维监控中的监控策略
短信告警轰炸,告警信息级别不分明是运维过程监控中常见碰到的事情。尤其是告警系统设计不好或者策略设置不好的情况下。一个好的监控策略可以使你的监控有效,高效。常用的监控策略如下:
点击查看隐藏内容🎁
1. 定义告警优先级策略
一般的监控到的结果是成功或者失败,如Ping不通、访问网页出错、连接不到Socket,发生时这些称之为故障,故障是最优先的告警。除此之外,还能监控到返回的延时、内容等,如Ping返回的延时、访问网页的时间、访问网页取到的内容等。利用返回的结果可以自定义告警条件,如Ping监控的返回延时一般是10-30ms之间,当延时大于100ms时候,表示网络或者服务器可能出现问题,引起网络响应慢,需要立即检查是否流量过大或者服务器CPU太高等问题。
2. 定义告警信息内容标准
当服务器或应用发生故障时告警信息内容非常多,如告警运行业务名称、服务器IP、监控的线路、监控的服务错误级别、出错信息、发生时间等。预先定义告警内容及标准使收到的告警内容具有规范性及可读性。这点对于用短信接受告警内容特别有意义,短信内容最多是70个字符,要在70个字符完全知道故障内容比较困难,更需要预先定义内容规范。如:“视频直播服务器10.0.211.65 在2012-10-18 13:00电信线路监控第到1次失败”,清晰明了的知道故障信息。
3. 通过邮件接收汇总报表
每天收到一封网站服务器监控的汇总报表邮件,花个两三分钟就大致了解网站和服务器状态。
4. 集中监控和分布式监控相结合
主动(集中)监控虽然能不需要安装代码和程序,非常安全和方便,但缺少很多细致的监控内容,如无法获取硬盘大小、CPU的使用率、网络的流量等,这些监控内容非常有用,如CPU太高表示有网站或者程序出问题,流量太高表示可能被攻击等。
被动(分布式)监控常用的是SNMP(简单网络管理协议),通过SNMP能监控到大部分你感兴趣的内容。大部分操作系统支持SNMP,开通管理非常方便,也非常安全。SNMP缺点是比较占用带宽,会消耗一定的CPU和内存,在CPU太高和网络流量大情况下,无法有效进行监控。
5. 定义故障告警主次
对于监控同一台服务器的服务,需要定义一个主要监控对象,当主要监控对象出现故障,只发送主要监控对象的告警,其它次要的监控对象暂停监控和告警。例如用Ping来做主要监控对象,如果Ping不通出现Timeout,表示服务器已经当机或者断网,这时只发送服务器Ping告警持续监控Ping,因为再继续监控和告警其它服务已经没有必要。这样能大大减少告警消息数量,又让监控更加合理、更加有效率。
6. 对在本地部署的监控脚本要进行统一规范的部署并记录到KM系统。 本地监控脚本的规范化部署
7. 实现对常见性故障业务自我修复功能
实现对常见性故障业务自我修复功能脚本进行统一部署并对修复后故障进行检查告警检查频次不多于3次。
8. 对监控的业务系统进行分级
一级系统实现7*24小时告警,二级系统实现7*12小时告警,三级系统实现5*8小时告警。
9. 通道沉默
当某一条报警发出后,如果这个异常在24小时之内未被处理,则24小时内不会再次触发报警 。 如果24小时内异常恢复后再次发生异常,则仍然会触发报警信息。