jmxtrans/jmxtrans — pull request #83 by thuck (2013-07-26 12:19:58+00:00)
Title: Including the first working version of NagiosWriter.

Conf example:
{ "outputWriters" : [ {
"@class" : "com.googlecode.jmxtrans.model.output.NagiosWriter",
"settings" : {
"typeNames" : [ "name" ],
"outputFile": "/tmp/denis_jmx",
"nagiosHost": "HOSTNAME",
"prefix": "Pre ",
"posfix": " Pos",
"filters": ["HeapMemoryUsage_used", "NonHeapMemoryUsage_max"],
"thresholds": ["@1000000000:3000000000,", ""]
}
} ],
"obj" : "java.lang:type=Memory",
"resultAlias": "memory",
"attr" : [ "HeapMemoryUsage", "NonHeapMemoryUsage", "" ]
}

outputFile - Should be the Nagios command file.
- Cannot be empty.
nagiosHost - The host name defined at Nagios.
- Cannot be empty.
prefix - Used in the service name to prefix the service description.
- Can be empty.
posfix - Used in the service name to posfix the service description.
- Can be empty.
filters - Attr that should be used as a service name.
-Cannot be empty.
- Attr HeapMemoryUsage can create 3 outputs:
- HeapMemoryUsage_used
- HeapMemoryUsage_min
- HeapMemoryUsage_max
For each one that you want to send to Nagios you must include it on filters.
thresholds - It defines the threshold for each filter using the Nagios range definition.
- Cannot be empty.
- Syntax:
- Each threshold has two parts 'warning,critical'
- Each part can contain a range definition.
- http://nagiosplug.sourceforge.net/developer-guidelines.html#THRESHOLDFORMAT
- An empty ("") threshold means always OK.
- If there is only one field or it starts with comma that service will never be in warning state.
- "@1000000000"
- ",@1000000000"
- If the fields ends with comma that service will never be in critical state:
- "@1000000000,"

Filters and threholds are bound, so threholds must be in the same position as the filters which it must apply.
Also they must have the same size.