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

Pnp4nagios

PNP4Nagios ist ein grafisches Anzeigetool, welches Verläufe verschiedener Stati der einzelnen Hosts und deren Services zeigt.
Es können nicht nur auf der PNP-Website die Graphen angezeigt werden, es werden auch Moushover-Graphen auf der Nagios-Website angezeigt.

PNP4Nagios zeichnet grundsätzlich alle PerformanceData fähigen Checks auf.

Installation

Zunächst Voraussetzungen installieren.

apt-get install rrdtool

Nun pnp4nagios herunterladen und installieren.

wget http://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-<VERSION>tar.gz
tar -xvzf pnp4nagios-<VERSION>.tar.gz
cd pnp4nagios
./configure
make all
make fullinstall

Danach unbendingt den Apache2 konfigurieren und neustarten.

Zunächst die Apache-Konfig von PNP4Nagios anpassen, da sonst die Seite nicht aufgerufen werden kann.

vi /etc/apache/conf.d/pnp4nagios.conf

Hier folgende Zeile ersetzen:

--- RewriteRule "^.*$" "index.php/$0" [PT]
+++ RewriteRule .* index.php?kohana_uri=$0 [PT,L,QSA]

Danach noch folgendes ausführen.

a2enmod rewrite
service apache2 restart

Eine passende nginx Konfiguration findet man unter Konfigurationsbeispiele
Die neue Website lautet http://<HOST>/pnp4nagios

PopUp

Um Popups im Nagios (Moushover über das Graph-Icon) anzuzeigen, muss noch eine Datei kopiert werden.

cp <PFAD_ZU_PNP4Nagios_QUELLEN>/contrib/ssi/status-header.ssi /usr/local/nagios/share/ssi

Nach dem nächsten Nagios Restart können PopUps eingeblendet werden.

Die Popup-Größe kann hier angepasst werden (z.B. auf „auto“):

vi /usr/local/pnp4nagios/etc/config_local.php
$conf['popup-width'] = "auto";

Die Nagios Templates erweitert man um folgende Einträge:

define host {
   name       graphed-host
   action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
   register   0
}

define service {
   name       graphed-service
   action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
   register   0
}

Konfiguration

PNP4Nagios kann auf verschiedene Weise konfiguriert und benutzt werden. Hier nur zwei Möglichkeiten der Konfiguration.
Weitere Infos sind zu finden unter http://docs.pnp4nagios.org.

Gundsätzlich muss in der nagios.cfg folgende Direktiven aktiviert sein:

process_performance_data=1

Synchronous Mode

Vorteil: Einfach Einrichtung
Nachteil: Eher für kleine Nagios installationen gedacht, da hier jeder check einen weiteren Perfdata-Check (also einen weiteren Command) ausführt. Dies führt zu höherer Auslastung.

service_perfdata_command=process_service_perfdata_file
host_perfdata_command=process_host_perfdata_file

Danach müssen diese Befehle in Nagios konfiguriert werden, um darüber die RRD-Datenbank zu füllen.

define command {
       command_name    process_service_perfdata_file
       command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/service-perfdata
}

define command {
       command_name    process_host_perfdata_file
       command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/host-perfdata
}

Bulk Mode

Vorteil: CPU-Freundlich, da hier nicht bei jedem Check der Perfdata-Check angeworfen wird. Nagios sammelt erst die Daten und führt selbstständig um die Verarbeitung dieser.
Nachteil: Aufwändigere Konfiguration.
Hier muss folgendes in der nagios.cfg konfiguriert werden.

process_performance_data=1
#
# Service Performance-Daten
#
service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata-file

#
# Host Performance-Daten ab Nagios 3.x
# 
host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file

Auch die Commands sehen etwas anders aus:

define command{
       command_name    process-service-perfdata-file
       command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/service-perfdata
}

define command{
       command_name    process-host-perfdata-file
       command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/host-perfdata
}

ACHTUNG
Evtl. muss der Timeout-Wert in der process_perfdata.cfg erhöht werden.
Im Bulk-Mode werden ja erst Daten gesammelt und danach gemeinsam verarbeitet. Dies kann zu längeren Verarbeitungszeiten führen.

Datenformat

WICHTIG: Die Ausgabe für einen PerformanceData fähigen Check muss ohne Leerzeichen ausgegeben werden.
Wenn man also folgenden Befehl ausführt:

/usr/local/nagios/libexec/check_snmp -H <HOSTADRESSE> -P <PROTOKOLL> -C <COMMUNITYNAME> -o <OID> -l 'Beschreibung_für_Wert'

sollte dies so ausgegeben werden

SNMP OK - <OID> <AUSGELESENER_WERT> | <OID>=<AUSGELESENER_WERT>

Es sind hier also keine Anführungs- oder Leerzeichen o.ä. enthalten.

Wrappingscript

Ein Wrapping-Script für nicht PerformanceData fähigen Checks gibt es unter http://docs.pnp4nagios.org/de/pnp-0.6/wrapper.
Hier das Beispiel-Script für check_procs.

  • Standardaufruf:
    ./check_procs -a ndo2db -w 1: -c 0:
    PROCS OK: 2 processes with args 'ndo2db'
  • Wrappingscript Beispiel:
    #!/bin/bash
    LINE=`/usr/local/nagios/libexec/check_procs $*`
    RC=$?
    COUNT=`echo $LINE | awk '{print $3}'`
    PROCS=`expr $COUNT - 1`
    LINE=`echo $LINE | sed "s/: $COUNT /: $PROCS /"`
    echo $LINE \| procs=$PROCS
    exit $RC
  • neuer Aufruf:
    ./check_procs.sh -a ndo2db -w 1: -c 0:
    PROCS OK: 2 processes with args 'ndo2db'| procs=2
  • Wrappingscript Beispiel, bei dem die Anführungszeichen Entfernt werden:
    #!/bin/bash
    CMD=`/usr/local/nagios/libexec/check_snmp $*`
    RETURNCODE=$?
    OID=`echo $*|awk '{print $8}'`
    CMDRESULT=`echo ${CMD} | awk '{print $4}' | tr '"' '\000'`
    echo ${CMD} ${OID}=${CMDRESULT}
    exit ${RETURNCODE}
  • Wrappingscript Beispiel, bei verwendung von check_snmp (hier werden nur Zahlen, evtl. Minuszeichen und Dezimalpunkte als Performancedata verwendet und die evtl. Beschreibung, die man dem check_snmp mitgibt, nicht berücksichtigt):
    #!/bin/bash
    CMD=`/usr/local/nagios/libexec/check_snmp $*`
    RETURNCODE=$?
    OID=`echo $*|awk '{print $8}'`
    CMDRESULT=`echo ${CMD}|sed "s/\"//g"|egrep -o "(-)?[0-9]+(\.[0-9]+)?"`
    echo ${CMD} ${OID}=${CMDRESULT}
    exit ${RETURNCODE}

Prüfung

  • werden im Nagios die Performance beim Host oder Service angezeigt?
    Nagios Performance Daten
  • hat Nagios process_perfdata.pl aufgerufen?
Previous Next

Webseiten-Werkzeuge

  • Letzte Änderungen
  • Medien-Manager
  • Übersicht

Seiten-Werkzeuge

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

Benutzer-Werkzeuge

  • Anmelden
linux/nagios/pnp4nagios.txt · Zuletzt geändert: 2015/07/01 10:07 von 127.0.0.1
stiziwik

Table of Contents

Inhaltsverzeichnis

  • Pnp4nagios
    • Installation
      • PopUp
    • Konfiguration
      • Synchronous Mode
      • Bulk Mode
        • Datenformat
      • Prüfung
  • 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