Git Product home page Git Product logo

nagios-alerta's Introduction

Nagios-to-Alerta Gateway

build-test

Consolidate Nagios alerts from across multiple sites into a single "at-a-glance" console. Nagios 3 and Nagios 4 are now supported.

Transform this ...

nagios

Into this ...

alerta

System Requirements

You'll need the following system packages to Install nagios-alerta:

In RedHat/CentOS/Fedora:

yum install -y git curl gcc make libcurl-devel jansson-devel

In Debian/Ubuntu:

apt-get install -y git-core curl gcc make libcurl4-openssl-dev libjansson-dev libglib2.0-dev pkg-config

Installation (Nagios 3)

$ git clone https://github.com/alerta/nagios-alerta.git
$ cd nagios-alerta
$ make
$ sudo make install
$ sudo service nagios restart

Installation (Nagios 4)

$ git clone https://github.com/alerta/nagios-alerta.git
$ cd nagios-alerta
$ make nagios4
$ sudo make install
$ sudo service nagios restart

Alerts

To forward host and service check results to Alerta, modify /etc/nagios/nagios.cfg as follows:

broker_module=/usr/lib/nagios/alerta-neb.o http://localhost:8080

To specify the environment name:

broker_module=/usr/lib/nagios/alerta-neb.o http://localhost:8080 env=ENV_NAME_HERE

To specify the customer name:

broker_module=/usr/lib/nagios/alerta-neb.o http://localhost:8080 customer=CUSTOMER_NAME_HERE

To provide the API key if authentication is enabled on the alerta server:

broker_module=/usr/lib/nagios/alerta-neb.o http://localhost:8080 key=INSERT_API_KEY_HERE

To forward check results in Hard state only:

broker_module=/usr/lib/nagios/alerta-neb.o http://localhost:8080 hard_only=1

And to enable debug mode:

broker_module=/usr/lib/nagios/alerta-neb.o http://localhost:8080 debug=1

Note: The default environment is Production and the default service is Platform.

Setting Environment & Service Per-Check

Use custom object variables _Environment and _Service to set environment and service on a per-check basis:

define host{
        use                     generic-host            ; Name of host template to use
        host_name               localhost
        alias                   localhost
        address                 127.0.0.1
        _Environment            Development
        _Service                Network
        }
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       localhost
        service_description             Total Processes
        _Environment                    Production
        _Service                        Web
        check_command                   check_procs!250!400
        }

Setting Customer Per-Check

Use custom object variables to set customer_views

define host{
        use                     generic-host            ; Name of host template to use
        host_name               localhost
        alias                   localhost
        address                 127.0.0.1
        _Customer               Customer1
        }
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       localhost
        service_description             Total Processes
        _Customer                       Customer1
        check_command                   check_procs!250!400
        }

Heartbeats

To configure the Nagios server to send regular heartbeats to Alerta to ensure that Nagios and the event broker are still forwarding alerts configure a dummy service check as follows:

  1. Define a heartbeat command and add it to /etc/nagios/commands.cfg:
define command{
        command_name    check_heartbeat
        command_line    /usr/lib/nagios/plugins/check_dummy 0
}
  1. Define a hostgroup for the Nagios servers that have the Alerta event broker installed and add it to /etc/nagios3/conf.d/hostgroups_nagios2.cfg:
define hostgroup {
        hostgroup_name  nagios-servers
        alias           Nagios servers
        members         localhost
}
  1. Define a Heartbeat service check to execute every minute and add it to /etc/nagios/conf.d/services_nagios2.cfg:
define service {
        hostgroup_name                  nagios-servers
        service_description             Heartbeat
        check_command                   check_heartbeat
        use                             generic-service
        notification_interval           0 ; set > 0 if you want to be renotified
        normal_check_interval           1
}

License

Copyright (c) 2013-2019 Nick Satterly. Available under the MIT License.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.