Receiving Petals ESB defects in Nagios

Introduction

The probes available in the Petals internals and components are able to send JMX notifications when they detect a defect. These notifications can be sent to Nagios with a dedicated monitoring command of Petals CLI that receive JMX notifications and write them in the channel of Nagios passive checks.

Full Size
A Gliffy Diagram named: Nagios passive checks

The daemon petals-cli-nagios listen JMX notifications coming from Petals ESB nodes using a dedicated Petals CLI command. When it receives a JMX notification, it formats and prints an external command for Nagios. The host and service emitting the JMX notification are transformed into Nagios host and Nagios service through a mapping file.

Contributors
No contributors found for: authors on selected page(s)

Installation

These integration of Petals ESB, Petals CLI and Nagios is available on Debian-based system and is packaged as a Debian package: petals-cli-cmd-monitoring-so-nagios.

To run on other operating system, we need your contribution to port the daemon script wrapping Petals CLI on this operating system.

See [petalscomponents:Installing Petals CLI using the Debian packages] to get more information on this Debian package.

Configuration

Once your Nagios installation is configured to accept external commands, you must verify in /etc/petals-cli/petals-cli-nagios that the expected Nagios pipe file is set according to your Nagios installation. The default value is the one associated to the Debian package of Nagios.

To add a new defect subscription to sent to Nagios:

  1. create a new file in the directory /etc/petals-cli/nagios-subscriptions-available from the template /etc/petals-cli/nagios-subscriptions-available/nagios-subscription-template:
    # JMX connection information to the Petals ESB container
    #
    host=localhost
    port=7700
    username=petals
    password=petals
    
    # The subscription object and its arguments
    #
    subscription-object=petals-bc-soap
    extra-args=-n petals-bc-soap -t file:///etc/petals-cli/nagios-mapping-rules.properties
    

    where the first part is the required JMX connection information to establish a communication with a Petals ESB container, and the second part is dedicated to the wanted component emitting defects.

  2. configure the file /etc/petals-cli/nagios-mapping-rules.properties to map the hosts and services declared into Nagios with your Petals ESB installation,
    • the Nagios host is to associate to the defect emitter (see defect details),
    • the Nagios service is to associate to the defect identifier (see defect details).
  3. you can test your defect subscription using the script /usr/bin/petals-cli-nagios:
    > sudo /usr/bin/petals-cli-nagios <your-defect-subscription-file>
    

    or at a lower level using directly Petals CLI that prints defect on the standard output instead of into the Nagios pipe file (here to get defects of a Petals BC Soap):

    > petals-cli -c -- moniting -s petals-bc-soap -- -n petals-bc-soap -t file:///etc/petals-cli/nagios-mapping-rules.properties
    [1379337251] PROCESS_SERVICE_CHECK_RESULT;petals-esb-node-1;org.ow2.petals.component.framework.process.message.processor.thread.pool.exhausted;2;The thread pool of message exchange processors is exhausted !
    [1379337252] PROCESS_SERVICE_CHECK_RESULT;petals-esb-node-1;org.ow2.petals.component.framework.process.message.processor.thread.pool.exhausted;2;The thread pool of message exchange processors is exhausted !
    
  4. once your defect subscription is working, just create a link into the directory /etc/petals-cli/nagios-subscriptions-enable, and restart the service petals-cli-nagios.

Supported defects

See the JBI components documentation to knwon the defects that they send,
See the Petals Container documentation to known which defects are sent by a container,
See the [documentation of Petals CLI command '{{monitoring}}'] to known which defects are supported by Petals CLI.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.