2016-07-25 91 views
1

我一直在为此寻找很多,但没有找到符合我需求的任何东西。我想要一个在Python中使用SNMP表格的优雅方式。我看过pysnmp和net-snmp python绑定。在Python中处理SNMP表的优雅和便携的方式

目前我正在使用net-snmp绑定,因为它似乎更容易查询数据,而且它已经很容易在CentOS6上得到,软件将不得不运行(Python 2.6),但我不会介意安装pysnmp。

我想要的是任何一种对象,我可以交出我的表结构的重要数据,例如表基OID,索引OID以及我感兴趣的列的名称和oid。我希望得到一个数据结构返回,可以非常容易地遍历行,获取任何列的条目列表等,所有这些都不必打扰OID和其他东西,真正抽象出所有这些。

这样做的目的是我想尽可能使用尽可能少的代码来查询SNMP表中的所有数据并使用它,我希望在模块中具有所有的锅炉板代码,以便我可以读取和工作只需几行代码即可获得SNMP表的数据。

你会建议我做什么?基于pysnmp或netsnmp编写我自己的抽象? pysnmp的高级API中有什么可能会遗漏吗?也许是一个python模块,它抽象出上面提到的其中一个,使得它更容易访问数据?

很高兴听到您的意见。

+0

RFC3416等标准定义了执行“表遍历”的方法。你应该检查你使用的图书馆有类似的东西。如果不是,他们仍然很容易实现。 –

回答

0

说到pysnmp,有两种成分,可能是你的兴趣:

在这两个组件的基础上你可以read/modify MIB对象s通过它们的MIB名称和符号索引来引用它们,例如对涉及的OID一无所知。 ObjectType类将在其人性化表示和基本SNMP类型之间转换值。

pysnmp库可用于Python 2.6。