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

Posted

tags:

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

通过之前的三次实验,我们已经可以初步的使用python通过telnet来操作cisco设备,接下来开始新一期的实验

实验目的:网络巡检,之后将信息存储在数据库中

本次实验需要再次拓展新的拓扑,,且实验环境改为ubuntu,后续的拓展将改为在linux环境下经行。本地地址使用10.10.10.142,通过两台管理交换机来控制六台路由器,其地址分配

R1

10.10.10.101

R2

10.10.10.102

R3

10.10.10.103

R4

10.10.10.104

R5

10.10.10.105

R6

10.10.10.106

技术分享

为每台设备配置IP地址

由于需要批量配置,可以使用CRT的全局发送功能实现批量命令部署

技术分享

全部部署vty之后,开通三台设备以减少机器负担,后续再陆续开发

技术分享

检验连通性

技术分享

发现邻居名单

技术分享

检验代码的执行结果

技术分享

接下来的任务是通过系统抓包,对这些数据包进行分析,我们的任务就是通过抓取cdp数据包的形式,记录邻居关系,如果发生邻居关系变动则发出告警信息。

这里说一下思路:获取接受的这串字符串,进行信息处理,即只收取:R1 Fas0/0 Fas0/0,并存入本地数据库中,因此需要在数据库中建立一张邻居表,存储路由器编号、本地接口号,对端接口号。这里安装两个数据库,存储在两个地方,一来是灾备,二来是为了之后做实验,测试关系型数据库和非关系型数据库的在运行效率上的不同。

第一步:截取信息

处理这串字符:

‘show cdp neighbors\r\nCapability Codes: R- Router, T - Trans Bridge, B - Source Route Bridge\r\n                  S - Switch, H - Host, I -IGMP, r - Repeater\r\n\r\nDevice ID       Local Intrfce     Holdtme    Capability Platform  Port ID\r\nR1               Fas 0/0            172        R S I      3640     Fas 0/0\r\nR6               Fas0/0            144        R S I      3640     Fas 0/0\r\nR4               Fas0/0            170        R S I      3640     Fas 0/0\r\nR2>‘

本次打算使用的字符串处理方法是进行切片,后续还可以尝试使用类似正则表达式的方法

技术分享

等待2秒是需要接收设备返回的邻居信息

技术分享

处理完成,美滋滋

技术分享

第二步:设计关系表,并建表

设计mysql

Database:NDB

Tablecdp_nei

RID

Char

Local_Int

Char

Port_ID

Char

First_record

Datetime

Change_record

Datetime

这里已经在mysql中的ndb里面建立一张表,存储的是cdp邻居的信息,基于当前的拓扑,可以预见当所有路由器运行之后,表中的信息条目应该是6*7=42

技术分享

First_record用于记录首次记录这个数据项的时间,Change_record则会自动记录每次修改这个数据项的时间,在查询的时候,可以通过查看修改数据项的时间,如果发生改变就可以直接提示这条链路发生抖动

第三步:写入数据库中

我们在调试界面试一下该命令可以通过

技术分享

查看效果

技术分享

好了之后可以在代码中写入相关指令,不过在这之前,先做一件刺激的事儿,先衫裤再跑路!

技术分享

代码:

这个是初始版本,后续为了开发方便封装在一个单独的类里面的

技术分享

写完之后记得同步数据才可以在数据库中查看到相关信息

技术分享

写入成功,美滋滋啊

技术分享

第四步:遍历所有设备的邻居信息

思路:依次telnet登录每台设备,对其使用show cdp nei,然后收集对端端口信息,写入数据库中

技术分享

这里就可以动态的将信息存储在数据库中,下个实验我们将通过编写脚本,将出错的信息告警


关于python-mysql的安装教程以及mysqldb这个工具包的使用笔记在评论中的连接


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

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

自己搭建自动化巡检系统 环境准备系统连接gns3

linux自动巡检脚本之用户切换后的命令执行

业务巡检拨测常用的开源工具

业务流程巡检拨测常用的开源工具

业务流程巡检拨测常用的开源工具

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