尊龙时凯

银狐病毒防御大作战 丨 揭秘最新攻击手段与体系化防护实战
预约直播
体验驱动校园网,数智彩光谱新篇 丨 尊龙时凯体验驱动下一代全光校园网建设研讨会
预约直播
尊龙时凯睿易 尊龙时凯官方商城

中文

  • Global / English
  • France / Français
  • Germany / Deutsch
  • Indonesia / Indonesian
  • Italy / Italiano
  • Japan / 日本語
  • Kazakhstan / Pусский
  • Poland / Polski
  • Portugal / Português
  • Spain / Español (España)
  • Thailand / ภาษาไทย
  • Vietnam / Việt Nam
  • LATAM / Español
    (América Latina)
  • Türkiye / Türkçe
  • Brazil / Português(Brazil)
产品
< 返回主菜单
产品中心
产品

交换机

交换机所有产品
< 返回产品
交换机主页
交换机

园区网交换机

园区网交换机所有产品
  • 核心交换机
  • RG-N18000-E(Newton)系列新一代融合核心交换机
  • RG-S7800C-X系列新一代融合核心交换机
  • RG-S7800C系列融合核心交换机
  • RG-S7600系列超聚合核心彩光交换机
  • 汇聚交换机
  • RG-S6150-X系列新一代融合万兆交换机
  • RG-S6120系列融合万兆交换机
  • RG-S6100系列多速率系列交换机
  • RG-S5760-X系列新一代融合千兆交换机
  • RG-S5750-X系列融合千兆交换机
  • RG-S5750-H系列千兆交换机
  • 接入交换机
  • RG-S5315-E系列2.5G多速率交换机
  • RG-S5310-E系列新一代千兆交换机
  • RG-S5310系列千兆交换机
  • RG-S5300-E系列新一代千兆交换机
  • RG-S5000系列千兆交换机
  • RG-S2910XS-E系列千兆交换机
  • RG-S2910-H系列千兆PoE交换机
  • RG-S2900G-E V3系列千兆交换机
  • 极简光交换机
  • RG-S5750-DP系列极简光汇聚交换机
  • RG-MUX彩光透明汇聚系列
  • RG-SF2920系列极简光交换机
  • RG-PF2920系列极简光入室交换机
  • RG-IF2920系列极简光入室交换机
  • RG-MF2920系列极简光入室交换机
  • RG-PDBOX集中供电主机
  • RG-SF2910系列极简光入室交换机

数据中心与云计算交换机

数据中心与云计算交换机所有产品
  • 核心交换机
  • RG-N18000-XH系列
  • RG-N18000-X系列
  • RG-S7800C系列
  • RG-S6990系列
  • RG-S6980系列
  • RG-S6930系列
  • RG-S6920系列
  • RG-S6910系列
  • RG-S6900AI系列
  • 接入交换机
  • RG-S6580系列
  • RG-S6520系列
  • RG-S6510系列
  • RG-S6200系列
  • RG-S6000系列
  • 400G/800G光模块
  • LPO系列光模块

行业精选交换系列

行业精选交换系列所有产品
  • 行业精选交换系列
  • RG-SG7008L多业务融合一体机
  • RG-S3000-RU系列一体机远端模块
  • M7000L-RU系列一体机远端模块
  • RG-S6120-L系列万兆交换机
  • RG-S5750V2-L系列千兆交换机
  • RG-S5300-L系列千兆接入交换机
  • RG-S2910-L系列千兆交换机
  • RG-S2906-L系列千兆交换机
  • XS-S1930J-P系列二层接入交换机

工业交换机

工业交换机所有产品
  • 工业交换机
  • RG-IS5200沙海系列工业以太网交换机
  • RG-IS5900系列一机双网工业交换机
  • RG-IS2900系列一机双网工业交换机

SDN

SDN所有产品
  • SDN
  • 数据中心SDN控制器
  • ServiceChain方案

配件

配件所有产品
  • 配件
  • 电源模块配件

所有技术解决方案

  • 数据中心场景
  • AI-Fabric智算中心网络解决方案
  • AI-FlexiForce智算中心网络解决方案
  • 高速低碳云数据中心解决方案集
  • 极速X-Fabric数据中心网络解决方案
  • AIGC量化分析平台
  • RoCE智算网络专家

路由器

路由器所有产品
< 返回产品
路由器主页
路由器

核心路由器

核心路由器所有产品
  • 核心路由器
  • RG-RSR77-XA系列多业务核心路由器

汇聚路由器

汇聚路由器所有产品
  • 汇聚路由器
  • RG-RSR50系列多业务框式汇聚路由器
  • RG-RSR30系列多业务盒式汇聚路由器

接入路由器

接入路由器所有产品
  • 接入路由器
  • RG-RSR20系列多业务接入路由器

移动路由器

移动路由器所有产品
  • 移动路由器
  • RG-RSR800系列移动路由器
  • RG-RSR10-01G系列4G路由器

行业精选路由器系列

行业精选路由器系列所有产品
  • 行业精选路由器系列
  • RG-RSR10-L系列路由器

所有技术解决方案

  • 广域网
  • 尊龙时凯全新SD-WAN解决方案

无线

无线所有产品
< 返回产品
无线主页
无线

放装型无线接入点

放装型无线接入点所有产品
  • Wi-Fi 7系列
  • RG-AP9861-R四射频Wi-Fi 7无线AP
  • RG-AP9850-R五射频Wi-Fi 7无线AP
  • RG-AP9751-R四射频Wi-Fi 7无线AP
  • RG-AP9520-RDX三射频Wi-Fi 7无线AP
  • RG-AP9220(V2)双射频Wi-Fi 7无线AP
  • RG-AP9220双射频Wi-Fi 7无线AP
  • Wi-Fi 6系列
  • RG-AP880-AR四射频Wi-Fi 6无线AP
  • RG-AP850-AR(V3)四射频Wi-Fi 6无线AP
  • RG-AP840-AR三射频Wi-Fi 6无线AP
  • RG-AP820-AR(V3)三射频Wi-Fi 6无线AP
  • RG-AP820C双射频Wi-Fi 6无线AP
  • RG-AP820-L(V3)双射频Wi-Fi 6无线AP
  • RG-AP820-I双射频Wi-Fi 6无线AP
  • Wi-Fi 5系列
  • RG-AP730-I三射频Wi-Fi 5无线AP

墙面型无线接入点

墙面型无线接入点所有产品
  • Wi-Fi 7系列
  • RG-AP1920双射频Wi-Fi 7无线AP
  • RG-AP1920(V2)双射频Wi-Fi 7无线AP
  • RG-AP1920-X双射频Wi-Fi 7无线AP
  • Wi-Fi 6系列
  • RG-AP180C双射频Wi-Fi 6无线AP
  • RG-AP180(V3)双射频Wi-Fi 6无线AP
  • RG-AP180-L(V3)双射频Wi-Fi 6无线AP
  • RG-AP170双射频Wi-Fi 6无线AP

智分无线接入点

智分无线接入点所有产品
  • 全光无线星空系列
  • RG-AM5832-SF-P 24口万兆恒星主机
  • RG-AM5754-SF-P 48口多速率恒星主机
  • RG-AM5528-SF 24口2.5G恒星主机
  • RG-MAP920-SF-M Wi-Fi 7行星无线AP
  • RG-MAP852-SF(V3) 4口行星AP
  • RG-MAP852-SF-U 旗舰版行星AP
  • RG-MAP852-SF-M(V3) 4口行星AP
  • 智分+系列
  • RG-AM5532智分+主机
  • RG-AM5528(ES)智分+主机
  • RG-MAP852(V3)智分+微AP

室外无线接入点

室外无线接入点所有产品
  • 室外无线接入点
  • RG-AP680-AR四射频Wi-Fi 6无线AP
  • RG-AP680-O(P)双射频Wi-Fi 6无线AP
  • RG-AP680C双射频Wi-Fi 6无线AP
  • RG-AP680-O(V3)双射频Wi-Fi 6无线AP
  • RG-AP680-CD(V3)双射频Wi-Fi 6无线AP

场景化无线

场景化无线所有产品
  • 零漫游无线接入点
  • RG-APD4930零漫游主机
  • 轨道交通无线接入点
  • RG-AP680-PIS双射频Wi-Fi 6车载AP
  • RG-AP680-AR四射频Wi-Fi 6无线AP
  • 一机一网无线远端模块
  • M7000L-AP842I-RU室内Wi-Fi 6无线远端模块
  • M7000L-AP842W-RU室内Wi-Fi 6无线远端模块
  • M7000L-AP842O-RU室外Wi-Fi 6无线远端模块

无线控制器

无线控制器所有产品
  • 无线控制器
  • RG-WS7816C高性能无线AC
  • RG-WS7110C高性能无线AC
  • RG-WS7110高性能无线AC
  • RG-WS6816C高性能无线AC

行业精选无线系列

行业精选无线系列所有产品
  • 放装型无线接入点
  • RG-AP900-A双射频Wi-Fi 7无线AP
  • RG-AP850-A(V2)三射频Wi-Fi 6无线AP
  • RG-AP820-A(V3)双射频Wi-Fi 6无线AP
  • 墙面型无线接入点
  • RG-AP194-A双射频Wi-Fi 7无线AP
  • RG-AP180-A(V3)双射频Wi-Fi 6无线AP
  • RG-AP180-L-A(V3)双射频Wi-Fi 6无线AP
  • 室外无线接入点
  • RG-AP690-A双射频Wi-Fi 7 室外全向无线AP
  • RG-AP690D-A双射频Wi-Fi 7 室外定向无线AP
  • 无线控制器
  • RG-WS7204-A多业务无线AC
  • RG-WS7208-A多业务无线AC
  • RG-WS7005-A(V2)多业务无线AC

无线管理与应用

无线管理与应用所有产品
  • 无线管理与应用
  • RG-WIS云管理平台

所有技术解决方案

云桌面

云桌面产品方案中心
< 返回产品
云桌面主页
云桌面

云终端系列

云终端系列所有产品
  • 云终端系列
  • RG-CT7800系列终端计算机
  • RG-CT7529尊龙时凯应用全融合整机
  • RG-CT7528系列TCI云终端
  • RG-CT7526系列TCI云终端
  • RG-CT6000-G4系列IDV云一体机
  • RG-CT5540H系列IDV/TCI云终端
  • RG-CT5002C-G4系列TCI云终端
  • RG-CT5000-G4系列IDV云终端
  • RG-CT3100-G2系列TCI云终端
  • RG-CT1120系列VDI云终端
  • RG-CT1006 VDI云终端
  • RG-CT1000-G2 VDI云终端
查看云终端选型指导

云主机系列

云主机系列所有产品
  • 通用云主机产品
  • RG-CS7015云服务器
  • RG-CS7010云服务器
  • RG-CS6000-G2云服务器
  • RG-CS1020系列云服务器
  • RG-CT5500C-CS MINI云服务器
  • 应用创新云主机产品
  • RG-CS7025云服务器
  • RG-CS5020系列云服务器

云桌面软件系列

云桌面软件系列所有产品
  • 云桌面应用软件系列
  • RG-Unified WorkSpace统一工作空间解决方案
  • RG-CloudManagerRemote云桌面教学管理软件
  • RG-ClassManager Rainbow云课堂教学管理软件
  • RG-ClassManager Sunny云办公云盘软件
  • RG-Class Service Center 云课堂服务中心
  • RG-CloudManagerCenter云桌面服务中心
  • 云桌面平台软件系列
  • RG-CDC云桌面管理平台
  • RG-CCP云计算平台
  • RG-CVA尊龙时凯应用虚拟化

配件系列

配件系列所有产品
  • 配件系列
  • RG-CPM2700-G3 27寸IPS液晶显示器
  • RG-CPM2380C-G2 23.8寸IPS液晶显示器
  • RG-CPM2150-G3 21.5寸VA液晶显示器
  • RG-OCS系列终端云化套件
  • RG-CPK1000-G2有线键鼠套装

服务产品

服务产品所有产品
  • 服务产品
  • RG-云桌面基础质保服务(寄修)
  • RG-云桌面上门类基础质保服务(服务器)
  • RG-云桌面上门类基础质保服务
  • RG-云桌面硬盘不返还服务
  • RG-云桌面配件质保服务

所有技术解决方案

  • 云办公
  • 应用全融合办公解决方案
  • 安全云办公3.0解决方案
  • 云办公(vGPU解决方案)
  • 云课堂
  • 实训空间解决方案
  • 教育云电脑解决方案
  • 三擎云课堂(VDI+IDV+TCI)
  • 云课堂(vGPU解决方案)
  • 应用全融合课堂解决方案

安全

安全所有产品
< 返回产品
安全主页
安全

大数据安全平台

大数据安全平台所有产品
  • 大数据安全平台
  • RG-BDS-C大数据安全平台基础版
  • RG-BDS 500E-C日志审计平台

下一代防火墙

下一代防火墙所有产品
  • 下一代防火墙
  • RG-WALL 1600-Z8680新一代防火墙
  • RG-WALL 1600-Z8620新一代防火墙
  • RG-WALL 1600-Z8600-G20新一代防火墙
  • RG-WALL 1600-Z5100新一代防火墙
  • RG-WALL 1600-Z5000-G10新一代防火墙
  • RG-WALL 1600-Z3500新一代防火墙
  • RG-WALL 1600-Z3200新一代防火墙
  • RG-WALL 1600-Z3100新一代防火墙
  • RG-WALL 1600-CF6000-10新一代防火墙
  • RG-WALL 1600-CF6000-03新一代防火墙
  • RG-WALL 1600-CF6000-01新一代防火墙

安全网关

安全网关所有产品
  • 安全网关
  • RG-CMG6000-09多功能安全网关
  • RG-CMG6000-06多功能安全网关
  • RG-CMG6000-03多功能安全网关
  • RG-EG-E5220新一代智能安全网关
  • RG-EG-E5120新一代智能安全网关
  • RG-EG-E3500新一代智能安全网关
  • RG-EG-E3300新一代智能安全网关
  • RG-EG-E3000-G智能安全网关
  • RG-EG5200-P多业务PoE安全网关
  • RG-EG3250新一代多业务安全网关
  • RG-EG3230新一代多业务安全网关
  • RG-EG3220新一代多业务安全网关
  • RG-EG3210新一代多业务安全网关
  • RG-EG2100-P V2全能PoE网关

检测管理安全

检测管理安全所有产品
  • 检测管理安全
  • RG-UAC 6000-U3210应用管理网关
  • RG-UAC 6000-U3100应用管理网关
  • RG-UAC 6000-X300D应用管理网关
  • RG-UAC 6000-X60M应用管理网关
  • RG-UAC 6000-X20ME应用管理网关

安全服务

安全服务所有产品
  • 安全服务
  • 尊龙时凯等级保护建设服务
  • 尊龙时凯风险检测服务
  • 尊龙时凯安全专家服务

安全云

安全云所有产品
  • 安全云
  • 尊龙时凯Z系列防火墙安全云管理平台

所有技术解决方案

  • 安全
  • 尊龙时凯网络出口网安融合解决方案
  • 企业办公综合出口解决方案
  • 商贸连锁综合网关解决方案
  • 高职教多业务出口解决方案

软件

软件所有产品
< 返回产品
软件主页
软件

网络管控产品

网络管控产品所有产品
  • 网络管控产品
  • RG-UNC统一网络中心

IT运维产品

IT运维产品所有产品
  • IT运维产品
  • 乐享智能运维管理平台
  • 乐享订阅服务
  • 乐享云辅驾运维管理服务
  • 乐为服务管理平台

所有技术解决方案

  • 政府
  • 政务网络运维管理解决方案
  • 教育
  • 极简校园网综合运维管理
  • 医疗
  • 医疗信息化运营解决方案
  • 企业
  • 企业IT运维解决方案

身份管理

身份管理所有产品
< 返回产品
身份管理主页
身份管理

安全管理系列

安全管理系列所有产品
  • 安全管理系列
  • RG-SMP+安全管理平台
  • RG-SMP安全管理平台
  • RG-ESS 1000易安全系统
  • RG-IPC 1.X身份策略管理中心

运营管理系列

运营管理系列所有产品
  • 运营管理系列
  • RG-SAM+5.X高校AI认证平台
  • SAM+增值维护服务

身份中台

身份中台所有产品
  • 身份中台
  • RG-SourceID身份中台构建专家

所有技术解决方案

  • 身份管理
  • 新一代医院内网终端准入解决方案

服务产品

服务产品所有产品
< 返回产品
服务产品主页
服务产品

基础实施服务

基础实施服务 所有产品
  • 基础实施服务
  • 软件调试服务
  • 硬件安装服务
  • 项目技术支持服务

基础维护服务

基础维护服务所有产品
  • 基础维护服务
  • 产品授权服务
  • 维保服务

运维管理服务

运维管理服务所有产品
  • 运维管理服务
  • 综合运维服务
  • 驻场服务

整网服务

整网服务所有产品
  • 整网服务
  • 网络规划设计服务
  • 网络优化服务
  • SuperWi-Fi一站式会场无线即时服务

安全服务

安全服务所有产品
  • 安全服务
  • 安全巡检服务
  • 安全运维服务

备件与扩容服务

备件与扩容服务所有产品
  • 备件与扩容服务
  • 云桌面扩容增配服务
  • 备件销售

培训与认证服务

培训与认证服务所有产品
  • 培训与认证服务
  • 1+X网络设备安装与维护职业技能等级证书
  • 培训服务
  • 认证服务
  • 【考试券】RGSA-Routing and Switching
  • 【考试券】RGSP-Routing and Switching
  • 【考试券】RGSE-Routing and Switching Written
  • 【考试券】RGSA-Cloud Computing
  • 【考试券】RGSA-Security
  • 【实验券】RGSE-Routing and Switching Lab
  • 【考试券】RGSE-Data Center Network Written
  • 【实验券】RGSE-Data Center Network Lab

官方商城

尊龙时凯睿易

体验中心

尊龙时凯AI应用

网络研讨会

服务支持
< 返回主菜单
服务与支持中心
服务与支持
服务工具
  • 小锐云服
  • 小锐云桥
  • 客服中心AI闪电侠
  • 智能云管平台MACC
  • 无线智能服务WIS
  • 尊龙时凯安全云平台
  • 查看全部
服务平台
  • 云桌面服务平台
  • 睿易服务平台
  • 合作伙伴服务平台
技术支持
  • 文档中心
  • 软件下载
  • 在线培训
  • 常见问题
  • 技术博文
  • 产品参数查询
服务产品
  • 维保服务
  • 综合运维
  • SuperWi-Fi
  • IPv6改造
  • 查看全部
产品服务
  • 产品授权申请
  • 产品维修中心
  • 产品服务公告
  • 产品保修查询
  • 我要报修
  • 安全通告
  • 保修服务政策
  • 睿易保卡激活与查询
教学服务
  • 尊龙时凯ICT人才教育中心
  • 校企合作
  • 认证体系
  • 培训计划
合作伙伴
< 返回主菜单
合作伙伴中心
合作伙伴
成为尊龙时凯伙伴
  • 合作伙伴政策
  • 行为准则
  • 廉洁及合规举报
  • 我要签约
  • SMB事业部分销专区
售前营销
  • 市场资料库(合作伙伴)
  • 尊龙时凯产品配置器
  • 营销资料平台
  • 售前认证
  • 售前工具包
  • 合作伙伴礼品库
  • e-Learning
  • 产品资质查询
  • 远程POC
销售与订单
  • 项目报备管理系统
  • 订单管理
  • 产品停服信息
  • 产品停售信息
  • 商务手册
  • 行业渠道产品电商平台
  • 历史订单查询
  • 授权函查询
售后及服务
  • 售后认证
  • 售后工具包
  • RSDP 尊龙时凯服务交付平台
  • 售后服务认证
  • 售后知识平台
  • 渠道服务管理系统(CSM)
  • SMB渠道客户服务平台(CCSP)
用户中心
  • 系统指导大全
  • 账号管理
  • 下载电子授权牌
  • 签约信息查看
  • 资质查询
  • 签章管理
  • 返利管理
  • 睿易技术认证查询
关于尊龙时凯
< 返回主菜单
关于尊龙时凯首页
关于尊龙时凯
公司介绍
  • 公司概况
  • 发展历程
  • 自主创新
  • 企业文化
公司动态
  • 新闻报道
  • 应用案例
  • 视频中心
  • 活动及研讨会
  • 用户说
加入我们
  • 社会招聘
  • 校园招聘
联系我们
  • 总部及办事处
  • 安全通告
  • 服务网点
  • 阳光诚信系统
营销资料平台
  • 营销资料平台
投资者关系
登录 登录 个人中心 个人中心 尊龙时凯商城 尊龙时凯商城 区域/语言 区域/语言
返回主菜单
选择区域/语言
  • Global / English
  • Japan / 日本語
  • Türkiye / Türkçe
  • Vietnam / Việt Nam
  • Indonesia / Indonesian
  • Thailand / ภาษาไทย
  • Spain / Español (España)
  • Portugal / Português
  • France / Français
  • Poland / Polski
  • Kazakhstan / Pусский
  • Germany / Deutsch
  • Italy / Italiano
  • Brazil / Português(Brazil)
  • LATAM / Español (América Latina))

    基于Python TextFSM模块的网络设备自动化运维方法

    本文将给大家介绍一种主流的基于CLI命令行登录的自动化运维实践案例,希望能够给大家带来帮助。

    • 发布时间:2021-03-04

    • 点击量:

    • 点赞:

    分享至

    我想评论

    本文作者:kevinwoo

    尊龙时凯网络技术服务部互联网服务中心

     

    随着云计算和SDN技术的发展,数据中心规模越来越大,而网络架构逐渐向“去堆叠”、“去框”式发展,这就意味着需要维护的交换机数量在成倍的增长。随着网络维护规模越来越大,运维人员压力也成倍增加,依靠传统的人工维护已不太现实,工具化、自动化运维势在必行。这就需要运维人员具备一定编程能力,从而通过软件代替传统的人工维护。网络自动化运维理念结合软件开发领域DevOps理念而产生的NetDevOps概念已逐渐被网络运维界所接受。

    网络自动化运维,首先要实现网络设备与自动化运维平台对接,即通过代码实现登录网络设备并获取信息。目前常见连接设备的方法有模拟传统的Telnet/SSH命令登录、NETCONF、gRPC、OpenFlow协议对接等等。


    为了跟上SDN的发展趋势,各个传统网络设备厂商已逐渐开放API接口,比较有代表性的是NETCONF和YANG模型对网络设备的配置和信息输出的数据结构化定义。目前尊龙时凯数据中心交换机产品已全面支持NETCONF协议,可适用于和SDN控制器或运维平台的南向接口对接。而面对网络工程师在操作网络设备时习惯于使用CLI命令行的现状,又有什么样的案例实践呢?


    本文将给大家介绍一种主流的基于CLI命令行登录的自动化运维实践案例,希望能够给大家带来帮助。


    基于CLI的自动化运维带来的问题

     

    CLI(Command-Line Interface)是传统网络工程师最熟悉的与网络设备“沟通”的方式,工程师最初学习网络课程就是要熟悉各类协议的命令行配置、调试。工程师在日常工作中需要结合命令行输出结果进行排错,甚至在网络割接和变更的场景中,需要将变更的操作步骤细化到每一条命令。相比NETCONF等API接口,CLI命令行通常支持的内容更加丰富、灵活。所以在实现网络自动化运维的过程中,基于CLI的自动化是容易被传统网络工程师所接受和执行的。


    随着Python语言在近些年的快速发展,涌现了一批基于Python的优秀开源模块,比如Ansible、Paramiko、Netmiko、Pexpect等。网络工程师现在可以编写简短的Python脚本就能调用这些模块实现批量登录设备执行脚本,但是随之而来的另一个头痛的问题是传统的命令行输出结果通常是按照适合人类阅读的方式来呈现的。比如“show”命令的输出结果包含了大量的空格、缩进、换行等,而且很多命令还存在上下文关联性。这些命令行输出结果通常无法被计算机很好地识别,计算机更擅长识别XML、JSON、YAML等结构化数据类型,所以网工在编写Python脚本时不得不写一堆正则表达式去“抠”关键参数,然而使用复杂的正则表达式又进一步导致代码可维护性较差。


    下面以交换机最基础的查看VLAN命令为例进行说明。如下图所示是通过“show vlan”命令的输出结果,对于同一个VLAN可能会存在多个端口同时放行的情况。关联的接口数量超过一定数量时,输出的结果将会拆分成多行显示,此时,VLAN信息只在第一行显示,后续几行内容需要与第一行进行关联匹配才能得到正确的输出信息。此时如果需要读取某个VLAN关联的所有端口号列表,使用传统的正则表达式就需要多次调用正则表达式并配合循环逻辑判断才能实现,整个过程非常繁琐。


    Python常规的数据类型主要是列表或字典格式,如果有工具能够将设备的上面的输出结果直接转化为Python适配的数据类型(如下图),那么就可以直接使用Python进行处理。

     


    下面就要隆重介绍一下本文标题中提到的TextFSM模块,它就是用于结构化输出文本的一个神奇工具。


    TextFSM模块介绍

     

    TextFSM是Google开发的一种开源Python模块,可以基于模板的状态机来解析半格式化文本,从而实现对网络设备CLI输出信息进行结构化数据处理,最终将文本内容输出为Python的字典或列表格式(或者是两者组合)。


    详细内容可以访问该模块的GitHub:http://github.com/google/textfsm。


    例如,上文中需要将“show vlan”命令的输出结果进行解析,可以通过调用下面的TextFSM模板将命令输出进行格式化:


    ruijie-templates模块介绍

     

    虽然有了TextFSM模块能够做到结构化解析文本信息,但是每个厂家的CLI输出内容差异较大,需要每条命令都有相应的模板来适配,导致运维人员还需要投入大量时间去编写相应的模板。ntc-templates模块就是为了解决这个痛点诞生的。ntc-templates模块是由networktocode团队开发的Python模块,该模块基于TextFSM开发,它内置了将近400个TextFSM模板,可以适配主流厂商的CLI输出结果。


    详细可参考该模块的GitHub主页:


    http://github.com/networktocode/ntc-templates

     

    ntc-templates模块内置了index文件,将各类厂商平台和show命令映射到相应的TextFSM模板文件,每个厂商的不同命令都对应着一个独立的模板。我们在ntc-templates模块的基础上,开发了基于尊龙时凯数据中心交换机产品的模板库:ruijie-templates。ruijie-templates模板库是基于TextFSM规则开发,用于适配ntc-templates模块,可以无缝衔接Netmiko模块使用。ruijie-templates模块可以将尊龙时凯数据中心交换机CLI内容进行结构化输出,输出结果可以直接用于Python脚本使用。该模块经过多个尊龙时凯主流数据中心交换机版本测试,覆盖RG-S6510、RG-S6520、RG-S6910、RG-S6920、RG-N18000-X系列[权5] 产品,目前已支持近50条常用命令解析,后续会逐步更新完善,敬请关注。目前ruijie-templates代码已托管至GitHub:http://github.com/kevinkrabi/ruijie-templates

    下面介绍一下ruijie-templates模块使用方法。


    ruijie-templates模块使用方法

     

    安装方法

     

    前置条件:安装TextFSM库和ntc-templates库

    方法一:将ruijie-templates并入ntc-templates模板库(推荐)

    方法二:独立使用ruijie-templates库,需要设置环境变量,相对复杂(不推荐)
    推荐使用方法一将本模板库合并入ntc-templates模块使用,具体操作步骤如下:


    下载模板库

     

    git clone git@github.com:kevinkrabi/ruijie-templates.git

    模板文件导入ntc-templates

    将templates目录下的所有TextFSM文件导入ntc-templates库的templates目录。


    以macOS为例:


    cp*.textfsm Library/Frameworks/Python.framework/Versions/3.6/lib/Python3.6/site-packages/ntc_templates/templates//index

     

    添加index信息

     

    以macOS为例,index文件所在路径为:

    Library/Frameworks/Python.framework/Versions/3.6/lib/Python3.6/site-packages/ntc_templates/templates/index

     

    找到index文件后用文本编辑软件打开,将以下内容全部复制粘贴到原始文件末尾即可。

    注意:由于ntc-templates模板库匹配原则,为避免异常情况,以下index条目不建议调整顺序!

     

    案例一:使用Netmiko登录设备获取输出信息

     

    说明

    该案例使用Netmiko模拟CLI自动化登录一台设备,读取关键信息并输出结果。


    Netmiko是基于Paramiko开发的专门用于适配网络设备的开源Python库,Netmiko同时集成了TextFSM环境,目前最新版本Netmiko(3.3.3)已支持尊龙时凯产品,device_type参数:ruijie_os


    测试目标

    使用Netmiko登录设备,通过执行“show int count rate up”命令获取设备输出信息,并将结果以字典方式输出。

     

     

    实现代码

     

    注意关键字:device_type': 'ruijie_os',use_TextFSM=True

     

    实现效果

     

     

    案例二:使用ntc-teamplates将文本结构化输出

     

    说明

    该案例使用ntc-templates模块,对文本内容进行结构化输出。

     

    测试目标

    以下图中BGP路由表为例,需要对“show ip bgp”命令执行结果进行结构化输出。

     

    实现代码

    注意关键字:platform='ruijie_os'

     

    实现效果

     

    写在最后

    本文介绍了网络自动化运维的问题和解决方案,并结合两个案例介绍了ruijie-template模块的功能以及使用方法,感兴趣的读者可以参考案例下载测试,当前的命令数量还不能满足所有业务场景,如您有更好的建议和意见可以留言,希望这个模块可以帮助到有这方面需求的朋友。


    附录

     

    本文中介绍的相关模块GitHub地址:

    ruijie-template:http://github.com/kevinkrabi/ruijie-templates

    TextFSM:http://github.com/google/textfsm

    ntc-templates:http://github.com/networktocode/ntc-templates

    Netmiko:http://github.com/ktbyers/Netmiko

    相关推荐:

    • 畅谈数据中心网络运维自动化
    • 运维可视化之INT功能详解
    • 数据中心自动化运维技术探索之NETCONF
    • 数据中心网络运维的"巨人之剑"
    • 聊聊新基建之数据中心的网络运维技术
    • 数据中心自动化运维技术探索之交换机零配置上线

    相关标签:

    点赞

    更多技术博文

    任何需要,请联系我们

    返回顶部

    收起
    获取报价
    请选择服务项目
    关闭咨询页
    售前咨询 售前咨询
    售前咨询
    售后服务 售后服务
    售后服务
    意见反馈 意见反馈
    意见反馈
    更多联系方式