码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-09-03 23:55:01      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:自动化运维   扫描告警   

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

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

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

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

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

技术分享

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

技术分享

技术分享

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

技术分享

技术分享

此时再看数据库

技术分享

达到理想的效果

技术分享

查看cdp邻居信息

技术分享

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

技术分享

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

技术分享

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

技术分享

技术分享

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

技术分享

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


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

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

标签:自动化运维   扫描告警   

原文地址:http://yerikyu.blog.51cto.com/11421505/1962212

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!