快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
为:

带实例: \性能对象(实例名)\计数器名

不带实例: \性能对象\计数器名

WPM 最大的缺点就是它访问这个数据有些困难,尤其是远程获取,如果是非 Windows 平台的话,那么困难更大。我将呈现很多使用基于 ITracer 的收集器捕获 WPM 数据的方法。下面总结了一些主要方法:

读取日志文件:可以配置 WPM 以将所有收集的指标记录在日志文件中,然后就可以读取、解析和跟踪该日志文件。

数据库查询:可以配置 WPM 以将所有收集的指标记录在 SQL Server 数据库中,收集到的指标可以在这个数据库中被读取、解析和跟踪。

Win32 API:使用 Win32 API(.NET、C++、Visual Basic 等)编写的客户机可以使用 WPM 的 API 直接连接到 WPM。

自定义代理:自定义代理可以安装在目标 Windows 服务器上,该目标 Windows 服务器要能够为外部请求 —— 请求非 Windows 客户机中的 WPM 数据 —— 充当代理服务器。

简单网络管理协议(Simple Network Management Protocol,SNMP):SNMP 是一个代理的一个实例,该代理更加强调它对设备、主机等的监控能力。稍后我将在本文中论述 SNMP。

WinRM:WinRM 是 WS-Management 规范的 Windows 实现,它概述了如何使用 Web 服务来管理系统。由于 Web 服务是独立于语言和平台的,因此 WinRM 必然会给非 Windows 客户机提供 WPM 指标访问。虽然 WinRM 可以被当作是代理的另一种形式,但它将成为 Windows 2008 的标准配置,这将把它推向无代理解决方案的舞台。最有趣的是,Java Specification Request 262(Web Services Connector for JMX Agent)承诺要与基于 Windows 的、WS-Management 服务直接交互。

在接下来的例子中,我将使用本地 Windows shell 和代理实现呈现一个理论上的概念验证。

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

时间:2011-02-13 IBM Nicholas Whitehead

本地 Windows shell

作为一个简单的概念验证,我已经创建了一个可使用 C# 执行的名为 winsar.exe 的 Windows 命令行。它的用途是提供一些与 Linux/UNIX sar 命令相同的对性能统计的命令行访问。使用该命令行的语法很简单:winsar.exe Category Counter Raw Instance .

实例名是强制使用的,除非计数器不是实例计数器,非实例计数器名称可以全是(*)。计数器名也是强制使用的,但也可以全是(*)。Raw 是 true 或者 false。清单 10 展示了使用基于实例的计数器和非基于实例的计数器的例子:

清单 10. 使用了非基于实例的和基于实例的计数器的 winsar

C:\NetProjects\WinSar\bin\Debug>winsar Memory "% Committed Bytes In Use" false
 %-Committed-Bytes-In-Use
 79.57401
C:\NetProjects\WinSar\bin\Debug>winsar LogicalDisk "Current Disk Queue Length" false C:
         Current-Disk-Queue-Length
C:  2

因为我的目的是重建某种类似 sar 的东西,数据是以杂乱无章的(非格式化的)表格形式输出的,因此可以使用标准 shell 命令集来解析这些数据输出。对于基于实例的计数器来说,实例位于数据行的第一列,计数器名位于标题行。而对于非基于实例的计数器来说,数据行的第一个字段中无名称。为了能够清晰解析,任何带有空格的名称都填充 “-” 字符。这样做虽然会很难看但却可以使解析比较容易。

为这些统计信息(为进行演示而进行了删减)设置一个收集器是相当简单的。shell 实现是一个 org.runtimemonitoring.spring.collectors.shell.local.WindowsShell,命令集引用了 winsar.exe 和参数。shell 还可以被实现为使用 SSH 的远程 shell,要使用 SSH 需要在目标 Windows 主机上安装一个 SSH 服务器。然而,这个解决方案的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号