Java 如何从EC2实例收集JMX度量并将其填充到AWS Cloudwatch中
我有下面的设置到位 EC2实例,安装以下包以收集度量Java 如何从EC2实例收集JMX度量并将其填充到AWS Cloudwatch中,java,amazon-web-services,elasticsearch,amazon-cloudwatch,Java,Amazon Web Services,elasticsearch,Amazon Cloudwatch,我有下面的设置到位 EC2实例,安装以下包以收集度量 云监视代理 cloudwatch插件 收集 收集java 集合通用jmx 弹性搜索 现在,我的目的是收集Elasticsearch jmx相关指标(使用的堆空间、gc时间等),并将它们发布到cloudwatch,这是我无法做到的。 我可以将其他指标(mem、df、cpu)刮到cloudwatch,但在cloudwatch上没有看到jmx指标的痕迹 是否可以收集弹性搜索jmx指标,我的配置是否正确,请帮助 我不熟悉jmx配置 请查找我的coll
<Plugin "java">
JVMArg "-Djava.class.path=/usr/share/collectd/java/collectd-api.jar:/usr/share/collectd/java/generic-jmx.jar"
LoadPlugin "org.collectd.java.GenericJMX"
<Plugin "GenericJMX">
<MBean "gc-count">
ObjectName "java.lang:type=GarbageCollector,*"
InstancePrefix "gc-"
InstanceFrom "name"
<Value>
Type "derive"
Table false
Attribute "CollectionCount"
InstancePrefix "count"
</Value>
</MBean>
<MBean "gc-time">
ObjectName "java.lang:type=GarbageCollector,*"
InstancePrefix "gc-"
InstanceFrom "name"
<Value>
Type "derive"
Table false
Attribute "CollectionTime"
InstancePrefix "time"
</Value>
</MBean>
<MBean "memory_pool">
ObjectName "java.lang:type=MemoryPool,*"
InstancePrefix "memory_pool-"
InstanceFrom "name"
<Value>
Type "memory"
Table true
Attribute "Usage"
</Value>
</MBean>
<MBean "memory-heap">
ObjectName "java.lang:type=Memory"
InstancePrefix "memory-heap"
<Value>
Type "memory"
Table true
Attribute "HeapMemoryUsage"
</Value>
</MBean>
<MBean "memory-nonheap">
ObjectName "java.lang:type=Memory"
InstancePrefix "memory-nonheap"
<Value>
Type "memory"
Table true
Attribute "NonHeapMemoryUsage"
</Value>
</MBean>
<MBean "thread">
ObjectName "java.lang:type=Threading"
InstancePrefix "threading"
<Value>
Type "gauge"
Table false
Attribute "ThreadCount"
InstancePrefix "count"
</Value>
</MBean>
<MBean "thread-daemon">
ObjectName "java.lang:type=Threading"
InstancePrefix "threading"
<Value>
Type "gauge"
Table false
Attribute "DaemonThreadCount"
InstancePrefix "count-daemon"
</Value>
</MBean>
<Connection>
ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:9200/ ---> elasticsearch running with https
Collect "memory_pool"
Collect "memory-heap"
Collect "memory-nonheap"
Collect "gc-count"
Collect "gc-time"
Collect "thread"
Collect "thread-daemon"
User "kibana"
Password "kibana"
</Connection>
</Plugin>
</Plugin>
我相信最好的办法是使用普罗米修斯。我相信最好的办法是使用普罗米修斯。
[2020-04-19 10:18:46] [error] GenericJMX plugin: Evaluating `Connection' block failed: java.lang.IllegalArgumentException: No service URL was defined.