So installierst du Observium Network Monitoring Tool unter Debian 11

Observium ist ein Netzwerküberwachungstool für deine Serverinfrastruktur. Es ist eine selbsterkennende Netzwerküberwachungsplattform mit geringem Wartungsaufwand und unterstützt eine breite Palette von Netzwerkgeräten und -plattformen, darunter Cisco, Linux, Windows, HP, Juniper, Dell, FreeBSD, Netscalar, NetApp und viele mehr.

Observium ist in mehreren Versionen erhältlich: als kostenlose Version, als professionelle Version und als Unternehmensversion. Für das Heimlabor ist die kostenlose Version von Observium mehr als ausreichend, um deine Netzwerkgeräte zu überwachen.

Observium bietet eine intuitive Benutzeroberfläche, mit der du ganz einfach den Status deiner Netzwerkgeräte abrufen kannst. Außerdem bietet es eine externe Integration mit einer Anwendung eines Drittanbieters, mit der du ein eigenes Modul erstellen kannst, um Daten aus deiner Anwendung zu sammeln und zu melden.

In diesem Lernprogramm wirst du das Observium Network Monitoring Tool auf einem Debian 11 Server einrichten. Mit dieser Anleitung wirst du Observium unter dem LAMP-Stack (Linux, Apache2, MariaDB und PHP) ausführen. Am Ende des Tutorials hast du das Observium Network Monitoring zum Laufen gebracht und bist bereit, die zu überwachenden Hosts oder Netzwerkgeräte hinzuzufügen.

Voraussetzungen

Für die Durchführung dieses Tutorials benötigst du die folgenden Voraussetzungen

  • Einen Debian 11-Server – In diesem Beispiel wird die neueste Version von Debian Bulleye mit dem Hostnamen ‚observium-server‘ verwendet.
  • Einen Nicht-Root-Benutzer mit sudo/root-Administrator-Rechten.

Installieren der Abhängigkeiten

Observium ist ein Netzwerküberwachungsprogramm, das hauptsächlich in PHP geschrieben wurde. Um Observium zu installieren, musst du Pakete wie den Apache2-Webserver, den MariaDB-Datenbankserver und PHP-Pakete sowie einige Netzwerkdienstprogramme wie whois, rrdtool, mtr und viele andere installieren.

Im ersten Schritt installierst du einige Paketabhängigkeiten, die den LAMP-Stack und einige Netzwerkwerkzeuge beinhalten, auf dem Debian-System.

Führe den folgenden apt-Befehl aus, um deinen Debian-Paketindex zu aktualisieren und aufzufrischen.

sudo apt update

Installiere nun die Paketabhängigkeiten für Observium mit dem folgenden apt-Befehl.

sudo apt install libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-gd php7.4-json php7.4-bcmath \
php7.4-mbstring php7.4-opcache php7.4-apcu php7.4-curl php-pear snmp fping rrdtool whois \
mariadb-server mariadb-client subversion mtr-tiny ipmitool graphviz imagemagick apache2 \
python3-mysqldb python3-pymysql python-is-python3

Wenn du zur Bestätigung aufgefordert wirst, gib y ein, um zu bestätigen und drücke ENTER, um fortzufahren. Die Installation wird nun beginnen.

install LAMP

Nachdem die Paketabhängigkeiten installiert sind, musst du als Nächstes den LAMP-Stack für die Observium-Installation einrichten und konfigurieren.

MariaDB Server einrichten

Jetzt richtest du den MariaDB-Server ein, der für Observium verwendet werden soll. Du sicherst die MariaDB-Installation mit dem Befehl „mysql_secure_installation“ und erstellst dann eine neue Datenbank und einen neuen Benutzer, der für die Observium-Installation verwendet wird.

Bevor du beginnst, führe den folgenden systemctl-Befehl aus, um sicherzustellen, dass der MariaDB-Dienst aktiviert ist und läuft.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Du wirst die folgende Ausgabe sehen – der MariaDB-Dienst ist aktiviert und wird beim Booten automatisch ausgeführt. Und der aktuelle Status des laufenden MariaDB-Dienstes.

mariadb prüfen

Als Nächstes sicherst du die Installation des MariaDB-Servers mit dem unten stehenden Befehl „mysql_secure_installation“.

sudo mysql_secure_installation

Du wirst nun aufgefordert, einige der MariaDB-Konfigurationen vorzunehmen:

  • Soll der MariaDB-Root-Benutzer auf die Authentifizierungsmethode unix_socket umgestellt werden? Gib n für no ein.
  • Ein neues MariaDB Root-Passwort einrichten? Bestätige mit y, gib das neue Passwort für deinen MariaDB-Einsatz ein und wiederhole das Passwort.
  • Fernanmeldung für den MariaDB-Root-Benutzer deaktivieren? Bestätige mit y und deaktiviere ihn.
  • Den anonymen Standardbenutzer von MariaDB entfernen? Gib y ein.
  • Den standardmäßigen Datenbanktest aus MariaDB entfernen? Gib y ein.
  • Zuletzt alle Tabellenrechte neu laden, um neue Änderungen zu übernehmen? Gib zur Bestätigung y ein.

Nachdem du die MariaDB-Installation gesichert hast, konfigurierst du die MariaDB mit dem Root-Passwort. Anschließend erstellst du eine neue MariaDB-Datenbank und einen neuen Benutzer für das Observium.

Führe den folgenden Befehl aus, um dich in der MariaDB-Shell als MariaDB-Root-Benutzer anzumelden.

sudo mysql -u root -p

Führe die folgenden Abfragen aus, um eine neue Datenbank und einen neuen Benutzer für das Observium zu erstellen. Du kannst auch den Datenbanknamen, den Datenbankbenutzer und das Passwort mit deinen Angaben ändern.

In diesem Beispiel wird eine neue Datenbank und der Benutzer„observium“ mit dem Passwort„p4ssw0rd“ erstellt.

CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY 'p4ssw0rd';
FLUSH PRIVILEGES;

Datenbank erstellen

Führe nun die folgende Abfrage aus, um sicherzustellen, dass der MariaDB-Benutzer „observium“ Zugriff und Rechte auf die Datenbank „observium“ hat.

SHOW GRANTS FOR [email protected];
quit

Du siehst die Ausgabe wie im folgenden Screenshot – Der MariaDB-Benutzer„observium“ hat Zugriff auf die Datenbank„observium„.

Benutzerprivilegien überprüfen

Jetzt hast du den MariaDB-Server konfiguriert und die Datenbank und den Benutzer für Observium erstellt. Als Nächstes wirst du die PHP-Konfigurationen durchgehen.

PHP einrichten

Um Observium zu installieren, musst du einige PHP-Konfigurationen bearbeiten. Du nimmst eine Änderung an der PHP-Konfigurationsdatei „php.ini“ vor und aktivierst den PHP-Opcache. Außerdem überprüfst du die Konfiguration des PHP- und Apache2-Webservers mit Hilfe der PHPINFO-Datei, die sicherstellt, dass Apache2 und PHP funktionieren.

Bearbeite die Datei„/etc/php/7.4/apache2/php.ini“ mit dem folgenden Befehl des nano-Editors.

sudo nano /etc/php/7.4/apache2/php.ini

Entferne das Kommentarzeichen in der folgenden Konfiguration und ändere die Option„error_reporting“ wie folgt.

file_uploads = On
default_charset               = UTF-8
error_reporting = E_ALL & ~E_NOTICE
date.timezone = Europe/London

Ändere unter der Option „[opcache]“ die folgenden Einstellungen. Damit aktivierst du die PHP opcache-Erweiterung und fügst einige Einstellungen hinzu, um die maximale Leistung zu erzielen.

[opcache]
opcache.enable=1 
opcache.enable_cli=1 
opcache.interned_strings_buffer=8 
opcache.max_accelerated_files=10000 
opcache.memory_consumption=128 
opcache.save_comments=1
opcache.revalidate_freq=1

Speichere die Datei und beende den Editor, wenn du fertig bist.

Starte nun den Apache2-Dienst mit dem Befehl systemctl neu und wende die neuen Änderungen an.

sudo systemctl restart apache2

Überprüfe den Status des Apache2-Dienstes mit dem unten stehenden Befehl, um sicherzustellen, dass der Apache2-Dienst läuft und aktiviert ist.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Du siehst dann die folgende Ausgabe – Der Apache2-Dienst ist aktiviert und wird beim Booten automatisch ausgeführt. Und der aktuelle Status des Apache2-Dienstes ist „running“.

apache2 prüfen

Um sicherzustellen, dass Apache2 und PHP funktionieren, musst du eine neue PHPINFO-Datei erstellen. Führe den folgenden Befehl aus, um eine neue PHPINFO-Datei„/var/www/html/info.php“ zu erstellen.

echo '<?php phpinfo(); ?>' | tee /var/www/html/info.php

Öffne deinen Webbrowser und rufe die IP-Adresse des Servers gefolgt von dem Pfad„/info.php“ auf (d.h.: http://192.168.5.30/info.php).

Wenn Apache2 und PHP richtig konfiguriert sind, siehst du die PHPINFO-Seite wie folgt. Dort siehst du detaillierte Informationen über deine PHP-Installation und -Konfiguration.

phpinfo

Nachdem du nun den MariaDB-Datenbankserver und PHP konfiguriert hast, lädst du als Nächstes den Observium-Quellcode herunter und konfigurierst die Observium-Installation.

Installation des Observium Network Monitoring Tools

In diesem Schritt lädst du den Observium-Quellcode herunter, richtest die Datenbankdetails für Observium ein, importierst das Datenbankschema und legst schließlich einen Administratorbenutzer für die Observium-Installation an.

Verschiebe das Arbeitsverzeichnis nach„/opt“ und lade den Observium-Quellcode mit dem unten stehenden wget-Befehl herunter. Wenn der Download abgeschlossen ist, findest du die Datei„observium-community-latest.tar.gz“ in deinem Arbeitsverzeichnis.

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

Entpacke die Datei „observium-community-latest.tar.gz“ mit dem unten stehenden tar-Befehl.

tar zxvf observium-community-latest.tar.gz

Jetzt ist der Observium-Quellcode im Verzeichnis „/opt/observium“ verfügbar, das das Zielverzeichnis für die Installation des Obserevium Monitoring Tools sein wird.

Als Nächstes erstellst du neue zusätzliche Verzeichnisse, in denen die Logs und rrd-Dateien gespeichert werden. Dann änderst du die Eigentumsrechte an den neuen Verzeichnissen auf den Benutzer und die Gruppe „www-data“.

mkdir -p /opt/observium/{logs,rrd}
sudo chown -R www-data:www-data /opt/observium/{logs,rrd}

Observium konfigurieren

Nachdem du die zusätzlichen Verzeichnisse erstellt hast, wechsle in das Observium-Installationsverzeichnis„/opt/observium„.

cd /opt/observium

Kopiere die Observium-Standardkonfiguration„config.php.default“ nach„config.php“. Bearbeite dann die neue Datei‚config.php‚ mit dem folgenden nano-Editor.

cp config.php.default config.php
nano config.php

Ändere die Standard-Datenbankeinstellungen mit deinen Datenbankdaten.

$config['db_extension'] = 'mysqli';
$config['db_host']      = 'localhost';
$config['db_user']      = 'observium';
$config['db_pass']      = 'p4ssw0rd';
$config['db_name']      = 'observium';

Speichere die Datei und beende den Editor, wenn du fertig bist.

Als nächstes führst du das Skript„discovery.php“ aus, um die Datenbank zu aktualisieren und das Datenbankschema für die Observium-Installation zu importieren.

./discovery.php -u

Du erhältst die Ausgabe wie im folgenden Screenshot.

Datenbank migrieren

Nachdem das Observium-Datenbankschema importiert wurde, führst du das Skript„adduser.php“ aus, um den Administratorbenutzer für Observium einzurichten.

In diesem Beispiel wird ein neuer Benutzer„admin“ mit dem Passwort„p4ssw0rd“ und der Rolle„10“ angelegt, der höchsten Rolle in Observium als Administrator.

./adduser.php admin p4ssw0rd 10

Nachdem der Benutzer erstellt wurde, siehst du eine Meldung wie„Benutzer admin erfolgreich hinzugefügt.

Benutzerobservium erstellen

An diesem Punkt hast du die grundlegende Installation und Konfiguration des Observium Network Monitoring Tools abgeschlossen. Allerdings musst du noch die Konfiguration des virtuellen Apache2-Hosts für Observium einrichten.

Virtuellen Apache2-Host konfigurieren

Nachdem du Observium installiert und konfiguriert hast, richtest du nun die neue Konfiguration des virtuellen Apache2-Hosts von Observium ein. Bevor du beginnst, stelle sicher, dass du den lokalen Domainnamen für die Observium-Installation hast.

Erstelle eine neue virtuelle Host-Konfiguration„/etc/apache2/sites-available/observium.conf“ mit dem folgenden nano-Editor-Befehl.

sudo nano /etc/apache2/sites-available/observium.conf

Füge die folgende Konfiguration in die Datei ein und achte darauf, den Domainnamen zu ändern. In diesem Beispiel wird die lokale Domain obs.hwdomain.io verwendet.

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName obs.hwdomain.io
    DocumentRoot /opt/observium/html
    <FilesMatch \.php$>
      SetHandler application/x-httpd-php
    </FilesMatch>
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /opt/observium/html/>
            DirectoryIndex index.php
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Require all granted
    </Directory>
    ErrorLog  ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog  ${APACHE_LOG_DIR}/access.log combined
    ServerSignature On
</VirtualHost>

Speichere die Datei und beende den Editor, wenn du fertig bist.

Aktiviere nun die Konfiguration des virtuellen Hosts „observium.conf“ mit dem Befehl a2ensite (siehe unten). Überprüfe dann die Apache2-Konfigurationen, um sicherzustellen, dass du die richtige Konfiguration hast.

sudo a2ensite observium.conf
sudo apachectl configtest

Du solltest jetzt eine Meldung wie„Syntax OK“ sehen, was bedeutet, dass deine Apache2-Konfiguration korrekt ist.

Führe abschließend den folgenden systemctl-Befehl aus, um den Apache2-Dienst neu zu starten und die neuen Änderungen zu übernehmen.

sudo systemctl restart apache2

Jetzt hast du den virtuellen Apache2-Host konfiguriert. Du kannst nun über deine lokale Domain auf deine Observium-Installation zugreifen.

apache2 einrichten

Zugriff auf Observium über den Webbrowser

Nachdem du den virtuellen Host für Observium konfiguriert hast, kannst du nun über den Webbrowser auf Observium zugreifen.

Öffne deinen Webbrowser und rufe die lokale Domain deiner Observium-Installation auf (z.B.: http://obs.hwdomain.io/). Du solltest nun die Anmeldeseite von Observium sehen.

Melde dich mit deinem Benutzer und deinem Passwort an und klicke dann auf„Anmelden„.

Observium Anmeldung

Nun solltest du das Observium-Administrations-Dashboard sehen. Von dort aus kannst du dem Observium nun neue Geräte zur Überwachung per SNMP hinzufügen.

Observium Dashboard

An diesem Punkt hast du die grundlegende Installation des Observium Network Monitoring Tools mit dem LAMP-Stack auf einem Debian 11-Server abgeschlossen. Als Nächstes wirst du die anfängliche Discovery und den Pool einrichten.

Auto-Discovery mit Cron einrichten

Wechsle in das Observium-Installationsverzeichnis und führe das Skript „discovery.php“ und „poller.php“ aus, um die Daten für neue Geräte zu erfassen.

cd /opt/observium

./discovery.php -h all
./poller.php -h all

Danach erstellst du eine neue Cron-Konfiguration „/etc/cron.d/observium“ mit dem folgenden Befehl des nano-Editors.

sudo nano /etc/cron.d/observium

Füge die folgende Konfiguration in die Datei ein.

# Run a complete discovery of all devices once every 6 hours
33  */6   * * *   root    /opt/observium/discovery.php -h all >> /dev/null 2>&1

# Run automated discovery of newly added devices every 5 minutes
*/5 *     * * *   root    /opt/observium/discovery.php -h new >> /dev/null 2>&1

# Run multithreaded poller wrapper every 5 minutes
*/5 *     * * *   root    /opt/observium/poller-wrapper.py >> /dev/null 2>&1

# Run housekeeping script daily for syslog, eventlog and alert log
13 5 * * * root /opt/observium/housekeeping.php -ysel >> /dev/null 2>&1

# Run housekeeping script daily for rrds, ports, orphaned entries in the database and performance data
47 4 * * * root /opt/observium/housekeeping.php -yrptb >> /dev/null 2>&1

Speichere die Datei und beende den Editor, wenn du fertig bist.

Mit der Cron-Konfiguration werden die automatische Erkennung und der Poller automatisch im Hintergrund ausgeführt.

Fazit

In diesem Lernprogramm hast du das Observium Network Monitoring Tool mit dem LAMP-Stack (Linux, Apache2, MariaDB und PHP) auf einem Debian 11 Server installiert. Außerdem hast du die automatische Erkennung von Observium über das von dir erstellte Cron-Skript konfiguriert.

Jetzt kannst du dem Observium Network Monitoring Tool über den SNMP-Agenten Geräte hinzufügen, einen neuen Benutzer mit einer anderen Berechtigungsstufe als der des Administrators hinzufügen, Warnmeldungen einrichten und vieles mehr.

Das könnte dich auch interessieren …