自己搭建自动化巡检系统 抖动告警

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自己搭建自动化巡检系统 抖动告警相关的知识,希望对你有一定的参考价值。

基于前面的四次实验,已经积累了一定的经验,现在可以经行进阶设计;

实验目的:定时巡检每台设备的邻居,若出现信息不对称,则发出告警信息。

过程:基于前面设置的环境,cdp协议是每60s进行,一次信息通告,180s内没有回复则清楚邻居信息。可以通过新建一张新表,将新表与旧表进行比较,如果出现信息不对称的情况则可认为网络的某个端口down

思路:写入数据库后逐条取出进行匹配,这里需要考虑到,如果数据库存的内容过大,一次性写入内存会给计算机带来不必要的开销,所以,建议一次查询一条。即取一条信息后查询原表,信息一致则网络稳定。

查询语句,查找是否有相应条目,如果有,bool应为1L,否则为0L

技术分享

考虑到有可能设备登陆不成功,此时应该是抛出异常并跳过该设备

技术分享

技术分享

此时网络已经稳定,之前数据库中记录的链路条目是不够的,嗯,我是故意的,正常来说应该是42条,此时少了9条端口,稍后会增加,系统自动增加

技术分享

技术分享

此时再看数据库

技术分享

达到理想的效果

技术分享

查看cdp邻居信息

技术分享

我们故意断开两根线,来检查代码性能

技术分享

等待2min,后再查看cdp信息,此为cdp协议的性质决定的,此时应有4条告警信息才是正确的

技术分享

这里设置的逻辑是:查询一次就自动更新一次记录的时间,如果未更新则证明该线路未被查询到,这里设置,当Change_record的时间比当前时间晚,即可认为该线路是down,因为没有更新过

技术分享

技术分享

感叹号表示这条链路有问题

技术分享

至此,整个小型项目部署完成。本设计仅仅是为了打开脑洞,验证自动化巡检的思路的可行性,以及开拓未来巡检可以开发设计的功能,读写入关系型数据库是一个思路,操作非关系型数据库是另一个思路,都是可以做的,后续会利用mongodb进行设计,以检验两种数据库的在工作效率上的不同。另外通过收集到这一系列参数,笔者想尝试着,转化成数学语言,通过机器学习算法通过预测设备的工作状况来动态检查设备,以提高采集效率,降低巡检设备的工作压力


本文出自 “yerik” 博客,转载请与作者联系!

以上是关于自己搭建自动化巡检系统 抖动告警的主要内容,如果未能解决你的问题,请参考以下文章

自己搭建自动化巡检系统 处理邻居列表

写了个自动巡检多个接口地址的脚本!

精品Linux系统硬件网络系统及安全巡检邮箱告警脚本shell脚本

运维管理系统PIGOSS BSM 如何实现IT自动巡检

自动增长配置不合理导致的性能抖动

智能巡检告警配置实践