支持多供应商的网络自动化和可编程性抽象层:syslog解析器

napalm-logs的Python项目详细描述


python库解析来自网络设备的syslog消息并生成json可序列化的python对象,其形状与供应商无关。输出对象的结构遵循openconfig或ietf-yang模型。

例如,来自juniper设备的以下syslog消息:

Mar 30 12:45:19 re0.edge01.bjm01 rpd[15852]: BGP_PREFIX_THRESH_EXCEEDED 1.2.3.4 (External AS 15169): Configured maximum prefix-limit threshold(160) exceeded for inet-unicast nlri: 181 (instance master)

将生成以下对象:

{"yang_message":{"bgp":{"neighbors":{"neighbor":{"192.168.140.254":{"state":{"peer_as":"65001"},"afi_safis":{"afi_safi":{"inet4":{"state":{"prefixes":{"received":141}},"ipv4_unicast":{"prefix_limit":{"state":{"max_prefixes":140}}}}}}}}}}},"message_details":{"processId":"2902","severity":5,"facility":18,"hostPrefix":null,"pri":"149","processName":"rpd","host":"vmx01","tag":"BGP_PREFIX_THRESH_EXCEEDED","time":"14:03:12","date":"Jun 21","message":"192.168.140.254 (External AS 65001): Configured maximum prefix-limit threshold(140) exceeded for inet4-unicast nlri: 141 (instance master)"},"timestamp":1498050192,"facility":18,"ip":"127.0.0.1","host":"vmx01","yang_model":"openconfig-bgp","error":"BGP_PREFIX_THRESH_EXCEEDED","os":"junos","severity":5}}

这个库附带了一个命令行程序,该程序充当后台程序,在后台运行并连续监听syslog消息,然后通过安全通道发布这些消息,在这些通道中,多个客户端可以订阅。

<> P>通过UDP或TCP监听系统日志消息是灵活的,但也可以从诸如Apache卡夫卡的经纪人那里听到。类似地,输出对象可以通过各种渠道发布,如zeromq、kafka或远程服务器日志记录。它还具有足够的可插入性,可以根据需要扩展这些功能并侦听或发布到其他服务。

这些消息通过一个安全的通道发布、加密和签名。虽然可以禁用安全性,但这是非常不可取的。

文档

请检查the official documentation以获取更多详细信息。

安装

凝固汽油弹日志在pypi上可用,可以使用以下命令轻松安装:

pip install napalm-logs

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我们可以使用java for loop with switch语句。。?   java如何从具有循环关系的数据集生成树?   使用s:mvcUrl标记时java Spring启动问题   javascript Wicket调色板水平滚动条在firefox中不显示   java如何清理Maven插件绑定?   java将文件从设备发送到计算机不起作用(文件被破坏)   Java GPU编程的性能   java字符串标记器问题   连接Java LDAP断开连接   java Android GridView将无法确定正确的位置   java AlarmManager在指定时间未显示toast消息   MVC中的java测试外观|断言返回类型   logcat上的java Android运行时错误   java Building Workspace在Eclipse中遇到错误   堆栈溢出尾部递归遗传算法抛出“awteventque0”java。StackOverflowerr语言   java ArrayOutOfBounds测试代码不工作   java有没有像Moodle这样流行的课程管理系统?   java如何从jsp获取xml文件作为响应