我有下面的代碼,我一直在使用它來查詢pysnmp。到目前爲止,它已被用來散步,但我希望能夠得到一個特定的索引。例如,我想查詢HOST-RESOURCES-MIB::hrSWRunPerfMem.999
pysnmp輪詢HOST-RESOURCES-MIB中的特定進程索引
我可以用它來使用getCounter('1.1.1.1', 'public', 'HOST-RESOURCES-MIB', 'hrSWRunPerfMem')
然而成功地取回一切hrSWRunPerfMem一次我嘗試包括索引號getCounter('1.1.1.1', 'public', 'HOST-RESOURCES-MIB', 'hrSWRunPerfMem', indexNum=999)
我總是varBindTable == []
from pysnmp.entity.rfc3413.oneliner import cmdgen
from pysnmp.smi import builder, view
def getCounter(ip, community, mibName, counterName, indexNum=None):
cmdGen = cmdgen.CommandGenerator()
mibBuilder = cmdGen.mibViewController.mibBuilder
mibPath = mibBuilder.getMibSources() + (builder.DirMibSource("/path/to/mibs"),)
mibBuilder.setMibSources(*mibPath)
mibBuilder.loadModules(mibName)
mibView = view.MibViewController(mibBuilder)
retList = []
if indexNum is not None:
mibVariable = cmdgen.MibVariable(mibName, counterName, int(indexNum))
else:
mibVariable = cmdgen.MibVariable(mibName, counterName)
errorIndication, errorStatus, errorIndex, varBindTable = cmdGen.nextCmd(cmdgen.CommunityData('test-agent', community),
cmdgen.UdpTransportTarget((ip, snmpPort)),
mibVariable)
有沒有人有一些如何使用pysnmp輪詢特定索引的見解?
這樣做!謝謝!在最後的建議中,我重新編了一些代碼,而且事情看起來更順暢。 – EEP