有没有一种简单的方法可以获取以字母 XYZ 开头的所有进程的指标?我有大约 80 个进程需要单独监控,这些进程都以前缀 XYZ 开头。
我使用 sigar shell 创建了一个查询:ps State.Name.sw=XYZ,它将为我提供我想要的进程列表。我需要做的是通过上述查询定义这个进程列表,并从进程服务收集和跟踪统计信息:http://support.hyperic.com/display/hypcomm/Process+service
我需要的是查询定义的每个 XYZ 进程的 3 或 4 个关键统计数据,以便在 Web 前端显示为图表。
注意:Hyperic HQ 服务器安装在 Windows 机器上,我通过代理监控 Linux 机器。
谢谢,
克里斯
编辑:这是我尝试的一个插件,它可能满足我的要求,但 Hyperic Web UI 无法清点/检测到它。简单地向我指出 Hyperic 的教程之一,是行不通的。谢谢。
<!DOCTYPE plugin [
<!ENTITY process-metrics SYSTEM "/pdk/plugins/process-metrics.xml">]>
<plugin>
<server name="ABCStats">
<config>
<option name="process.query"
description="Process Query"
default="State.Name.sw=XYZ"/>
</config>
<metric name="Availability"
alias="Availability"
template="sigar:Type=ProcState,Arg=%process.query%:State"
category="AVAILABILITY"
indicator="true"
units="percentage"
collectionType="dynamic"/>
&process-metrics;
<plugin type="autoinventory"/>
<plugin type="measurement"
class="org.hyperic.hq.product.MeasurementPlugin"/>
</server>
</plugin>
答案1
当涉及到任何类型的趋势数据时,我目前最喜欢的方法是使用 munin 及其插件架构。Munin 插件编写起来非常简单,因此很容易对各种数据进行趋势分析。如果您已经有一个抓取每个进程的脚本,您应该能够为每个进程生成数据,并让 munin 将其粘贴到 rrd db 中以生成图表。
答案2
看到所有用于进程监控的自定义代理/协议,这很有趣。部分原因是 net-snmp 在监控每个进程的数据方面完全没有用处,而普通客户端想要依赖 SNMP。
我通常看到使用自定义脚本来解决这个问题,这些脚本使用一组自定义选项运行 ps,解析结果输出并根据需要进行处理。这会导致在大型企业中管理此解决方案的多种变体时出现可扩展性问题。
答案3
您可能想尝试一下脚本插件:Hyperic HQ 脚本插件, 和它的教程。