[collectd] Generic JMX plugin and JVM restart

Rahul Agarwal RAgarwal at livegamer.com
Thu Sep 25 18:40:54 CEST 2014

Thanks Bryan. So I tried it out. Initially it worked and I was collecting data! It is nice that there are minimal changes from GenericJMX in the configs.
But after a re-deploy the reconnection failed. Now I have even tried restarted collectd but Fast jmx still seems to be unable to connect. I am able to connect to jmx via jconsole so the server is certainly good.
Not sure if Fast jmx is remembering the bad state somewhere.

From: Bryan Varner [mailto:bryan at varnernet.com]
Sent: Tuesday, September 23, 2014 5:43 PM
To: Rahul Agarwal
Cc: collectd at verplant.org
Subject: Re: [collectd] Generic JMX plugin and JVM restart

Nice, I can try it out. Does it re-connect on JVM restart?

Short answer: Yes.

Long answer:

JMX over RMI (at least the Oracle/Sun/OpenJDK implementation) has a heartbeat timer (default I think is like 60 seconds or 5 minutes, I don't recall which) that pings the remote server.
If that times out (or the socket is explicitly closed) it marks the connection failed. The FastJMX plugin will detect that (it takes a while - several minutes is common - by the time the heartbeat fires and any timeout threshold is hit) and then initiates a reconnect attempt.

Reconnects occur with a multiplied back off, so you don't just keep hammering a 'dead' server. I believe the upper limit on the back off is 5 minutes, but I could be mistaken. Eventually I'll get around to making that configurable.

Best of luck! Let me know if you have any issues!


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.verplant.org/pipermail/collectd/attachments/20140925/4518c029/attachment.html>

More information about the collectd mailing list