Wird eine Nagios Installation zu groß oder verhindert die Netzwerk-Topologie den Zugriff auf bestimmte Komponenten, wird es erforderlich, weitere Nagios-Instanzen einzusetzen. Um nun nicht mehrere Instanzen beobachten zu müssen, gibt es in Nagios die Möglichkeit, die Ergebnisse der Servicechecks über eine Schnittstelle an eine zentrale Instanz weiterzuleiten. Dieser Workshop soll zeigen, wie man die Konfiguration für eine verteilte Umgebung plant, die Installation durchführt und optimiert.
OSDC 2010 | IT Service Management mit Open Source Software „OpenITSM“ by Juli...
Nagios Conference 2007 | Nagios Distributed Monitoring by Martin Hefter
1. Distributed monitoring mit Nagios 2.x
Planung, Installation, Optimierung
Martin Hefter
Diplomand bei itnovum
Nagioskonferenz 11. - 12. Oktober 2007
2. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Zur Person
Erfahrungen mit Nagios
Zwei kleinere Nagios-Projekte f¨ur das Rechenenzentrum
der Hochschule Furtwangen
Planung und Umsetzung der Nagios-¨Uberwachung f¨ur das
Hess. Landesamt f¨ur Bodenmanagement und
Geoinformation (fr¨uher Hess. Landesvermessungsamt)
2. Praxissemester bei NETWAYS
Aktuell
Diplomand bei itnovum in Fulda.
Thema: Analyse, ¨Uberwachung und Auswertung von
Gesch¨aftsprozessen
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 2 von 26
3. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Zur Person
Erfahrungen mit Nagios
Zwei kleinere Nagios-Projekte f¨ur das Rechenenzentrum
der Hochschule Furtwangen
Planung und Umsetzung der Nagios-¨Uberwachung f¨ur das
Hess. Landesamt f¨ur Bodenmanagement und
Geoinformation (fr¨uher Hess. Landesvermessungsamt)
2. Praxissemester bei NETWAYS
Aktuell
Diplomand bei itnovum in Fulda.
Thema: Analyse, ¨Uberwachung und Auswertung von
Gesch¨aftsprozessen
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 2 von 26
4. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
¨Uber diesen Workshop
Gr¨unde f¨ur verteiltes Monitoring
Große Nagios-Installationen
Netzwerk-Topologie (Zentrale und Außenstellen)
Sicherheits¨uberlegungen (DMZ)
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 3 von 26
6. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Szenario f¨ur diesen Workshop
Fallbeispiel
Zentrale in M¨unchen mit einer Außenstelle in Hamburg
Anbindung ¨uber eine 5 Mbit/s Standleitung
Zahlreiche Business-Server verteilt auf beide Standorte
IT-Service zentral in M¨unchen
Ziel
¨Uberwachung der Server an beiden Standorten ¨uber eine
Ober߬ache.
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 5 von 26
7. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Szenario f¨ur diesen Workshop
Fallbeispiel
Zentrale in M¨unchen mit einer Außenstelle in Hamburg
Anbindung ¨uber eine 5 Mbit/s Standleitung
Zahlreiche Business-Server verteilt auf beide Standorte
IT-Service zentral in M¨unchen
Ziel
¨Uberwachung der Server an beiden Standorten ¨uber eine
Ober߬ache.
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 5 von 26
8. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Serverkonfiguration und Aufgaben
M¨unchen
¨Uberwachen der Server in M¨unchen
Entgegennehem der Testergebnisse aus Hamburg
Hostchecks
Webober߬ache
Benachrichtigung
Hamburg
¨Uberwachung der Server in Hamburg
Melden der Testergebnisse nach M¨unchen
Ober߬ache und Benachrichtigung nicht erforderlich
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 6 von 26
9. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Funktionsschema
Quelle: W. Barth, Nagios System und Netzwerk-Monitoring, 2005
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 7 von 26
10. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Planung der Installation
Verzeichnisstruktur
global - Allgemeing¨ultige Konfigurationen.
local - Definitionen, die nur lokal g¨ultig sind.
templates - Templates f¨ur Host- und Service-Tests.
sites - Konfiguration f¨ur die dezentralen Server.
sites/hamburg - Konfiguration f¨ur den Server in
Hamburg.
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 8 von 26
11. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Kompilieren von NSCA
Nagios M¨unchen
/usr/local/src/nsca-2.7.2
1 ./configure
2 make all
Hinweis
Damit NSCA seine Daten verschl¨usselt ¨ubertragen kann, ist
die MCRYPT library zu installieren.
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 9 von 26
12. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Installieren von NSCA
Nagios M¨unchen
/usr/local/src/nsca/src
1 cp nsca /usr/local/nagios/bin
2 scp send nsca root@hamburg:/usr/local/nagios/bin
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 10 von 26
13. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Installieren von NSCA
Nagios M¨unchen
/usr/local/src/nsca/src
1 cp nsca /usr/local/nagios/bin
2 scp send nsca root@hamburg:/usr/local/nagios/bin
/usr/local/src/nsca/sample-config
1 cp nsca.cfg /usr/local/nagios/etc
2 chown nagios:nagios /usr/local/nagios/etc/nsca.cfg
3 scp send nsca.cfg root@hamburg:/usr/local/nagios/etc
4 cp nsca.xinetd /etc/xinetd.d/nsca
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 10 von 26
14. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
NSCA Konfigurieren
Nagios M¨unchen
/ etc/xinet.d/nsca
1 /etc/init.d/xinetd stop
2 vi /etc/xinet.d/nsca
3 Zeile only_from = 127.0.0.1 l¨oschen
4 /etc/init.d/xinetd start
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 11 von 26
15. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
NSCA Konfigurieren
Nagios M¨unchen
/ etc/xinet.d/nsca
1 /etc/init.d/xinetd stop
2 vi /etc/xinet.d/nsca
3 Zeile only_from = 127.0.0.1 l¨oschen
4 /etc/init.d/xinetd start
Hinweis
xinetd[4773]: xinetd Version 2.3.14 started
xinetd[4773]: Started working: 1 available
service
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 11 von 26
16. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
NSCA Konfigurieren
Nagios M¨unchen
/usr/local/nagios/etc/nsca.cfg
1 vi /usr/local/nagios/etc/nsca.cfg
2 aggregate_writes=1
3 password=Geheim
4 decryption_method=2
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 11 von 26
17. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
NSCA Konfigurieren
Nagios M¨unchen
/usr/local/nagios/etc/nsca.cfg
1 vi /usr/local/nagios/etc/nsca.cfg
2 aggregate_writes=1
3 password=Geheim
4 decryption_method=2
Nagios Hamburg
/usr/local/nagios/etc/send nsca.cfg
1 chown nagios:nagios /usr/local/nagios/etc/send nsca.cfg
2 vi /usr/local/nagios/etc/send nsca.cfg
3 password=Geheim
4 encryption_method=2
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 11 von 26
18. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Testen der Verbindung
Nagios Hamburg
/usr/local/nagios/libexec
1 ./test nsca muenchen
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 12 von 26
19. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Testen der Verbindung
Nagios Hamburg
/usr/local/nagios/libexec
1 ./test nsca muenchen
Antwort
1 data packet(s) sent to host successfully.
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 12 von 26
20. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Command definieren
Nagios Hamburg
/usr/local/nagios/etc/global/distributed.cfg
define command{
command_name submit_service_check
command_line $USER2$/ submit_service_check
"$HOSTNAME$" " $SERVICEDESC$ "
" $SERVICESTATEID$ "
" $SERVICEOUTPUT$ | $SERVICEPERFDATA$ "
}
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 13 von 26
21. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Skript submit service check
Nagios Hamburg
/usr/local/nagios/libexec/eventhandlers/submit service check
#!/ bin/bash -x
# Skript submit_service_check
PRINTF="/usr/bin/printf"
NAGIOS_SERVER ="<IP >"
CMD="/usr/local/nagios/bin/send_nsca"
CFG="/usr/local/nagios/etc/send_nsca.cfg"
HOST=$1
SRV=$2
RESULT=$3
OUTPUT=$4
$PRINTF "%b" "$HOSTt$SRVt$RESULTt$OUTPUTn" |
$CMD -H $NAGIOS_SERVER -c $CFG
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 14 von 26
22. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Nagios konfigurieren
Nagios Hamburg
/usr/local/nagios/etc/nagios.cfg
1 vi /usr/local/nagios/etc/nagios.cfg
2 obsess_over_services=1
3 ocsp_command=submit_service_check
4 enable_notification=0
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 15 von 26
23. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Nagios konfigurieren
Nagios M¨unchen
/usr/local/nagios/etc/nagios.cfg
1 vi /usr/local/nagios/etc/nagios.cfg
2 check_external_commands=1
3 accept_passive_service_checks=1
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 15 von 26
24. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Nagios konfigurieren
Nagios M¨unchen
/usr/local/nagios/etc/nagios.cfg
1 vi /usr/local/nagios/etc/nagios.cfg
2 check_external_commands=1
3 accept_passive_service_checks=1
Hinweis
An dieser Stelle ist Nagios in der Lage, passive checks zu
versenden und zu empfangen.
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 15 von 26
25. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Templates f¨ur Services
Template service hamburg in M¨unchen
/usr/local/nagios/etc/templates/services.cfg
name service-hamburg
active checks enabled 0
passive checks enabled 1
obsess over service 0
Template service hamburg in Hamburg
/usr/local/nagios/etc/templates/services.cfg
name service-hamburg
active checks enable 1
passive checks enable 0
obsess over service 1
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 16 von 26
26. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Service Definitionen
Nagios M¨unchen
/usr/local/nagios/etc/sites/hamburg/services.cfg
define service{
use service -hamburg
host_name HH -Nagios
service_description PING
check_command check_ping !100.0 ,20%!500.0 ,60%
}
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 17 von 26
27. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Service Definitionen
Nagios Hamburg
/usr/local/nagios/etc/sites/hamburg/services.cfg
define service{
use service -hamburg
host_name HH -Nagios
service_description PING
check_command check_ping !100.0 ,20%!500.0 ,60%
}
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 18 von 26
28. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Nagios Neustarten
Nagios M¨unchen
/etc/init.d/nagios
/etc/init.d/nagios restart
Nagios Hamburg
/etc/init.d/nagios
/etc/init.d/nagios restart
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 19 von 26
29. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Optimierung von NSCA
Schwachstellen der eben gezeigten L¨osung
Nach jedem Check wird NSCA aufgerufen
Nagios ist f¨ur die Dauer der Daten¨ubertragung blockiert
Jeder Datensatz wird einzeln ¨ubertragen
L¨osung OCSP Sweeper
OCSP Sweeper for Nagios von Jason Lancaster
Sammelt mehere Eintr¨age lokal in einer FIFO
¨Ubertr¨agt die Datens¨atze gesammelt an den Hauptserver
Nagios wird unabh¨anig von der NSCA Daten¨ubertragung
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 20 von 26
30. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Optimierung von NSCA
Schwachstellen der eben gezeigten L¨osung
Nach jedem Check wird NSCA aufgerufen
Nagios ist f¨ur die Dauer der Daten¨ubertragung blockiert
Jeder Datensatz wird einzeln ¨ubertragen
L¨osung OCSP Sweeper
OCSP Sweeper for Nagios von Jason Lancaster
Sammelt mehere Eintr¨age lokal in einer FIFO
¨Ubertr¨agt die Datens¨atze gesammelt an den Hauptserver
Nagios wird unabh¨anig von der NSCA Daten¨ubertragung
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 20 von 26
31. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Einrichten OCSP-Sweeper
Nagios Hamburg
Siehe hierzu meinen Artikel im Nagios Wiki:
HowTo → ocsp_sweeper
/usr/local/src/ocsp sweeper
1 cp ocsp.init /etc/init.d/ocsp sweeper
2 cp ocsp sweeper.pl
/usr/local/nagios/libexec/ocsp sweeper.pl
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 21 von 26
32. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Einrichten OCSP-Sweeper
Nagios Hamburg
Siehe hierzu meinen Artikel im Nagios Wiki:
HowTo → ocsp_sweeper
/etc/init.d/ocsp sweeper
1 vi /etc/init.d/ocsp sweeper
2 $master = ’muenchen’;
3 $fifo = ’/usr/local/nagios/var/rw/ocsp.cmd’;
4 /etc/init.d/ocsp sweeepr start
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 21 von 26
33. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Nagios f¨ur OCSP-Sweeper konfigurieren
Nagios Hamburg
/usr/local/nagios/etc/global/distributed.cfg
define command{
command_name submit_service_check_cached
command_line /usr/bin/printf "%b" "$HOSTNAME$ ,
$SERVICEDESC$ ,$SERVICESTATEID$ ,
$SERVICEOUTPUT$ | $SERVICEPERFDATA$ n"
>> /usr/local/nagios/var/rw/ocsp.cmd
}
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 22 von 26
34. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Nagios f¨ur OCSP-Sweeper konfigurieren
Nagios Hamburg
/usr/local/nagios/etc/nagios.cfg
1 vi /usr/local/nagios/etc/nagios.cfg
2 ocsp command=submit service check cached
3 /etc/init.d/nagios restart
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 23 von 26
35. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Auf veraltete Tests reagieren (check freshness)
Nagios M¨unchen
/usr/local/nagios/etc/nagios.cfg
1 vi /usr/local/nagios/etc/nagios.cfg
2 check_freshness = 1
3 service_freshness_check_interval = 60
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 24 von 26
36. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Auf veraltete Tests reagieren (check freshness)
Nagios M¨unchen
/usr/local/nagios/templates/services.cfg
1 vi /usr/local/nagios/templates/generic.cfg
2 name service-hamburg
3 check_freshness 1
4 frehness_threshold 600
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 24 von 26
37. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Ende
Fragen?
Slides TEXed with LATEX-Beamer
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 25 von 26
38. Zur Person Motivation Planung Installation Konfiguration Optimieren Ende
Weitere Informationen
Literatur
Wolfgang Barth,
Nagios System- und Netzwerk-Monitoring,
Open Source Press GmbH ,
Oktober 2005
M. Hefter - Nagios Konferenz 2007 Distributed monitoring 26 von 26