在Python中处理SNMP表的优雅且可移植的方式

2024-05-20 20:59:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在寻找这个,但还没有找到任何适合我需要的东西。我想要一种优雅的方式来使用Python中的SNMP表。我已经研究了pysnmp和netsnmppython绑定。在

目前,我正在使用netsnmp绑定,因为它似乎更容易查询数据,而且它已经可以在CentOS6上轻松使用,而该软件必须运行(python2.6),但我也不介意安装pysnmp。在

我想要的是任何类型的对象,我可以交出我的表结构的重要数据,例如表基OID、索引OID和我感兴趣的列的名称和OID。我想得到一个数据结构,它可以很容易地遍历行,获取任何列的条目列表等等,而不必再为oid和其他东西费心了,真的把这些都抽象化了。在

这样做的目的是,我希望使用尽可能少的代码来查询SNMP表中的所有数据并使用它,我希望所有的锅炉板代码都在一个模块中,这样我就可以在几行代码中获取和处理SNMP表的数据。在

你建议我怎么办?基于pysnmp或netsnmp编写我自己的抽象?在pysnmp的高级API中有什么我可能遗漏的地方吗?也许是一个python模块,它抽象了上面提到的其中一个,以便更容易地访问数据?在

很高兴听到你的建议。在


Tags: 模块数据对象代码类型方式结构建议
1条回答
网友
1楼 · 发布于 2024-05-20 20:59:42

谈到pysnmp,您可能会感兴趣的有两个组件:

  • ObjectType/ObjectIdentity类表示MIB对象并处理OID<;->;符号<;->;索引和值类型很重要
  • 在ObjectType实例上操作高级API

在这两个组件之上,您可以read/modifyMIB对象,通过它们的MIB名称和符号索引来引用它们,例如不知道所涉及的oid。ObjectType类将在其友好表示和基本SNMP类型之间转换值。在

pysnmp库可以在python2.6上运行。在

相关问题 更多 >