SNMP - 从进程获取信息

时间:2012-04-03 15:09:53

标签: windows snmp process-monitoring zenoss

我需要使用名为Zenoss的监控工具在多台服务器上设置流程监控器。我面临的问题是如何通过SNMP获取有关特定流程的信息?我根本不熟悉SNMP,而且我很难找到我需要的东西。

我一直在尝试使用名为SNMP-Probe的工具,但它似乎只提供基本的系统信息,而不是我需要或可以使用的任何信息。

感谢您的任何帮助。

4 个答案:

答案 0 :(得分:2)

您需要查询hrSWRunTable以收集所需信息。此MIB为您提供了许多信息,例如进程名称,路径,类型,状态,参数,CPU和RAM使用情况,即使这两个信息存储在另一个MIB(hrSWRunPerfEntry)上也是如此。但是你如何做“查询”取决于你正在使用的环境,我几乎可以肯定vbs包含一个SNMP库。

答案 1 :(得分:1)

我只是在做同样的事情

snmpwalk -v2c -c public xxx.xxx.xxx.xxx .1.3.6.1.2.1.25.4.2.1.2

HOST-RESOURCES-MIB :: hrSWRunName

答案 2 :(得分:1)

以下是从Linux主机通过NetSnmp进行的示例检索。 (我会将此作为对@ raz3r接受的答案的评论添加,但我希望能够格式化文本!)

 snmptable -v2c -Ci -c public myserver  HOST-RESOURCES-MIB::hrSWRunTable
SNMP table: HOST-RESOURCES-MIB::hrSWRunTable

 index hrSWRunIndex       hrSWRunName               hrSWRunID                        hrSWRunPath                                                                                                                  hrSWRunParameters hrSWRunType hrSWRunStatus
     1            1            "init" SNMPv2-SMI::zeroDotZero                       "/sbin/init"                                                                                                                                 "" application      runnable
     2            2        "kthreadd" SNMPv2-SMI::zeroDotZero                         "kthreadd"                                                                                                                                 "" application      runnable
     3            3     "ksoftirqd/0" SNMPv2-SMI::zeroDotZero                      "ksoftirqd/0"                                                                                                                                 "" application      runnable
 // other rows snipped for brevity 

答案 3 :(得分:0)

不幸的是,我无法确切地知道如何做到这一点。我最终在每台机器上使用vbs脚本来查找行为不当的过程并自动终止它。