Überwachung komplexer IT-Strukturen mit Groundwork Monitor – Nagios und mehr

Mittwoch, 12 März 2008 15:17 - Geschrieben von René Lindhorst

GroundWork-LogoDas 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.

[Community :: GroundWork Open Source]

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.bin
    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
    Perl-DBI installieren:
    root@trion:~# yum install perl-DBI.i386 MySQL installieren:
    root@trion:~# yum install mysql-server.i386
    root@trion:~# /etc/init.d/mysqld start
    Netzwerk konfigurieren (falls noch nicht geschehen), damit MySQL keine Probleme hat:
    root@trion:~# vim /etc/hosts 172.20.99.99 trion Postfix installieren und konfigurieren, damit Nagios später auch Mails verschicken kann:
    root@trion:~# yum install postfix
    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
    Wä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:~# yum install which
  • Schritt #4: GroundWork Monitor herunterladen und installieren
    root@trion:~# tar zxvf groundwork-monitor-os-5.1.1-3.rhat5.i386.tar.gz
    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
    Abschließend noch die Rechte für /tmp/ anpassen, da GroundWork sonst Probleme hat:
    root@trion:~# chmod -R 777 /tmp/

2. Konfiguration

  • http://trion aufrufen
  • als “admin” mit Passwort “admin” einloggen
    groundwork-login.png
  • über den Menüpunkt “Administration” in die Administrations-Ansicht wechseln
    groundwork-menu.png
  • dort unter “Users” das Passwort für “admin” ändern und den Default-Operator “joe” löschen
    groundwork-administration.png groundwork-userinfo.png
  • ggf. weitere Nutzer anlegen und unter “Groups” einer Gruppe zuordnen
    groundwork-users.png
  • ü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.pl
    chmod +x check_ldap.pl
    Desweiteren ist es notwendig, den Library-Pfad anzupassen:
    vi check_ldap.pluse lib "/usr/local/nagios/libexec";
    =>
    use lib "/usr/local/groundwork/nagios/libexec";
    Damit das Plugin funktioniert muss noch das Perl LDAP-Modul installiert werden:
    yum install perl-LDAP Nun 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_smb
    chmod +x check_smb
    yum install samba-client.i386
    Nun kann das Plug-in verwendet werden:
    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
  • 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

Ähnliche Beiträge: