我正在使用pysnmp提供的示例snmp代理来遍历表。在提供的示例中,所有数据都在代理。 init 例程中提取,这意味着它在启动时被提取一次并被缓存。我想每次获取系统中的新数据。或者' walk'收到请求....示例代理代码在哪里这是一个很好的地方?有可用的例子吗?谢谢!
答案 0 :(得分:0)
有多种方法可以获取发送到SNMP代理的SNMP请求。
一种方法是继承MibScalarInstance
类并定义您自己的getValue
方法,您可以从中调用后端获取实际的新信息。这是the example。
如果您的SNMP表是动态的(例如,它的行可以来去),请确保将自定义MibScalarInstance
类分配给其父MibTableColumn.protoInstance,以便从您的自定义{创建新行{1}}衍生物。
或者,您可以放弃整个pysnmp MIB子系统,只需解释从SNMP请求获取的OID并构建响应OID值对。这是the example这种方法。