I figured you guys would have a solid answer for this.
What's the best way to collect JVM telemetry/stats for daemons (via JMX I assume).
I'm just talking about basic GC stuff. Like the number of threads, memory / heap utilization. Off heap memory utilization (via direct buffers). GC stats including gc_util (amount of time spent in GC) .. number of GCs over time, etc.
It doesn't look like tcollector has many options:
I was using codahale metrics for this. but the problems is that this only works for daemons I control. So external daemons like cassandra, elasticsearch, activemq, etc. These all need to be monitored via JMX since I can't easily jump in and patch them.
I could go the collectd route but then I'm running both tcollector and collectd and then I have to use the collectd kairosdb plugin (not sure if it's stable). I guess that's not the end of the world if it works though because collectd has a ton of plugins.