Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(1) - 编程入门网
ing from="rawsck" to="Raw Sockets"/>
<namemapping from="tcpsck" to="TCP Sockets"/>
<namemapping from="totsck" to="Total Sockets"/>
<namemapping from="udpsck" to="UDP Sockets"/>
</columns>
<tracers default="SINT"/>
<filterLine>Average:.*</filterLine>
<lineSplit>\n</lineSplit>
</CommandResultExtract>
</Extractors>
</Command>
</Commands>
</CommandSet>
CommandSet 负责管理 shell 命令和解析指令。由于每一个 Linux 或 UNIX 系统的输出 —— 即便是对相同命令的输出 —— 都会有些不同,因此每一种类型的受监控的主机通常都会有一个对应的 CommandSet。要使用 XML 详述 CommandSet 背后的每一个选项,可能要占用很长的篇幅,因为它一直在不断演变,而且会根据情况的不同而改变,因此我只简短的概述一下其中一些标记,内容如下: <shellCommand> :定义将要传给 shell 的实际命令。 <paragraphSplitter> :有些命令,或组成多个命令链的命令,可能会返回多个文本片段。这些文本片段被称为段落。正则表达式(regex)在这里指定了划分段落的标准。命令对象将结果分成多个段落,并将所需段落传递到底层提取器。 <Extractors> 和其中包含的 <CommandResultExtract> 标记:这些结构定义解析和映射。 <paragraph> :提取器使用 id 属性中的基于零的索引来定义它想要从结果中抽取的段落,所有从该段落中跟踪的指标都被归入到以该段落名定义的跟踪名称空间中。 <columns> :如果定义了 entryName 的话,那么每一行中编入索引的列都会被添加到跟踪名称空间。这是针对左侧列包含一个指标分界的情况而言的。例如,sar 的一个选项将会分别为每一个 CPU 报告 CPU 使用,CPU 编号列于第二列中。在 清单 5 中,entryName 提取出 all 限定符,该限定符表明报告为所有 CPU 的总体汇总。values 属性代表每一行中需要被跟踪的行,而 offset 负责保持数据行中的列数和相应标题间的平衡。 <tracers> :它定义默认跟踪类型,并允许为与指定的标题或 entryName 有关的值定义不同的跟踪器类型。 <filterLine> :如果定义了它,regex 会忽略整行文本不匹配的数据行。 <lineSplit> :它定义用于解析每一个段落中各行的分隔 regex。 Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(1)(7)时间:2011-02-13 IBM Nicholas Whitehead图 3 展示了这个例子的 APM 树: 图 3. Ubuntu Desktop 监控的 APM 树 如果不喜欢这个树的外观的话,您还有其他的选择。发送到服务器的命令很容易修改,可以修改它们使其传递一连串的 grep、awk 和 sed 命令,以此来将数据重新格式化为很少需要解析的格式。例如,参见清单 6: 清单 6. 格式化命令内部的命令输出
另外一个可以提供最佳配置、灵活性和性能的选择就是使用动态脚本,这种方法在其他格式化工具不可用或输出格式极其笨拙的情况下尤为适用。在接下来的例子中,我配置了一个 Telnet shell 用以从 Cisco CSS 负载均衡器中收集负载均衡状态数据。输出格式和内容对于任何种类的标准 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |