Currently Being Moderated

JBossNagiosPlugin

VERSION 8

Created on: Nov 16, 2005 1:38 PM by Nicholas Whitehead - Last Modified:  Dec 22, 2008 5:47 PM by Tobias Frech

JBoss Nagios Plugin

 

Description

The JBoss Nagios Plugin is a simple bash script that uses Twiddle to read targeted numerical JMX attributes such as connections in use, thread counts or JVM heap sizes.

 

Implementation

  • Copy the attached script to your Nagios plugin directory. (RPM installs put it here: /usr/lib/nagios/plugins)

  • Issue a chmod 755 check_jbossjmx to make the file executable.

  • Add the following entry into the nagios

 

 # 'check_jbossjmx' command definition 
define command{ 
        command_name    check_jbossjmx 
        command_line    /usr/lib/nagios/plugins/check_jbossjmx $HOSTADDRESS$ $ARG1$ $ARG2$ $ARG3$ $ARG4$ $ARG5$ 
        } 

 

  • Now implement a service check for a server. (Note that this implementation assumes JNDI listening on port 1099). Example:

define service{ 
        use                             generic-service         ; Name of service template to use 
        host_name                       MY_JBOSS_SERVER 
        service_description             CHECK_ORACLE_POOL_SIZE 
        is_volatile                     0 
        check_period                    24x7 
        max_check_attempts              3 
        normal_check_interval           5 
        retry_check_interval            1 
        passive_checks_enabled          0 
        contact_groups                  OpsGroup 
        notification_interval           120 
        notification_period             24x7 
        notification_options            c,r,w 
        check_command                   check_jbossjmx!3!"jboss.jca:name=ORACLEDSN,service=ManagedConnectionPool"!InUseConnectionCount!20!50 
}

 

This example will use JBoss 3's twiddle to check the connections in use on the app server. If the count is 50 or greater, it will generate a critical alert. If the count is 20 or greater, it will generate a warning alert.

 

 

Reference

 

There are three settings you must configure in the checkjbossjmx_ script:

  1. JAVA_HOME:Set this to the Java Home of the JVM you want to use.

  2. JBOSS4_HOME: Set this to the JBossHome of a JBoss4 installation. Twiddle will be located as $JBOSS4_HOME/bin/twiddle.sh

  3. JBOSS3_HOME: Set this to the JBossHome of a JBoss3 installation. Twiddle will be located as $JBOSS3_HOME/bin/twiddle.sh

 

Note that you only have JBoss 3 or only JBoss 4 servers, you do not need to configure both.

 

The parameters to the plugin can be viewed by invoking check_jbossjmx --help.

 

The parameters are as follows:

 

  1. The JBoss IP Address. (If the JNDI port is not 1099, there is an additional bit of poking around you need to do)

  2. The JBoss version. 3 or 4

  3. The full object name of the target MBean.

  4. The attribute name

  5. The warning threshhold

  6. The critical threshhold

 

 

Alternatives

For more flexibility, for example for monitoring singleton services in a cluster such as JMS/JBossMQ resources, have a look at jboss2nagios.

Attachments:
Average User Rating
(0 ratings)




There are no comments on this article

More Like This

  • Retrieving data ...

More by Nicholas Whitehead