Website-Suche

Observium: Ein vollständiges Netzwerkverwaltungs- und Überwachungssystem für RHEL/CentOS


Observium ist eine PHP/MySQL-gesteuerte Netzwerkbeobachtungs- und Überwachungsanwendung, die eine breite Palette von Betriebssystemen/Hardwareplattformen unterstützt, darunter Linux, Windows, FreeBSD, Cisco, HP, Dell, NetApp und viele mehr. Ziel ist es, eine robuste und einfache Weboberfläche zur Überwachung des Zustands und der Leistung Ihres Netzwerks bereitzustellen.

Observium sammelt mithilfe von SNMP Daten von Geräten und zeigt diese Daten in grafischen Mustern über eine Weboberfläche an. Das RRDtool-Paket wird intensiv genutzt. Es verfolgt eine Reihe grundlegender Designziele, darunter das Sammeln möglichst vieler historischer Informationen über Geräte, die vollständige automatische Erkennung mit geringfügiger oder keiner manuellen Unterbrechung und eine sehr einfache, aber leistungsstarke Benutzeroberfläche.

Observium-Demo

Bitte halten Sie an der folgenden Stelle eine kurze Online-Demo des vom Entwickler bereitgestellten Observium bereit.

  1. http://demo.observium.org/

In diesem Artikel erfahren Sie, wie Sie Observium auf RHEL, CentOS und Scientific Linux installieren (die unterstützte Version ist). EL (Enterprise Linux) 6.x. Derzeit wird Observium für die EL-Versionen 4 bzw. 5 nicht unterstützt. Bitte verwenden Sie die folgenden Anweisungen daher nicht für diese Veröffentlichungen.

Schritt 1: Hinzufügen von RPM Forge- und EPEL-Repositorys

RPMForge und EPEL ist ein Repository, das viele zusätzliche RPM-Softwarepakete für RHEL, CentOS und Scientific Linux bereitstellt. Lassen Sie uns diese beiden Community-basierten Repositorys mit den folgenden Befehlen installieren und aktivieren.

Auf i386-Systemen
yum install wget
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
rpm -Uvh rpmforge-release-0.5.3-1.el5.rf.i386.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
Auf x86_64-Systemen
yum install wget
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.rpm
wget http://epel.mirror.net.in/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.rpm
rpm -Uvh epel-release-6-8.noarch.rpm

Schritt 2: Installieren Sie die benötigten Softwarepakete

Jetzt installieren wir die erforderlichen Softwarepakete für Observium.

yum install httpd php php-mysql php-gd php-snmp vixie-cron php-mcrypt \
php-pear net-snmp net-snmp-utils graphviz subversion mysql-server mysql rrdtool \
fping ImageMagick jwhois nmap ipmitool php-pear.noarch MySQL-python

Wenn Sie virtuelle Maschinen überwachen möchten, installieren Sie bitte das Paket „libvirt“.

yum install libvirt

Schritt 3: Observium herunterladen

Zu Ihrer Information: Observium hat zwei folgende Ausgaben

  1. Community/Open Source Edition: Diese Edition steht kostenlos zum Download zur Verfügung und verfügt über weniger Funktionen und wenige Sicherheitsfixes.
  2. Abonnement-Edition: Diese Edition bietet zusätzliche Funktionen, schnelle Funktionen/Korrekturen, Hardware-Unterstützung und einen benutzerfreundlichen SVN-basierten Veröffentlichungsmechanismus.

Navigieren Sie zunächst direkt zu /opt. Hier werden wir Observium als Standard installieren. Wenn Sie die Installation an einem anderen Ort durchführen möchten, ändern Sie bitte die Befehle und die Konfiguration entsprechend. Wir empfehlen Ihnen dringend, die Bereitstellung zunächst im Verzeichnis /opt durchzuführen. Sobald Sie sichergestellt haben, dass alles einwandfrei funktioniert, können Sie mit der Installation am gewünschten Standort beginnen.

Wenn Sie über ein aktives Observium-Abonnement verfügen, können Sie SVN-Repositorys verwenden, um die neueste Version herunterzuladen. Ein gültiges Abonnementkonto, das nur für eine einzelne Installation und zwei Test- oder Entwicklungsinstallationen mit täglichen Sicherheitspatches, neuen Funktionen und Fehlerbehebungen gültig ist.

Um die neueste stabile und aktuelle Version von Observium herunterzuladen, muss ein svn-Paket auf dem System installiert sein, um die Dateien aus dem SVN-Repository abzurufen.

yum install svn
Entwicklungsversion
svn co http://svn.observium.org/svn/observium/trunk observium
Stabile Version
svn co http://svn.observium.org/svn/observium/branches/stable observium

Da wir kein gültiges Abonnement haben, werden wir Observium mit der Community/Open Source Edition ausprobieren. Laden Sie die neueste stabile Version „observium-community-latest.tar.gz“ herunter und entpacken Sie sie wie gezeigt.

cd /opt
wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz

Schritt 4: Observium MySQL-Datenbank erstellen

Dies ist eine Neuinstallation von MySQL. Daher werden wir mithilfe des folgenden Befehls ein neues Root-Passwort festlegen.

service mysqld start
/usr/bin/mysqladmin -u root password 'yourmysqlpassword'

Melden Sie sich nun bei der MySQL-Shell an und erstellen Sie die neue Observium-Datenbank.

mysql -u root -p

mysql> CREATE DATABASE observium;
mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY 'dbpassword';

Schritt 5: Observium konfigurieren

Die Konfiguration von SELinux für die Zusammenarbeit mit Observium würde den Rahmen dieses Artikels sprengen, daher haben wir SELinux deaktiviert. Wenn Sie mit den SELinux-Regeln vertraut sind, können Sie diese konfigurieren, es gibt jedoch keine Garantie dafür, dass das Observium mit aktivem SELinux funktioniert. Deaktivieren Sie es also besser dauerhaft. Öffnen Sie dazu die Datei „/etc/sysconfig/selinux“ und ändern Sie die Option von „permissive“ in „disabled“.

vi /etc/sysconfig/selinux
SELINUX=disabled

Kopieren Sie die Standardkonfigurationsdatei „config.php.default“ nach „config.php“ und ändern Sie die Einstellungen wie gezeigt.

/opt/observium
cp config.php.default config.php

Öffnen Sie nun die Datei „config.php“ und geben Sie MySQL-Details wie Datenbanknamen, Benutzernamen und Passwort ein.

vi config.php
// Database config
$config['db_host'] = 'localhost';
$config['db_user'] = 'observium';
$config['db_pass'] = 'dbpassword';
$config['db_name'] = 'observium';

Fügen Sie dann einen Eintrag für den fping-Binärspeicherort zu config.php hinzu. In der RHEL-Distribution ist der Speicherort anders.

$config['fping'] = "/usr/sbin/fping";

Führen Sie als Nächstes den folgenden Befehl aus, um die MySQL-Datenbank einzurichten und das Standarddateischema der Datenbank einzufügen.

php includes/update/update.php

Schritt 6: Konfigurieren Sie Apache für Observium

Erstellen Sie nun unter dem Verzeichnis „/opt/observium“ ein „rrd“-Verzeichnis zum Speichern von RRDs.

/opt/observium
mkdir rrd

Als Nächstes gewähren Sie Apache den Besitz des Verzeichnisses „rrd“, um RRDs in diesem Verzeichnis zu schreiben und zu speichern.

chown apache:apache rrd

Erstellen Sie eine Apache Virtual Host-Anweisung für Obervium in der Datei „/etc/httpd/conf/httpd.conf“.

vi /etc/httpd/conf/httpd.conf

Fügen Sie am Ende der Datei die folgende Virtual Host-Anweisung hinzu und aktivieren Sie den Abschnitt „Virtualhost“, wie im Screenshot unten gezeigt.

<VirtualHost *:80>
  DocumentRoot /opt/observium/html/
  ServerName  observium.domain.com
  CustomLog /opt/observium/logs/access_log combined
  ErrorLog /opt/observium/logs/error_log
  <Directory "/opt/observium/html/">
  AllowOverride All
  Options FollowSymLinks MultiViews
  </Directory>
  </VirtualHost>

Um Observium-Protokolle zu verwalten, erstellen Sie ein „logs“-Verzeichnis für Apache unter „/op/observium“ und wenden Sie die Apache-Besitzrechte an, um Protokolle zu schreiben.

mkdir /opt/observium/logs
chown apache:apache /opt/observium/logs

Nach allen Einstellungen starten Sie den Apache-Dienst neu.

service httpd restart

Schritt 7: Erstellen Sie einen Observium-Administratorbenutzer

Fügen Sie einen ersten Benutzer hinzu und geben Sie dem Administrator die Stufe 10. Stellen Sie sicher, dass Sie Benutzername und Passwort durch Ihre Wahl ersetzen.

cd /opt/observium
./adduser.php tecmint tecmint123 10

User tecmint added successfully.

Fügen Sie als Nächstes ein neues Gerät hinzu und führen Sie die folgenden Befehle aus, um die Daten für das neue Gerät zu füllen.

./add_device.php <hostname> <community> v2c
./discovery.php -h all
./poller.php -h all

Als nächstes legen Sie einen Cron-Job fest, erstellen eine neue Datei „/etc/cron.d/observium“ und fügen den folgenden Inhalt hinzu.

33  */6   * * *   root    /opt/observium/discovery.php -h all >> /dev/null 2>&1
*/5 *      * * *   root    /opt/observium/discovery.php -h new >> /dev/null 2>&1
*/5 *      * * *   root    /opt/observium/poller-wrapper.py 1 >> /dev/null 2>&1

Laden Sie den Cron-Prozess neu, um neue Einträge zu übernehmen.

/etc/init.d/cron reload

Der letzte Schritt besteht darin, httpd- und mysqld-Dienste systemweit hinzuzufügen, damit sie nach dem Systemstart automatisch gestartet werden.

chkconfig mysqld on
chkconfig httpd on

Öffnen Sie abschließend Ihren bevorzugten Browser und zeigen Sie auf http://Ihre-IP-Adresse.

Observium-Screenshot-Tour

Es folgen Screenshots von der letzten Mitte 2013, entnommen von der Observium-Website. Eine aktuelle Ansicht finden Sie in der Live-Demo.

Abschluss

Bei Observium geht es nicht darum, andere Überwachungstools wie Nagios oder Cacti vollständig zu entfernen, sondern diese vielmehr mit einem hervorragenden Verständnis für bestimmte Geräte zu ergänzen. Aus diesem Grund ist es wichtig, Observium mit Naigos oder anderen Überwachungssystemen bereitzustellen, um Warnungen bereitzustellen, und Cacti, um benutzerdefinierte Diagramme Ihrer Netzwerkgeräte zu erstellen.

Referenzlinks:

  1. Observium-Homepage
  2. Observium-Dokumentation