Nagios: Unterschied zwischen den Versionen

aus www.kruedewagen.de, Homepage von Ralf und Judith Krüdewagen (Kruedewagen)
Zur Navigation springen Zur Suche springen
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 16: Zeile 16:
*Drucker-Monitoring: siehe [[c't]] 04/12 S.170
*Drucker-Monitoring: siehe [[c't]] 04/12 S.170
*Gelegentlich genutzte Geräte überwachen: siehe [[c't]] 14/13 S.172 (lynx, etc.)
*Gelegentlich genutzte Geräte überwachen: siehe [[c't]] 14/13 S.172 (lynx, etc.)
*siehe LM 05/14 S.28


== Konfiguration ==
== Konfiguration ==
Zeile 67: Zeile 68:
*http://exchange.nagios.org/
*http://exchange.nagios.org/
*http://www.nagiosexchange.org/
*http://www.nagiosexchange.org/
*http://svn.durchmesser.ch/trac/monitoringplug
*Pluginentwicklung siehe LM 05/06 S.118
*Pluginentwicklung siehe LM 05/06 S.118


Zeile 173: Zeile 177:
</pre>
</pre>


<br />
=== check_mk ===
=== check_mk ===
*http://mathias-kettner.de/check_mk.html
*http://mathias-kettner.de/check_mk.html
*Praxis siehe c't 24/12 S.190
*Praxis siehe c't 24/12 S.190
*siehe LM 05/14 S.34
*http://blog.quux.de/?p=1384
*http://blog.quux.de/?p=1384
*https://wiki.icinga.org/display/howtos/check_mk
*https://wiki.icinga.org/display/howtos/check_mk
Zeile 207: Zeile 213:
**verteiltes und redundantes Monitoring
**verteiltes und redundantes Monitoring
**mehrere Prozesse
**mehrere Prozesse
*Open Monitoring Distribution (OMD) mit Check_MK GUI Multisite
**siehe LM 02/11 S.58
== Alternative GUIs ==
*[[Icinga]] Web 2
*[[Check_MK]] Multisite
*[http://www.thruk.org Thruk]
**[http://www.pro-linux.de/artikel/2/1795/thruk-besser-ueberwachen.html Thruk: Eine alternative Weboberfläche für Nagios und Co.] (pro-linux.de)
**nutzt Livestatus, kann sich zu mehreren Cores verbinden (z.B. Nagios und Icinga gleichzeitig)


== Kommerzielle Ableger ==
== Kommerzielle Ableger ==
Zeile 234: Zeile 249:
==Siehe auch==
==Siehe auch==
*[[Icinga]]
*[[Icinga]]
*[[Check_MK]]


[[Kategorie:Software]]
[[Kategorie:Software]]
[[Kategorie:Monitoring]]
[[Kategorie:Monitoring]]

Aktuelle Version vom 20. Mai 2017, 16:46 Uhr

Nagios ist eine umfassende und mächtige Open-Source Monitoring-Software zur Überwachung von Rechner- und Netzwerkressourcen. Mit Icinga existiert ein kompatibler Fork von Nagios.

Allgemeine Artikel

  • siehe c't 3/06, S.206
  • siehe iX 02/08 S.54, Neues bei Nagios 3
  • siehe LM 03/08 S.29 ff
    • Neues bei Nagios 3
    • Einsatz am Beispiel
    • Business-Prozesse (z.B. Redundanzen) abbilden
    • SLA
    • Logfile-Überwachung mit check_logfiles (auch z.B. /proc oder /sys Stati überwachen)
  • siehe LM 11/08 S.22 Bericht zur Nagios-Konferenz
  • Workshops bei pro-linux.de: Teil 1, Teil 2, Teil 3
  • Netzwerküberwachung mit Nagios (heise.de)
  • siehe c't 05/12 S.176: Drucker-Plugin, Alarm per SMS (gammu), mobile Clients (aNag, uNagi)
  • Drucker-Monitoring: siehe c't 04/12 S.170
  • Gelegentlich genutzte Geräte überwachen: siehe c't 14/13 S.172 (lynx, etc.)
  • siehe LM 05/14 S.28

Konfiguration

Timeperiod

Wochenende:

define timeperiod {
    timeperiod_name Wochenende
    friday 16:00-24:00
    saturday 00:00-24:00
    sunday 00:00-24:00
    monday 00:00-08:00
}

Alles außer Wochenende:

define timeperiod {
    timeperiod_name Woche
    use 24x7
    exclude Wochenende
}

Event Handler

Siehe Event Handler.

Spezielle Parameter

Workshops / Medien

Literatur

  • Nagios, Open Source Press, ISBN 978-3-941841-25-3

Plugins und Erweiterungen

  • Pluginentwicklung siehe LM 05/06 S.118


NRPE

Mehrere Checks zusammenfassen

Logfiles

Standard-Check:

check_log -F datei.log -O datei.log.nagios -q ALARM

check_logfiles

Pattern finden:

  • Beim ersten Lauf wird noch kein Pattern gefunden, erst beim zweiten (aber nur für dazugekommene Zeilen im File!)
  • Die Option "--allyoucaneat" (nicht auf CLI) bewirkt, dass schon beim ersten Lauf gefunden wird.
  • Ich kann mit "--reset" jederzeit zurücksetzen, dann wird beim nächsten Lauf komplett durchsucht und gefunden (auch durch alle rotierte Dateien)

Dateien (konfigurierbar):

  • Seekfile mit Logdatei-Infos in /var/tmp/check_logfiles/.
  • Protokolldatei in Datei wie /tmp/check_logfiles.protocol-2012-09-05-09-42-26

Beispiele:

/usr/local/icinga/libexec/check_logfiles --logfile=/var/tmp/test.log --criticalpattern='.*Finde mich.*' --tag=ALARM
/usr/local/icinga/libexec/check_logfiles --logfile=/var/tmp/test.log --criticalpattern='Finde mich' --tag=ALARM
/usr/local/icinga/libexec/check_logfiles --logfile=/var/tmp/test.log --criticalpattern='!.*Bin noch da.*' --tag=ALIVE

Ausgabe aller gefundenen Zeilen:

/usr/local/icinga/libexec/check_logfiles --logfile=/var/tmp/test.log --criticalpattern='.*Finde mich.*' --tag=ALARM --report=long

Rotierte Dateien im Format ".log-YYYYMMDD.bz2" durchsuchen (nur 1x beim nächsten Aufruf, wenn Seek anders ist bzw. die ursprüngliche Logdatei durch Rotation "anders" ist):

/usr/local/icinga/libexec/check_logfiles --logfile=/var/tmp/test.log --criticalpattern='.*Finde mich.*' --tag=ALARM --report=long --rotation=loglogdate8bz2

In Nagios/Icinga setzen (http://docs.icinga.org/latest/de/volatileservices.html):

max_check_attempts 1
is_volatile 1
flap_detection_enabled 0
notification_options    w,u,c

... und im Normalfall nur bei WARNING, UNKNOWN oder CRITICAL notifizieren (nicht bei OK)

Beispiel:

# 'check_logfiles' with rotation parameter
# Seekfiles in /var/tmp/check_logfiles/, protocol files in /tmp
#
define command{
    command_name    check_logfiles
    command_line    $USER1$/check_logfiles --logfile=$ARG1$ --warningpattern='$ARG2$' --criticalpattern='$ARG3$' --tag=$ARG4$ --report=$ARG5$ --rotation=$ARG6$ --timeout=$ARG7$
    }

# check log, seach for "ALARM" and set to warn
define service{
    use                     service-workhours           ; Name of service template to use
    host_name               owl
    contact_groups          admins
    service_description     CONFDB_CONSISTENCY
    check_command           check_logfiles!/var/tmp/confdb.log!ALARM!XXcriticalXXX!ALARM!long!loglogdate8bz2!60
    normal_check_interval   30
    max_check_attempts      1
    is_volatile             1
    flap_detection_enabled  0
    notification_options    w,u,c
    }


check_mk

Tipps und Tricks:

Plugin getrennt vom Server nutzen

Beispiel HTTP als Cronjob:

# Check if Apache is responsing and restart it if not
*/5 * * * * (/usr/lib64/nagios/plugins/check_http -H www.example.com -S -t 10 -u /wiki/Main_Page -s "My Wiki" -f follow || (/etc/init.d/apache stop;/etc/init.d/apache start;echo "Restarted Apache on www.example.com at $(date) by cronjob check_http" | mail -s "Restarted Apache on www.example.com" user1@example.com,user2@example.com; logger "Restarted Apache on www.example.com at $(date) by cronjob check_http")) > /dev/null 2>/dev/null

Cache

  • NRPE-Ergebnis im Cache halten: siehe c't 14/13 S.172, Soft-Link

Hardware

  • Ampel für Gesamtzustand des Netzes: siehe LM 06/08 S.74

Forks

  • Icinga
  • Shinken, siehe LM 04/10 S.92
    • Python
    • verteiltes und redundantes Monitoring
    • mehrere Prozesse
  • Open Monitoring Distribution (OMD) mit Check_MK GUI Multisite
    • siehe LM 02/11 S.58

Alternative GUIs

Kommerzielle Ableger

Support

Community, Blogs, Wikis, Foren

Android Apps

Browser Erweiterungen

Windows

  • Mit Nagios Windows überwachen: siehe c't 12/12 S.184 (NRPE, NSClient++, WMI, PowerShell)

Siehe auch