我有一个供应商的MIB文件来询问一个特定的(在这种情况下,关键业务)软件。
当我对请求进行snmptable的时候,我得到了MAGIC-MIB::queryRtTable: No entries作为响应,但是当我用wireshark观察时,我可以看到wireshark发送响应。
这里是在wireshark中发送响应的服务器:

在构buildMIBs时一无所知,我已经发布了我所期望的以下MIB的相关部分:
MAGIC-MIB DEFINITIONS ::= BEGIN IMPORTS enterprises FROM RFC1155-SMI OBJECT-TYPE FROM RFC-1212 DisplayString FROM RFC1213-MIB; magic OBJECT IDENTIFIER ::= {enterprises 15687} manage OBJECT IDENTIFIER ::= {magic 2} query OBJECT IDENTIFIER ::= {magic 3} queryRtTable OBJECT-TYPE SYNTAX SEQUENCE OF QueryRtEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "The list of loaded enterprise servers" ::= { query 3 } queryRtEntry OBJECT-TYPE SYNTAX QueryRtEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "The enterprise server entry" INDEX { entServerEntryIndex } ::= { queryRtTable 1 } QueryRtEntry ::= SEQUENCE { entServerEntryIndex INTEGER, entServerHost DisplayString, entServerPort INTEGER, openedApplication DisplayString , entPriority INTEGER, runningThreads INTEGER, peakThreads INTEGER, runningContexts INTEGER, peakContexts INTEGER, requestsServed INTEGER, executionErrors INTEGER } entServerEntryIndex OBJECT-TYPE SYNTAX INTEGER (1..100000) ACCESS read-only STATUS mandatory DESCRIPTION "A unique identifier for an enterprise server" ::= { queryRtEntry 1 } entServerHost OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "The enterprise's host name" ::= { queryRtEntry 2 } entServerPort OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The enterprise server's port number" ::= { queryRtEntry 3 } openedApplication OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "The application that is running on the enterprise server." ::= { queryRtEntry 4 } entPriority OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The priority of the enterprise server" ::= { queryRtEntry 5 } runningThreads OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The enterprise server's running thread counter" ::= { queryRtEntry 6 } peakThreads OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The enterprise server's peak thread counter" ::= { queryRtEntry 7 } runningContexts OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The enterprise server's running context counter" ::= { queryRtEntry 8 } peakContexts OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The enterprise server's peak context counter" ::= { queryRtEntry 9 } requestsServed OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of requests served" ::= { queryRtEntry 10 } executionErrors OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of execution errors" ::= { queryRtEntry 11 }
任何想法,我应该看看为什么snmptable不返回任何数据,即使数据正在发送? 我猜这是MIB中的一个错误,但我真的不知道从哪里开始。
发现这是软件的SNMP代理中的一个错误,不pipe你请求的是哪个OID,总是返回相同的错误。 这意味着,如果这就是你想要收集的OID,太好了 – 如果你想要其他的数据,太糟糕了。