Custom Nagios NCPA Plugin: Remote Ping

In diesem Artikel möchte ich euch zeigen wie man sein eigenes benutzerdefiniertes Plugin in den Nagios Cross-Platform Agent integriert.

In diesem Fall möchten wir das ein Client lokal einen Ping ausführt und die Ausgabe dann an Nagios zurück liefert. Das kann hilfreich sein wenn man zum Beispiel nicht nur die Round Trip Time von Nagios zum Client wissen will, sondern auch von Client zu Client.

Windows NCPA-Client Installation

  1. Download des NCPA Clients für Windows:
    https://www.nagios.org/ncpa/#downloads
  2. Nach Aufruf des Setups können die Einstellungen auf Default gelassen werden, nur bei dem Token muss ein sicheres Passwort für die Agent-Kommunikation gewählt werden:
    NCPA_Setup_Token
  3. Ob die Installation erfolgreich war kann über die Web-GUI des Agents überprüft werden, indem man mit dem Browser auf https://localhost:5693/ navigiert:
    ncpa_dashboard

Remote-Ping Plugin Installation

  1. Download:
    https://exchange.nagios.org/directory/Plugins/Uncategorized/Operating-Systems/Windows-NRPE/NagiosPluginsNT/details
  2. Zip-Archiv entpacken nach: C:\Program Files (x86)\Nagios\NCPA\plugins
    ncpa_check_ping
  3. Zum Test kann das Plugin über das NCPA API-Dashboard aufgerufen werden:
    ncpa_check_ping_api

Check Installation am Nagios Server

  1. Installation des Nagios Plugins check_ncpa.py:
    wget https://assets.nagios.com/downloads/ncpa/check_ncpa.tar.gz
    tar xzvf check_ncpa.tar.gz
  2. Test der Agent-Kommunikation:
    python check_ncpa.py -H 192.168.1.161 -t 2XI3ADFIMlaRlpC3 -P 5693 -M system/agent_version
    OK: Agent_version was ['2.0.3']
  3. Command-Definition in der commands.cfg anlegen:
    define command {
     command_name check_ncpa
     command_line python $USER1$/check_ncpa.py -H $HOSTADDRESS$ $ARG1$
    }
  4. Service-Definition des Hosts konfigurieren:
    define service{
     use generic-service
     host_name Windows Test Machine
     service_description REMOTE Ping
     check_command check_ncpa!-t '2XI3ADFIMlaRlpC3' -P 5693 -M plugins/check_ping.exe -a '-H 8.8.8.8'
    }
  5. Nagios Konfiguration neu laden
  6. Fertig! Hier die Ansicht im Dashboard:
    remote_ping_serviceremote_ping_pnp4nagios