对于RHQ-Metrics,我已经开始为WildFly 8编写一个子系统,该子系统能够在WildFly内收集指标,然后以固定的时间间隔(当前为每分钟)将其发送到RHQ-Metrics服务器。
下一张图是该发件人连续运行1.5天时结果的可视化效果的Grafana图表:
(有趣的是,JVM如何随着时间的推移微调其内存需求,并为此不断的工作量使用越来越少的内存)。
以下是设置的可视化:
发送方在WildFly内部作为子系统运行,并从WildFly管理api中读取指标。 然后,通过REST将收集的度量标准推送到RHQ-Metrics。 当然,可以将它们发送到在单独主机上运行的RHQ-Metrics服务器。
子系统的配置如下所示:
<subsystem xmlns="urn:org.rhq.metrics:wildflySender:1.0"><rhqm-servername="localhost"enabled="true"port="8080"token="0x-deaf-beef"/><metric name="non-heap"path="/core-service=platform-mbean/type=memory"attribute="non-heap-memory-usage"/><metric name="thread-count"path="/core-service=platform-mbean/type=threading"attribute="thread-count"/>
</subsystem>
如您所见,可以在配置中提供DMR资源的路径以及作为度量标准监视的属性的名称。
目前,实现仍是基本的-您可以在GitHub上的RHQ-Metrics存储库中找到源代码 。 捐款很受欢迎。
Heiko Braun和Harald Pehl当前正在努力优化各个时间间隔的调度,并可能对域中托管服务器的请求进行批量处理。
非常感谢Emmanuel Hugonnet , Kabir Khan ,尤其是Tom Cerar的帮助,使我能够编写子系统,这对我来说非常棘手。 解析器,对象模型和XML相互之间有很大的分歧!
翻译自: https://www.javacodegeeks.com/2014/10/wildfly-subsystem-for-rhq-metrics.html