Überwachung komplexer IT-Strukturen mit Groundwork Monitor – Nagios und mehr
Das Monitoring-System Nagios (früher NetSaint) ermöglicht es, verschiedene Bestandteile eines Netzwerks zu überwachen, um so Störungen frühzeitig zu erkennen. Nagios bietet dazu eine Vielzahl von Plug-ins. So kann die Erreichbarkeit einzelnen Host ebenso überwacht werden, wie die Verfügbarkeit bestimmter Services. Bei Problemen werden die festgelegten Kontaktpersonen per E-Mail, SMS, o.ä. informiert, damit sie entsprechende Maßnahmen einleiten können.
Nagios untersteht der GPL und läuft auf allen Unix/Linux-Systemen. Nagios bietet ein einfaches Web-Frontend um sich einen Überblick über die überwachten Hosts und Services zu verschaffen. Es ermöglicht auch eine rudimentäre Interaktion mit dem System. Eine Konfiguration des Systems ist darüber jedoch nicht möglich. Diese muss über die entsprechenden Konfigurationsdateien erfolgen. Es gibt jedoch verschiedene andere Projekte, die Versuchen diese Einschränkung zu beseitigen.
Nach einer umfangreichen Evaluation der verschiedenen Projekte habe ich entschieden den GroundWork Monitor einzusetzen. Die umfangreichen Möglichkeiten des Systems und die ansprechende GUI haben mich überzeugt.
A complete availability monitoring solution that ensures IT infrastructure uptime while identifying issues before they become real problems. Unifies best-of-breed open source tools – Nagios®*, Nmap, SNMP TT, PHP, Apache, MySQL and more — through PHP/AJAX-based components and an integrated user interface to deliver the extensible functionality you require.
Nachfolgend beschreibe ich kurz die Installation und Konfiguration wie ich sie auf einem Cent OS 5 mit GroundWork 5.1.1-3 durchgeführt habe. Für erste Tests kann man auch einfach hier oder hier ein VMWare Appliance Image von GroundWork Monitor Open Source herunterladen.
1. Installation
- Schritt #1: Cent OS installieren
- Schritt #2: Vorarbeiten am System (je nach Bedarf)
root@trion:~# vi /etc/sysconfig/network
HOSTNAME=trion
root@trion:~# ln -s /usr/bin/vim /usr/bin/vi
root@trion:~# vi /etc/ssh/sshd_config
PermitRootLogin yes
root@trion:~# /etc/init.d/sshd restart
root@trion:~# yum install ntp
root@trion:~# vi /etc/ntp.conf
server ptbtime1.ptb.de
root@trion:~# ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
root@trion:~# /etc/init.d/ntpd start - Schritt #3: Vorarbeiten für GroundWork Monitor
Java JDK 1.5 herunterladen und installieren:
root@trion:~# chmod +x jdk-1_5_0_12-linux-i586-rpm.binPerl-DBI installieren:
root@trion:~# ./jdk-1_5_0_12-linux-i586-rpm.bin
root@trion:~# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.5.0_12
export PATH=$PATH:$JAVA_HOME/bin
root@trion:~# source /etc/profile
root@trion:~# yum install perl-DBI.i386MySQL installieren:
root@trion:~# yum install mysql-server.i386Netzwerk konfigurieren (falls noch nicht geschehen), damit MySQL keine Probleme hat:
root@trion:~# /etc/init.d/mysqld start
root@trion:~# vim /etc/hosts 172.20.99.99 trionPostfix installieren und konfigurieren, damit Nagios später auch Mails verschicken kann:
root@trion:~# yum install postfixWährend der Installation von GroundWork wird auch which benötigt. Da es standardmäßig nicht installiert ist, muss es jetzt noch nachinstalliert werden:
root@trion:~# cd /etc/rc3.d/
root@trion:~# ln -s ../init.d/postfix K30postfix
root@trion:~# # vi /etc/postfix/main.cf
myhostname = trion.lindhorst.cc
myorigin = $myhostname
inet_interfaces = localhost
relayhost = ray.lindhorst.cc
root@trion:~# /etc/init.d/postfix start
root@trion:~# yum install which - Schritt #4: GroundWork Monitor herunterladen und installieren
root@trion:~# tar zxvf groundwork-monitor-os-5.1.1-3.rhat5.i386.tar.gzAbschließend noch die Rechte für /tmp/ anpassen, da GroundWork sonst Probleme hat:
root@trion:~# rpm -Uvh groundwork-foundation-pro-1.6.1-35.noarch.rpm
root@trion:~# rpm -Uvh groundwork-monitor-core-5.1.1-3.rhel5.i386.rpm
root@trion:~# chmod -R 777 /tmp/
2. Konfiguration
- http://trion aufrufen
- als “admin” mit Passwort “admin” einloggen

- über den Menüpunkt “Administration” in die Administrations-Ansicht wechseln

- dort unter “Users” das Passwort für “admin” ändern und den Default-Operator “joe” löschen

- ggf. weitere Nutzer anlegen und unter “Groups” einer Gruppe zuordnen

- über den Menüpunkt “Configuration” erfolgt die Konfiguration von Nagios
…
3. Nützliche Plug-ins für Nagios
- check_ldap
Das Standard check_ldap Plug-in machte bei der Überprüfung einiger Host (u.a. bei ssl) Probleme und aus diesem Grund wurde auf das bei NagiosExchange gelistete check_ldap.pl gewechselt. Das Plug-in muss in dem Verzeichnis /usr/local/groundwork/nagios/libexec/ abgelegt werden.
Anschließend müssen die Rechte angepasst werden:
chown nagios:nagios check_ldap.plDesweiteren ist es notwendig, den Library-Pfad anzupassen:
chmod +x check_ldap.pl
vi check_ldap.pluse lib "/usr/local/nagios/libexec";Damit das Plugin funktioniert muss noch das Perl LDAP-Modul installiert werden:
=>
use lib "/usr/local/groundwork/nagios/libexec";
yum install perl-LDAPNun kann das Plug-in verwendet werden:
root@trion:/# /usr/local/groundwork/nagios/libexec/check_ldap.pl -H ldap -sOK - check_smb
Das check_smb Plug-in, welches von NagiosExchange heruntergeladen werden kann, nutzt den smbclient um Freigaben eines SMB-Shares zu ermitteln. Das Plug-in muss in dem Verzeichnis /usr/local/groundwork/nagios/libexec/ abgelegt werden.
Anschließend müssen die Rechte angepasst werden:
chown nagios:nagios check_smbNun kann das Plug-in verwendet werden:
chmod +x check_smb
yum install samba-client.i386
root@trion:/# /usr/local/groundwork/nagios/libexec/check_smb -H <servername>
OK Domain=[<DOMAIN-NAME>] OS=[Unix] Server=[Samba 3.0.23d] -
check_disk
Das check_disk.pl Plug-in ist eine in Perl geschriebene Alternative für das Standard check_disk Plug-in. Es kann von NagiosExchange heruntergeladen werden.
Es gibt 2 Möglichkeiten der Verwendung:- Auf dem zu überprüfenden Server ablegen und per check_by_ssh aufrufen:
check_by_ssh -H <SERVER> -p 22 -i /home/nagios/.ssh/id_dsa -l nagios -C "/nagios/check_disk.pl -f /var:20:80" - Das Plug-in direkt mit “-H = remote server name“, “-l = Username for ssh login” und “-i = Identity file for ssh login” aufrufen:
check_disk.pl -H <SERVER> -i /home/nagios/.ssh/id_dsa -l nagios -f /var:20:80
- Auf dem zu überprüfenden Server ablegen und per check_by_ssh aufrufen:
- check_dns
Für das check_dns Plug-in es es nötig, die bind-utils zu installieren, damit nslookup zur Verfügung steht:
yum install bind-utils - check_tftp
Für das check_tftp Plug-in es es erforderlich, einen TFTP Client zu installieren:
yum install tftp
Links:
Nagios
Nagios Plugins and Add Ons Exchange
GroundWork Open Source
GroundWork Open Source – SourceForge-Projektseite




