我一直在寻找这个,但找不到任何符合我需求的东西。我想要一种优雅的方式来处理Python中的SNMP表。我查看了pysnmp和net-snmp python绑定。
目前我正在使用net-snmp绑定,因为查询数据似乎更容易,而且已经很容易在CentOS6上运行,软件必须运行(Python 2.6),但我不介意安装pysnmp。
我想要的是任何类型的对象,我可以移交我的表结构的重要数据,例如表格基础OID,索引OID以及我感兴趣的列的名称和oid。我想得到一个数据结构返回,可以很容易地对行进行迭代,获取任何列的条目列表等,所有这些都不需要再烦恼OID和东西了,真的抽象出所有这些。
这样做的目的是我希望尽可能少地使用代码来查询SNMP表中的所有数据并使用它,我希望将所有样板代码放在一个模块中,以便我可以获取和使用只需几行代码即可获得SNMP表的数据。
你建议我做什么?基于pysnmp或netsnmp编写自己的抽象?我可能错过了pysnmp的高级API中的任何内容吗?也许是一个python模块,它抽象上面提到的一个,使它更容易访问数据?
很高兴听到您的意见。
答案 0 :(得分:0)
说到pysnmp,您可能会对以下两个组件感兴趣:
除了这两个组件之外,你可以read / modify MIB对象通过它们的MIB名称和符号索引引用它们,例如对所涉及的OID一无所知。 ObjectType类将在人性化表示和基本SNMP类型之间转换值。
pysnmp库可以在Python 2.6上运行。