View Source

{section}
{column}

h1. Introduction

Nagios is a complete infrastructure monitoring solution.


[Get more details about Nagios.|http://www.nagios.org/]









The integration of Petals ESB and Nagios is based on getting information about the JVM. This is done using SNMP probes.
{info}Following examples are based on a Petals ESB topology composed of two nodes on the same host.{info}

h1. Installation


h2. Nagios installation

The Nagios integration was experienced on a Linux distribution "Ubuntu Maverick Meerkat (10.10)".

Nagios 3 is available through the default Ubuntu repository. So, just install the package "nagios3" using the standard way.

h2. Enabling the SNMP agents of the Petals ESB JVMs

{include:Enabling the SNMP agent of a Petals ESB JVM}

h1. Nagios configuration


h2. JVM host template

A best practice to monitor Java application is to create a template 'JVM host'.

According to our environment defined above, create the file 'jvm-host-nagios2.cfg' in the directory '/etc/nagios3/conf.d' with the following content:

{code}
define host{
     use                 generic-host
        name                            jvm-host    ; The name of this host template
        notifications_enabled           1       ; Host notifications are enabled
        event_handler_enabled           1       ; Host event handler is enabled
        flap_detection_enabled          1       ; Flap detection is enabled
        failure_prediction_enabled      1       ; Failure prediction is enabled
        process_perf_data               1       ; Process performance data
        retain_status_information       1       ; Retain status information across program restarts
        retain_nonstatus_information    1       ; Retain non-status information across program restarts
        check_command                   check-host-alive
        max_check_attempts              10
        notification_interval           0
        notification_period             24x7
        notification_options            d,u,r
        contact_groups                  admins
        register                        0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
# Specific attributes
    _snmp_port            161     ; Listening port of the JVM SNMP agent
        }
{code}

h2. Nagios commands definition to interact with a SNMP agent

We recommand to define specific Nagios command to interact with the Java virtual machine MIB.

According to our environment defined above, create the file 'jvm.cfg' in the directory '/etc/nagios-plugins/config' with the following content:

{code}
# 'jvm_heapused' command definition
define command{
    command_name    jvm_heapused
    command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -p '$_HOSTSNMPPORT$' -C '$ARG1$' -P '$ARG2$' -o 1.3.6.1.4.1.42.2.145.3.163.1.1.2.11.0 -w :'$ARG3$' -c :'$ARG4$' -l load
    }

# 'jvm_heapmax' command definition
define command{
    command_name    jvm_heapmaxused
    command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -p '$_HOSTSNMPPORT$' -C '$ARG1$' -P '$ARG2$' -o 1.3.6.1.4.1.42.2.145.3.163.1.1.2.12.0 -w :'$ARG3$' -c :'$ARG4$' -l load
    }
{code}

h2. Petals ESB host template

{color:#333333}A best practice to monitor Petals ESB nodes is to create a template 'Petals ESB host' that inherites from the 'JVM host'.{color}

{color:#333333}According to our {color}{color:#333333}environment defined above, create the file 'petals-esb-host-nagios2.cfg' in the directory '/etc/nagios3/conf.d' with the following content:{color}

{code}
define host{
        use                             jvm-host
        name                            petals-esb-host    ; The name of this host template
        notifications_enabled           1       ; Host notifications are enabled
        event_handler_enabled           1       ; Host event handler is enabled
        flap_detection_enabled          1       ; Flap detection is enabled
        failure_prediction_enabled      1       ; Failure prediction is enabled
        process_perf_data               1       ; Process performance data
        retain_status_information       1       ; Retain status information across program restarts
        retain_nonstatus_information    1       ; Retain non-status information across program restarts
        check_command                   check-host-alive
        max_check_attempts              10
        notification_interval           0
        notification_period             24x7
        notification_options            d,u,r
        contact_groups                  admins
        register                        0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!

# Specific attributes
        _snmpport                       161     ; Listening port of the JVM SNMP agent
        }
{code}



h2. {color:#492562}{*}Defining your Petals ESB hosts{*}{color}

For each Petals ESB node of your Petals ESB topology, create an instance of the template 'petals-esb-host'.

According to our environment defined above, create the file 'petals-esb-host-node1.cfg' in the directory '/etc/nagios3/conf.d' with the following content:

{code}
define host{
        use                     petals-esb-host            ; Name of host template to use
        host_name               petals-esb-node-1
        alias                   Petals ESB Node 1
        address                 127.0.0.1
        _snmpport               16161 ; This value should be set with the SNMP
; agent listener port of your Petals ESB node.
        }
{code}and create the file 'petals-esb-host-node2.cfg' in the directory '/etc/nagios3/conf.d' with the following content:
{code}
define host{
        use                     petals-esb-host            ; Name of host template to use
        host_name               petals-esb-node-2
        alias                   Petals ESB Node 2
        address                 127.0.0.1
        _snmpport               16162 ; This value should be set with the SNMP
; agent listener port of your Petals ESB node.
        }
{code}

h2. {color:#492562}{*}Defining your Petals ESB topology as a Petals ESB host group{*}{color}

The Petals ESB topology can be considered as a Nagios host group composed of your Petals ESB nodes.

So, according to our environment defined above, create the file 'petals-esb-hostgroup.cfg' in the directory '/etc/nagios3/conf.d' with the following content:

{code}
define hostgroup {
        hostgroup_name petals-esb
        alias           Petals ESB
        members         petals-esb-node-1, petals-esb-node-2
        }
{code}

h2. Petals ESB host services

{color:#333333}A best practice to monitor Petals ESB nodes is to create a template of services to associate to each Petals ESB nodes.{color}

{color:#333333}According to our environement defined above, create the file 'petals-esb-services.cfg' in the directory '/etc/nagios3/conf.d' with the following content:{color}
{column}
{column:width=350px}
{panel:title=Table of contents}{toc}{panel}
{panel:title=Contributors}{contributors:order=name|mode=list}{panel}
{column}
{section}HOSTSNMPPORT