Unix 如何使用jmxtrans将infinispan jmx度量推送到graphite?
我有这个配置文件Unix 如何使用jmxtrans将infinispan jmx度量推送到graphite?,unix,jmx,graphite,infinispan,jmxtrans,Unix,Jmx,Graphite,Infinispan,Jmxtrans,我有这个配置文件 { "servers": [ { "url": "service:jmx:rmi:///jndi/rmi://192.168.167.166:6000/jmxrmi ", "alias": "infinispan", "username":"admin", "password": "admin", "queries": [ {
{
"servers": [
{
"url": "service:jmx:rmi:///jndi/rmi://192.168.167.166:6000/jmxrmi ",
"alias": "infinispan",
"username":"admin",
"password": "admin",
"queries": [
{
"obj": "java.lang:type=Memory",
"attr": [
"HeapMemoryUsage",
"NonHeapMemoryUsage"
],
"outputWriters": [
{
"@class": "com.googlecode.jmxtrans.model.output.GraphiteWriterFactory",
"port": 2003,
"host": "127.0.0.1",
"typeNames": [
"name"
]
}
]
}
],
"numQueryThreads": 2
}
]
}
graphite正在本地主机上运行,当我连接jconsole时,它运行良好,并显示度量
我从/jmxtrans-jmxtrans-parent-260/jmxtrans文件夹中运行“/jmxtrans.sh start infinispan.json”
在jmxtrans.log文件中,我不断得到以下异常:
[13 Dec 2016 09:27:04] [Stormpot-pool-3-thread-1] 2448 ERROR (com.googlecode.jmxtrans.model.output.support.pool.RetryingAllocator$1:77) - Error allocating slot
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at com.googlecode.jmxtrans.model.output.support.pool.SocketAllocator.allocate(SocketAllocator.java:61)
at com.googlecode.jmxtrans.model.output.support.pool.SocketAllocator.allocate(SocketAllocator.java:37)
at com.googlecode.jmxtrans.model.output.support.pool.RetryingAllocator$2.call(RetryingAllocator.java:89)
at com.googlecode.jmxtrans.model.output.support.pool.RetryingAllocator$2.call(RetryingAllocator.java:86)
at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78)
at com.github.rholder.retry.Retryer.call(Retryer.java:160)
at com.googlecode.jmxtrans.model.output.support.pool.RetryingAllocator.allocate(RetryingAllocator.java:86)
at stormpot.ReallocatingAdaptor.allocate(ReallocatingAdaptor.java:37)
at stormpot.BAllocThread.alloc(BAllocThread.java:225)
at stormpot.BAllocThread.increaseSizeByAllocating(BAllocThread.java:131)
at stormpot.BAllocThread.replenishPool(BAllocThread.java:106)
at stormpot.BAllocThread.continuouslyReplenishPool(BAllocThread.java:88)
at stormpot.BAllocThread.run(BAllocThread.java:80)
at java.lang.Thread.run(Thread.java:745)
最终我发现问题出在流浪汉将其转发到的港口,在本例中为22003:
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'mayflower/trusty64-puppet3' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 443 (guest) => 8443 (host) (adapter 1)
default: 8125 (guest) => 8125 (host) (adapter 1)
default: 2003 (guest) => 22003 (host) (adapter 1)
我已将编写器替换为“@class”:“com.googlecode.jmxtrans.model.output.Slf4JOutputWriter”,异常消失,因此在vagrant的帮助下运行的本地主机graphite出现了一些问题