Monju is a framework that makes available the internal states of JBoss application server to Nagios remote monitoring system.
Monju consists of a JAR library, a SAR that is hot-deployable on JBoss, and nagios plug-ins that provide interface to Nagios. It comes with facility for quickly implementing simple nagios checks based on JMX MBean attributes. One can also develop custom nagios checks in Java programming language. These custom checks can be hot-deployed to JBoss application server.
Note that Monju is a framework for implementing nagios active checks. Support for nagios passive checks is not available within this framework. Monju provides three different services in the form of servlets. The implementator can use either one of the three services to implement nagios checks they need. Nagios plug-ins included in the distribution interfaces with these services:
1. JMX/Nagios Servlet
2. Nagios Servlet
3. JMX Servlet
JMX/Nagios Servlet is the simplest and quickest way to make a nagios check if the value to be checked is an MBean attribute exposed by JBoss JMX. Most nagios checks related to JBoss can be implemented very quickly by using this service.
Nagios Servlet offers the implementator capability to construct custom nagios check objects in Java. Such check objects can be hot-deployed in a SAR onto a JBoss application server. Monju would then load and serve those checks. The implementator can use this service to compose nagios checks that are more complex than a simple check for a particular MBean attribute.
JMX Servlet provides a way to retrieve the value of an MBean attribute. It basically provides the same functionality as twiddle.sh that comes packaged with the JBoss distribution. While twiddle internally launches a Java application, JMX Servlet is implemented as a servlet hosted by the application server. In sum, JMX Servlet is an HTTP-bridge to JBoss JMX. This is useful when the implementator already has their own check infrastructure set up and all they need is to retrieve data values.
· If using the shell script version of nagios plug-in:
1. Bash shell.
2. Standard UNIX shell commands: wc, grep, head, cut, etc.
Bash, UNIX shell commands, and wget, are required to run check_jboss.sh, which is a nagios plugin that works with Monju. The script check_jboss.sh is packaged in Monju.
· If using Python version of nagios plug-in:
· Python (version 2.2 and above should work).