下午好!我将与您分享在创建用于网络工作的移动工具方面的有趣经验。
前言
我已经在供应商中工作了几年,从小型企业到联邦政府。当我进入联邦政府时,我面临着很多例行工作,并且有一种使这种例行程序自动化的愿望。
2013年。我有一个朋友,他也在一个“联邦”工作,与客户建立联系,当他给我打电话并爬上阁楼用开关做点什么时,有一个故事。我站在手机底部,打开了一个包含各种有趣脚本的网页。这些脚本执行了检查交换机上的端口,清除错误和其他操作的操作。
也就是说,工程师到达地址后,并没有因为不必要的事情而烦扰管理员,因为他本人拥有与网络合作的工具。
那是2018年6月,我为“为什么不编写一个可以检查不同级别的设备(核心,聚合,访问)的机器人而感到痛苦”?问题在于,只有我想摆脱日常工作,其余的生活到今天。
选择编程语言和平台
伙计们,当然是Python。在提出这些主意时,我已经掌握了一些技巧,并在脚本编写方面有一点经验。该平台被选为友好平台-电报,因为所有IT专家都住在这里。
选择用于编写机器人的
库1.用于与Telegram合作的库。pyTelegramBotAPI逐渐淡出,尤其是在阻止期间,我想快速与代理和其他东西结交朋友。我选择python-telegram-bot并以会话为基础。
2.用于处理设备的库。由于工作的简单性,我选择使用python3-netsnmp。
基础已经奠定,现在该写作了。
驾驶
该网络是铁的动物园,我们不得不选择一个单独的供应商并与之合作。另一个重要条件是存在用于执行任务的MIB。
任务之一是检查电缆长度和线对的状态,检查端口的状态以及端口上是否存在错误。
现在许多人会写一句话-“好吧,没有SNMP怎么办?”我的回答是-“是的,如果要以普通的人工方式捕获数据,则不能,只有SNMP。”
现在有人已经烧了一个地方,而他只写了NETCONF。
通过了访问设备并在bot中实现了与之合作的工作后,我面临着这样一个事实,有时,对于某些特定任务,而SNMP协议无法解决,我不得不去访问该设备。netmiko
图书馆救了我-我仍然很满意她。她解决了很多与机器人无关的问题。所支持的设备只是火。
我还发现ipaddress库对于检查IP地址非常有用。
通常,在编程时,我考虑了很多细微差别,从授权机器人中的用户到赋予他各种权限。
功能增加了,
是的,功能确实增加了,因此对某些设备的支持也增加了。我添加了无线电访问设备,光学KTV接收器。
人们莫名其妙地来找我,说我们会穿上对讲机。我的头知道,背景也会落在我的肩膀和同事的肩膀上。
我开始感到,看。我读了API,在那里很好。我选择了最简单的库来处理HTTP和HTTPS请求。
已经与对讲机合作过,需要一个数据库,但是像往常一样,这个懒惰的*歌剧不想太多。因此,选择落在sqlite3上。还选择了尽可能简单的库-它是数据集。
乌云密布,
在某个时候,工作变得异常疯狂,而我的心血,实际上是一个人生活。有很多工作,只有很少的钱-好吧,我想您会注意的。我决定离开这个机构。在联邦政府工作了几年之后,我提高了使用编程语言的技能。我对此感到非常高兴。
结语
也许这不是一个大故事,还是一个不完整的故事已经结束。我认为Networker无需在任何地方编程,尤其是在铁动物园里。结果,支持的设备数量如下:
-23种接入交换机
-3种光学KTV接收机
-4种机箱交换机
-1种机箱路由器
-3种无线电接入设备