[collectd] GenericJMX enhancement
jason.stelzer at gmail.com
Tue May 15 17:43:10 CEST 2012
Following up my own post... :)
Turns out you can get this functionality with the filter chains built
in to collectd. I had no idea.
On Mon, May 14, 2012 at 3:34 PM, Jason Stelzer <jason.stelzer at gmail.com> wrote:
> We are using the GenericJMX plugin to monitor Tomcat.
> This produces directory names like: GenericJMX-"http-apr-7084".
> I have a visualization frontend that essentially just walks trees of
> rrd files and generates graphs from them. I could translate names
> there, but I would rather see the filesystem have 'clean' names.
> It might be nice to add a toggle so that you can normalize the names.
> Is there a preferred approach to this? Should the collector plugin be
> responsible for maintaining a mapping to 'actual' and 'cleaned up'
> names? There are other metrics that contain whitespace, brackets,
> quotes and other noise.
> To this end, I modified GenericJMXConfMBean.java and added 2
> configuration properties:
> MaskChars is a regex of characters to mask.
> ReplacementString is a string to replace the masked characters with.
> A sample configuration could look like this:
> <Plugin "GenericJMX">
> # Memory usage by memory pool.
> <MBean "appname_tomcat/memory_pool">
> ObjectName "java.lang:type=MemoryPool,*"
> InstancePrefix "appname_tomcat-memory_pool-"
> InstanceFrom "name"
> MaskChars "[ ,\\%\\[\\]\"]"
> ReplacementString ""
> Type "memory"
> #InstancePrefix ""
> #InstanceFrom ""
> Table true
> Attribute "Usage"
> What this essentially means is the following:
> * When you replace substrings, it's expected you do so in a way that
> is distinct and stable.
> * The stats are sent to the collectd system such that the names are 'clean'.
> * If you do not specify these directives, the system behaves as it did before.
> Would anyone else find this feature convenient? Would you like me to
> submit a patch?
More information about the collectd