stiziwik
Sie befinden sich hier: Willkommen » linux » Nagios » NRPE
Zuletzt angesehen: • NRPE

NRPE

  • Mit nrpe (Nagios Remote Plugin Executor) ist es möglich, Plugins auf entfernten Rechnern auszuführen.
  • Soll zum Beispiel der verfügbare Speicherplatz auf einem entfernten Rechner überprüft werden, wird das Plugin check_nrpe (Client) auf dem Nagios-Rechner ausgeführt. check_nrpe sendet nun einen String an den zu überwachenden Rechner. Der dort (auf Port 5666) hörende NRPE-Dienst (Server) vergleicht den ankommenden String mit den in seiner Konfigurationsdatei hinterlegten. Jedem dieser Strings ist ein Kommando zugeordnet. Findet er den vom Nagios Gesendeten in seiner Konfiguration, führt er das zugehörige Kommando aus und schickt das Ergebnis (Exitcode und Ausgabe) an check_nrpe der Nagiosmaschine zurück. check_nrpe wiederum reicht das Ergebnis an Nagios weiter, wo es, wie die Ergebnisse anderer Plugins auch dargestellt wird.

Via NRPE lassen sich nicht nur Checks aussführen, sondern jegliches Kommando. Aus diesem Grund besteht die Möglichkeit, die komplette Kommunikation (check_nrp ←→ NRPE-Dienst) verschlüsselt ablaufen zu lassen. Weiterhin können nur die in der Konfigurationsdatei des NRPE-Dienstes festgelegten Kommandos ausgeführt werden. Diese Datei wird beim Starten des NRPE-Dienstes eingelesen, weswegen Änderungen in dieser Datei logischerweise einen Neustart des Dienstes nach sich ziehen.

Installieren

Windows

  • Den aktuellen nrpe-Dienst (hier: nrpe_nt.0.8-bin.zip) herunterladen:
    http://www.miwi-dv.com/nrpent/
  • Zusätzlich die Standard-Plugins herunterladen:
    http://www.nagiosexchange.org/cgi-bin/page.cgi?g=Detailed%2F2131.html;d=1
  • Entpacken des nrpe-Dienst in C:\NRPE
  • Im Verzeichniss bin\ taucht die wichtige Konfigurationsdatei nrpe.cfg auf.
  • Entpacken der Standard-Plugins in C:\NRPE\bin
  • Jetzt befinden sich die 5 Plugins in diesem Verzeichnis:
    1. diskspace_nrpe_nt.exe
    2. cpuload_nrpe_nt.exe
    3. memload_nrpe_nt.exe
    4. service_nrpe_nt.exe
    5. eventlog_nrpe_nt.exe
  • Zum installieren des nrpe-Dienstes in der Kommandozeile (cmd)
    nrpe_nt –i

    ausführen.

  • Zum Starten des Dienstes
    net start nrpe_nt

    ausführen (oder über die Dienste-Verwaltung von Windows starten)

  • Folgendes beachten bei der Konfiguration der nrpe.cfg:
    • Unter „allowed_hosts“ sollte natürlich der Nagios-Server stehen!
    • Standard-Port ist server_port=5666 (wenn vorhanden Firewall anpassen!)
  • Beispiel für Speicherplatz-Check:
    command[nt_check_disk_c]=C:\NRPE\bin\diskspace_nrpe_nt.exe c: 80 90
  • Beispiel für CPU-Auslastung:
    command[nt_check_cpuload]=C:\NRPE\bin\cpuload_nrpe_nt.exe 90 95
  • Beispiel für service-check:
    command[nt_check_NTsyslog_service]=C:\NRPE\bin\service_nrpe_nt.exe "NTsyslog"

NSClient++

Für Windows gibt es noch einen anderen Serverdienst, welcher mit NRPE kommuniziert.
Siehe nsclient

Linux

Vorbereiten des Betriebssystems

User anlegen, mit dem der Nagios NRPE später laufen soll:

useradd -M -s /bin/bash nagios

Pakete installieren

apt-get install libssl-dev build-essential
                           Nun dem OS noch sagen, dass der Service NRPE auf Port 5666 TCP laufen soll:
                           <code>echo "nrpe 5666/tcp" >> /etc/services</code>

Installation der Nagios-Plugins

Die Nagios Plugins, als User „nagios“ wie hier beschrieben installieren.

Installation des NRPE Daemons

  • Aktuelle Version (hier: nrpe-3.2.1)herunterladen:
    wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz
  • Konfigurieren als User „nagios“ mit
    ./configure --enable-command-args --enable-bash-command-substitution

    Manchmal kann es vorkommen dass die „ssl-libraries“ nicht gefunden werden. Dann einfach nach diesen (libssl.so) suchen und dann den jew. Pfad verwenden

    --with-ssl-lib=/usr/lib/x86_64-linux-gnu
  • kompilieren mit
    make -j all
  • installieren als User „root“
    make install-groups-users
    make install
    make install-config
    make install-init
    systemctl enable nrpe.service
  • Die ausführbare Datei check_nrpe befindet sich im Verzeichniss src/
    Diese Datei wird nach /usr/local/nagios/libexec/ kopiert
  • Die Dateien services.cfg und checkcommands.cfg sollten den eigenen Vorstellungen entsprechend angepasst werden.
    Beispiel checkcommands.cfg:
    define command{
    command_name nt_check_disk_c
    command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c
    nt_check_disk_c
    }

    Beispiel services.cfg:

    define service{
    host_name fileserver1
    service_description Speicherplatz Partition C
    check_command nt_check_disk_c
    max_check_attempts 3
    normal_check_interval 1
    retry_check_interval 1
    check_period 24x7
    notification_interval 10
    notification_period 24x7
    notification_options w,c,u,r
    contact_groups Nagios_Admin
    }

NRPE einrichten

Nun noch einige Einstellungen vornehmen.

mkdir -p /usr/local/nagios/etc
cp <PFAD_ZU_NRPE_INSTALLATIONSVERZEICHNIS>/sample-config/nrpe.cfg /usr/local/nagios/etc
cp init-script.debian /etc/init.d/nrpe
chmod 755 /etc/init.d/nrpe
update-rc.d nrpe defaults

NRPE Konfigurationsdatei anpassen

vi /usr/local/nagios/etc/nrpe.cfg

Folgende Zeilen anpassen:

allowed_hosts=<NRPE_CLEINT_IP>
dont_blame_nrpe=1

Ganz unten kann man noch „commands“ angeben die der NRPE bedienen soll.

NRPE kann nun gestartet und abgefragt werden.

Folgende Punkte können noch zusätzlich angegangen werden
Beim Aufruf kann man wählen, ob NRPE über XINETD oder als Daemon laufen soll. Davon abhängig sind die weiteren Vorbereitungen.

Wir benutzen überall den XINETD, da dieser über den TCPWrapper schon dafür sorgt, dass nur der Monitoringhost eine Verbindung aufbauen kann. Außerdem werden so bei jedem CHECK die configs neu angezogen, man spart sich also den reload des laufenden Daemons.

Starten über den XINETD

Wir müssen dem XINETD nur im Config-Verzeichnis eine weitere Config für NRPE hinterlegen:

cat <<EOF >/etc/xinetd.d/nrpe
# default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = nagios
        group           = nagios
        server          = /usr/local/nagios/nrpe
        server_args     = -c /usr/local/nagios/nrpe.cfg --inetd
        log_on_failure  += USERID
        disable         = no
        only_from       = IP_OF_YOUR_MONITORING_HOST
}
EOF
Tipps & Tricks bei der Verwendung von NRPE
Perl

Einige Perl Plugins haben Probleme, dass sie die utils.pm unter /usr/local/nagios/libexec (Standardpfad) nicht finden.
Kopier das PM in den Perl Include Pfad ..
Ein kurzes

perl -e 'print join "\n", @INC'

druckt uns die Include Pfade aus. Irgendwo hier wird unser utils.pm auch sein neues zuhause finden :-)

Environment Entries

Bei Websphere und Oracle hatte ich öfters Probleme, dass die Environment Entries nicht so gepasst haben wie es nötig gewesen wäre.
Einfach ein Shellscript drum-rum wrappen und innerhalb des Scripts die ENV Entries setzen

NRPE & sudo

Sudo-Probleme ueber NRPE sind manchmal schwer zu identifizieren, weil sich sudo per NRPE anders verhaelt als ueber die Kommandozeile, wenn in der /etc/sudoers die Zeile

Defaults    requiretty

gesetzt ist.
Dieses Setting fuehrt dazu, dass nicht interaktive sudo-Aufrufe (also auch NRPE) nicht moeglich sind!
Richtig waere also:

#Defaults    requiretty
Previous Next

Webseiten-Werkzeuge

  • Letzte Änderungen
  • Medien-Manager
  • Übersicht

Seiten-Werkzeuge

  • Zeige Quelltext
  • Ältere Versionen
  • Links hierher
  • Nach oben

Benutzer-Werkzeuge

  • Anmelden
linux/nagios/nrpe.txt · Zuletzt geändert: 2018/05/18 13:11 von 127.0.0.1
stiziwik

Table of Contents

Inhaltsverzeichnis

  • NRPE
    • Installieren
      • Windows
        • NSClient++
      • Linux
        • Vorbereiten des Betriebssystems
        • Installation der Nagios-Plugins
        • Installation des NRPE Daemons
        • NRPE einrichten
  • Android
  • Bild-und-video
  • Datenverarbeitung
  • Fahrzeuge
  • Hausautomatisation
  • linux
    • Alix-router
    • Icinga
    • Log-Server
    • Mail
    • Mysql
    • Nagios
      • Check_Mk
      • Fujitsu-Servers
      • HP-Servers
      • Monitoringdefinitionen
      • Nagios-patches
      • Nagioscmd
      • Nagios Dokumentationen
      • Nagiosgraph
      • Nagios Installation
      • Nagiosql
      • Nagvis
      • Ndoutils
      • NRPE
      • NSClient++
      • Plugins
      • Pnp4nagios
      • SMS-Versand
      • Snmp
      • Snmptt
      • Syntax
      • Updateverfahren
      • Vmware-sdk
    • Owncloud
    • Virtualisierung
    • Webcam
    • Accl Attr
    • Alternativen-System
    • Antivirus-live
    • Anzahl
    • Audacious
    • Audiodateien-umwandeln
    • Avira-Live-Rescue
    • Backupscript
    • Bash
    • Beep-mit-Ringtones
    • Benutzerpassword Deaktivieren
    • Bluetooth
    • Bootvorgang
    • CD-Ripper
    • Clonezilla
    • Coredump
    • Datenrettung
    • Datum Und Uhrzeit
    • dd
    • Desktop-dateien
    • Docker
    • Duplikate
    • Fail2ban
    • Festplatten
    • Fingerprintsensor
    • Gddrescue
    • Geda
    • Genisoimage mkisofs
    • Grub
    • Internetradio
    • Ipod
    • Journalctl
    • Keepass
    • Kernel Bauen
    • Keystore
    • Live-CD erstellen
    • Lnav
    • Lshw-hardware
    • Message-of-the-day
    • Midnight Commander
    • Mongodb
    • Nohup, Hintergrund, anhalten und Co
    • Openssl
    • Pakete bauen
    • Paketverwaltung
    • Passwort-Generator
    • Patches
    • Prüfsumme
    • Quota
    • Remote Desktop Verbindung
    • Request Tracker
    • Rsync
    • Samba
    • Scriptschnipsel
    • Serielle-Konsole
    • Smartmontools
    • Sms-gateway
    • Softwareraid
    • Squid
    • SSH
    • Stats
    • Stresstest
    • Strongswan VPN
    • Sudo
    • Supergrub2disk
    • Supervisord
    • Swap
    • Syslog
    • Systemrescue
    • Tftp
    • Thunderbird
    • Umbenennen
    • Unity Fenstermanager
    • Video-streaming
    • Virenscan-script
    • Virtualbox
    • Virtualisierung
    • Vnc-vino
    • Watchdog
    • Webmin
    • Wmctrl
    • Zeitsynchronisation Mit DCF-77 Empfänger
    • Zoneminder
  • Nas
  • Netzwerk
  • PlayGround
  • Programieren
  • Projekte
  • Raspberry Pi
  • sonstiges
  • VDR
  • Web
  • Werkstatt
  • Wiki
  • sidebar-acmenu
  • sidebar-indexmenu
  • sidebar-simplenavi