Gnocchi-nagios allows to push Nagios perfdata to Gnocchi
Python Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.rst

Gnocchi-nagios

Latest Version Downloads https://travis-ci.org/sileht/gnocchi-nagios.png?branch=master

Gnocchi-nagios allows to push Nagios perfdata to Gnocchi

Installation

At the command line:

$ pip install gnocchi-nagios

Or, if you have virtualenvwrapper installed:

$ mkvirtualenv gnocchi-nagios
$ pip install gnocchi-nagios

Nagios/Icinga configuration

This is example of perfdata configuration for Gnocchi-nagios

Preparing working directories:

$ mkdir -p /var/spool/gnocchi-nagios/{nagios, ready}

In /etc/nagios3/nagios.conf:

host_perfdata_file_mode=a
host_perfdata_file_processing_interval=5
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\t$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$

service_perfdata_file_mode=a
service_perfdata_file_processing_interval=5
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$

host_perfdata_file=/var/spool/gnocchi-nagios/nagios/host-perfdata
host_perfdata_file_processing_command=gnocchi-nagios-host

service_perfdata_file=/var/spool/gnocchi-nagios/nagios/service-perfdata
service_perfdata_file_processing_command=gnocchi-nagios-service

In /etc/nagios3/conf.d/gnocchi-nagios.cfg:

define command {
        command_name    gnocchi-nagios-service
        command_line    /bin/mv /var/spool/gnocchi-nagios/nagios/service-perfdata /var/spool/gnocchi-nagios/ready/service-perfdata.$TIMET$
}

define command {
        command_name    gnocchi-nagios-host
        command_line    /bin/mv /var/spool/gnocchi-nagios/nagios/host-perfdata /var/spool/gnocchi-nagios/ready/host-perfdata.$TIMET$
}

Gnocchi Setup

Installation and configuration of Gnocchi can be found here

Don't forget to create archive policies and archive policies rules that match your needs.

Gnocchi-nagios

Once it's setup, you can configure gnocchi-nagios by creating a gnocchi-nagios.conf:

[DEFAULT]
spool_directory = /var/spool/gnocchi-nagios/ready

[gnocchi]
auth_type = gnocchi-noauth
roles = admin
user_id = nagios
project_id = nagios
endpoint = http://localhost:8041

Note: Gnocchi-data assumes nagios TIMET epoch are in UTC

And then run it with:

$ gnocchi-nagios --config-file=gnocchi-nagios.conf

To get all configuration option you can run

$ tox -egenconfig
$ less etc/gnocchi-nagios/gnocchi-nagios.conf