文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

告别手动巡检,自动化让网络设备管理更高效

2024-11-28 13:49

关注

自动化巡检的必要性

自动化巡检的核心技术

(1) Netmiko

Netmiko是一个专为网络设备设计的Python库,旨在促进诸如配置调整、命令执行等操作。该库广泛兼容多种厂商的网络设备及协议,极大地便利了工程师们利用Python脚本进行自动化巡检与配置管理工作。

(2) TextFSM

TextFSM 是一个 Python 库,专门用于从结构化文本(特别是网络设备的输出)中提取信息。它利用模板来匹配和解析数据,并将结果转换成易于处理的格式(如字典或列表)。这使得从诸如路由表、接口状态等CLI输出中自动抽取关键信息变得简单,便于网络运维人员及开发者进行进一步分析。

基本用法

(1) 安装Netmiko

首先需要安装 Netmiko。可以使用 pip 安装:

pip install netmiko

(2) 基本连接

使用Netmiko连接到网络设备时,需要指定设备的 IP 地址、设备类型、用户名和密码等信息。Netmiko支持多种设备类型(如 Cisco, Huawei, Juniper 等),这些设备类型对应不同的命令和交互方式。

from netmiko import ConnectHandler

# 定义设备连接信息
device = {
    'device_type': 'huawei',  # 设备类型,例如 'cisco_ios'、'huawei' 等
    'host': '192.168.56.10',       # 设备的 IP 地址
    'username': 'user01',         # 登录用户名
    'password': 'user01',      # 登录密码
    'secret': 'secret',          # (可选) 如果需要启用特权模式,可以提供 secret
}

# 建立连接
net_connect = ConnectHandler(**device)

# 进入特权模式(如果需要)
# net_connect.enable()

# 执行命令并获取输出
output = net_connect.send_command('display version')

# 打印命令输出
print(output)

# 断开连接
net_connect.disconnect()

(3) 命令输出格式化

Netmiko支持将命令输出以不同的方式进行格式化。例如,可以使用 send_command 时加上 use_textfsm=True 参数来将输出解析为结构化数据(需要预先配置 TextFSM 模板)。

# 执行命令并获取输出
output = net_connect.send_command('display version',use_textfsm=True,\
                                  textfsm_template='./templates/huawei/huawei_version.textfsm')

执行上述测试脚本后,成功运行后返回如下结果:

$ python test.py 
[{'version': '5.110', 'device_model': 'S5700-28C-HI', 'uptime': '0 week, 0 day, 2 hours, 46 minutes'}]

封装脚本工具

这个脚本使用了Netmiko和TextFSM来帮助我们进行设备巡检。下面展示了该脚本目录结构的一个示意图:

巡检设备台账

巡检命令

使用这个脚本非常简单。首先,请根据您的具体情况调整devices.xlsx文件中的内容,然后就可以运行main.py了。

这个脚本目前实现了基础功能,为大家提供了一个很好的起点。我们非常鼓励有想法的同学根据自己的业务需求进一步开发和扩展更多实用的功能哦!

来源:攻城狮成长日记内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯