快速业务通道

Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(2) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
,我需要了解的重要因素有:

主机地址:目标 SNMP 代理所在的 IP 地址或主机名。

端口:目标 SNMP 代理在其上进行监听的端口。由于一个网络地址可能在处理很多个 SNMP 代理,每一个代理都需要在不同的端口上进行监听。

协议版本:SNMP 协议已经经历过多次的修订了,而支持级别会根据不同的代理而变化。可选的版本有:1、2c 和 3。

社区:SNMP 社区是一个松散定义的管理域。如果社区不是已知的话,SNMP 客户机就无法凭代理发出请求,所以发挥着松散形式的验证作用。

OID:这是一个指标或一组指标的惟一标示符。其格式为一系列用点分隔的整数。例如,Linux 主机的一分钟载入的 SNMP OID 为 .1.3.6.1.4.1.2021.10.1.3.1,由 1、5 和 15 分钟载入的指标子集的 OID 为 .1.3.6.1.4.1.2021.10.1.3。

除了社区以外,有些代理还可以定义其他层面的验证。

在我深入论述 SNMP API 之前,要注意 SNMP 指标可以使用两个普通的命令行实用程序来检索,它们是: snmpget,它检索一个 OID 的值;snmpwalk,它检索 OID 值的子集。记住了这点,我就能够经常扩展我的 ShellCollector CommandSet 来跟踪 SNMP OID 值了。清单 19 示范了一个 snmpwalk 的例子,它带有在 Linux 主机上检索 1、5 和 15 分钟载入的原始的输出。我使用的是该协议的 2c 版本和公共社区。

清单 19. snmpwalk 示例

contentgt; snmpwalk -v 2c -c public 127.0.0.1 .1.3.6.1.4.1.2021.10.1.3 UCD-SNMP-MIB::laLoad.1 = STRING: 0.22 UCD-SNMP-MIB::laLoad.2 = STRING: 0.27 UCD-SNMP-MIB::laLoad.3 = STRING: 0.26 contentgt; snmpwalk -v 2c -c public 127.0.0.1 .1.3.6.1.4.1.2021.10.1.3 \   | awk ''{ split($1, name, "::"); print name[2] " " $4}'' laLoad.1 0.32 laLoad.2 0.23 laLoad.3 0.22

Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(2)(10)

时间:2011-02-13 IBM Nicholas Whitehead

第二条命令可以轻松地在我的 Linux 命令集中表现出来,如清单 20 所示:

清单 20. 处理 snmpwalk 命令的 CommandSet

<CommandSet name="LinuxSNMP">   <Commands><Command>    <shellCommand><![CDATA[snmpwalk -v 2c -c public 127.0.0.1    .1.3.6.1.4.1.2021.10.1.3 | awk ''{ split($1, name, "::"); print name[2] "    " $4}'']]></shellCommand>      <Extractors><CommandResultExtract>        <paragraph id="0" name="System Load Summary" header="false"/>         <columns entryName="0" values="1" offset="0">           <namemapping from="laLoad.1" to="1 Minute Load"/>           <namemapping from="laLoad.2" to="5 Minute Load"/>           <namemapping from="laLoad.3" to="15 Minute Load"/>         </columns>         <tracers default="SINT"/>         <lineSplit>\n</lineSplit>      </CommandResultExtract></Extractors>    </Command></Commands> </CommandSet>

商用的、开源 SNMP Java API 有好多个。我实现了一个基本的 Spring 收集器,它的名称为 org.runtimemonitoring.spring.collectors.snmp.SNMPCollector,该收集器的实现使用到了一个名为 joeSNMP 的开源 API(参见 参考资

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号