PySNMP MIB模块试图访问Counter64函数时失败

2024-09-28 18:52:09 发布

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

尝试运行基于MIB的SNMP脚本时遇到问题。它无法运行函数Counter64,尽管我知道包含该函数的模块已安装。MIB模块是自动生成的,因此我试图在安装丢失的模块后重新生成它,但它没有解决问题。在

代码如下:

#!/usr/local/bin/python2.7

from pysnmp.smi import builder, view, error
from pysnmp.entity.rfc3413.oneliner import cmdgen

cmdGen = cmdgen.CommandGenerator()
mibBuilder = builder.MibBuilder()
mibSources = mibBuilder.getMibSources() + ( builder.DirMibSource( '/path/to/command/mibs', ), )
mibBuilder.setMibSources( *mibSources )
print mibBuilder.getMibSources()
mibBuilder.loadModules( 
    'NS-MIB-smiv2',
    )
mibView = view.MibViewController( mibBuilder )
errorIndication, errorStatus, errorIndex, \
                 varBindTable = cmdGen.nextCmd( 
    cmdgen.CommunityData( 'Name', 'Community' ),
    cmdgen.UdpTransportTarget( ( 'IP Address', 161 ) ),
    ( ( '', 'serverName' ), ),
    )

print varBindTable

我知道环境的变量是正确的,因为我可以使用人工分配的oid查询它们,没有任何问题。我收到的回溯是:

^{pr2}$

有人有推荐吗?Counter64是pycopia SMI Python模块的一部分,我已经确认安装了它。但我不确定如何解决这个问题。在


Tags: 模块函数fromimportviewbuildermibprint
1条回答
网友
1楼 · 发布于 2024-09-28 18:52:09

找到问题所在。由于某些原因,build-pysnmp-mib包装器在运行MIB时没有将Counter64项添加到mibBuilder.importSymbols()中。手动添加它,它就一直在移动。在

相关问题 更多 >