我需要使用名为Zenoss的监控工具在多台服务器上设置流程监控器。我面临的问题是如何通过SNMP获取有关特定流程的信息?我根本不熟悉SNMP,而且我很难找到我需要的东西。
我一直在尝试使用名为SNMP-Probe的工具,但它似乎只提供基本的系统信息,而不是我需要或可以使用的任何信息。
感谢您的任何帮助。
答案 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脚本来查找行为不当的过程并自动终止它。