Observium ist ein kostenloses und quelloffenes Netzwerkverwaltungs- und Überwachungstool, mit dem alle Netzwerkgeräte überwacht werden können. Es ist in PHP geschrieben und verwendet SNMP, um die Daten vom angeschlossenen Gerät zu sammeln und sie über eine Webschnittstelle zu überwachen. Observium unterstützt viele Netzwerkhardware und Betriebssysteme, darunter Linux, Windows, FreeBSD, Cisco, Dell, NetApp und vieles mehr. Observium bietet eine leistungsstarke, einfache und benutzerfreundliche Oberfläche zur Überwachung des Zustands und Status Ihres Netzwerks.
In diesem Tutorial erklären wir, wie man Observium auf einem Debian 9-Server installiert und konfiguriert.
Anforderungen
- Ein frischer Debian 9-Server, der auf Ihrem System installiert ist.
- Ein Root-Passwort wird auf Ihrem Server eingerichtet.
Erste Schritte
Beginnen wir damit, Ihr System auf die neueste stabile Version zu aktualisieren, indem Sie den folgenden Befehl ausführen:
apt-get update -y
apt-get upgrade -y
Sobald Ihr System aktualisiert ist, starten Sie das System neu, um alle Updates zu übernehmen:
reboot
Melden Sie sich nach dem Neustart als Root-Benutzer an und installieren Sie einige erforderliche Pakete auf Ihrem System, indem Sie den folgenden Befehl ausführen:
apt-get install snmp fping python-mysqldb rrdtool subversion whois mtr-tiny ipmitool graphviz imagemagick -y
Sobald alle erforderlichen Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.
LAMP-Server installieren
Observium läuft auf Apache, ist in PHP geschrieben und verwendet MySQL als Datenbank. Sie müssen also den LAMP-Server auf Ihrem System installieren.
Installieren Sie zuerst den Apache-Webserver, indem Sie den folgenden Befehl ausführen:
apt-get install apache2 libapache2-mod-php7.0 -y
Starten Sie nach der Installation von Apache den Apache-Dienst und ermöglichen Sie ihm, beim Booten mit dem folgenden Befehl zu starten:
systemctl start apache2
systemctl enable apache2
Installieren Sie als Nächstes PHP7 und andere erforderliche Bibliotheken, indem Sie den folgenden Befehl ausführen:
apt-get install php7.0 php7.0-cli php7.0-mysql php7.0-mysqli php7.0-gd php7.0-mcrypt php7.0-json php-pear -y
Sobald PHP7 und alle erforderlichen Bibliotheken installiert sind, führen Sie den folgenden Befehl aus, um den MariaDB-Server zu installieren:
apt-get install mariadb-server -y
Starten Sie als Nächstes den MariaDB-Dienst und ermöglichen Sie ihm, beim Booten mit dem folgenden Befehl zu starten:
systemctl start mysql
systemctl enable mysql
MariaDB konfigurieren
Standardmäßig ist MariaDB nicht gesichert. Sie können es mit dem folgenden Befehl sichern:
mysql_secure_installation
Beantworten Sie alle Fragen wie folgt:
set root password? [Y/n] n Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y
Sobald die MariaDB gesichert ist, müssen Sie eine Datenbank und einen Benutzer für Observium erstellen.
Melden Sie sich zunächst mit dem folgenden Befehl bei der MySQL-Shell an:
mysql -u root -p
Geben Sie Ihr Root-Passwort ein und erstellen Sie dann mit dem folgenden Befehl eine Datenbank für Observium:
MariaDB [(none)]>CREATE DATABASE observiumdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Erstellen Sie als Nächstes einen Benutzer für Observium und gewähren Sie der Observium-Datenbank alle Berechtigungen mit dem folgenden Befehl:
MariaDB [(none)]>GRANT ALL PRIVILEGES ON observiumdb.* TO 'observium'@'localhost' IDENTIFIED BY 'password';
Löschen Sie als Nächstes die Berechtigungen mit dem folgenden Befehl:
MariaDB [(none)]>FLUSH PRIVILEGES;
Verlassen Sie schließlich die MySQL-Shell mit dem folgenden Befehl:
MariaDB [(none)]>\q
Observium herunterladen und installieren
Observium ist in zwei Editionen erhältlich:Open Source Edition und Subscription Edition. Die Open Source Edition ist mit weniger Funktionen und wenigen Sicherheitsfixes kostenlos zum Download verfügbar, während die Subscription Edition zusätzliche Funktionen und Hardwareunterstützung bietet. Sie können die Open-Source-Version des Observiums mit dem folgenden Befehl von der offiziellen Website herunterladen:
wget http://www.observium.org/observium-community-latest.tar.gz
Extrahieren Sie nach dem Herunterladen das heruntergeladene Archiv mit dem folgenden Befehl:
tar -xvzf observium-community-latest.tar.gz
Kopieren Sie als Nächstes das extrahierte Verzeichnis in das Apache-Web-Root-Verzeichnis:
cp -ar observium /var/www/html/
Benennen Sie als Nächstes die Beispielkonfigurationsdatei um und nehmen Sie einige Änderungen vor:
cd /var/www/html/observium
cp config.php.default config.php
nano config.php
Ändern Sie die Datei wie unten gezeigt:
// Database config --- This MUST be configured $config['db_extension'] = 'mysqli'; $config['db_host'] = 'localhost'; $config['db_user'] = 'observium'; $config['db_pass'] = 'password'; $config['db_name'] = 'observiumdb';
Speichern Sie die Datei und richten Sie dann das Standardschema für die MySQL-Datenbank mit dem folgenden Befehl ein:
./discovery.php -u
Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe sehen:
___ _ _ / _ \ | |__ ___ ___ _ __ __ __(_) _ _ _ __ ___ | | | || '_ \ / __| / _ \| '__|\ \ / /| || | | || '_ ` _ \ | |_| || |_) |\__ \| __/| | \ V / | || |_| || | | | | | \___/ |_.__/ |___/ \___||_| \_/ |_| \__,_||_| |_| |_| Observium Community Edition 17.9.0 http://www.observium.org Install initial database schema ... done. -- Updating database/file schema 310 -> 311 # (db) . Done (0s). 311 -> 312 # (db) .... Done (0s). 312 -> 313 # (db) Done (0s). 313 -> 314 # (db) Done (0s). 314 -> 315 # (php) . Done (0s). 315 -> 316 # (db) . Done (0s). 316 -> 317 # (db) .. Done (0s). 317 -> 318 # (db) . Done (0s). 318 -> 319 # (db) ....... Done (2s). 319 -> 320 # (db) . Done (0s). 320 -> 321 # (db) . Done (0s). 321 -> 322 # (db) . Done (0s). 322 -> 323 # (db) ... Done (1s). 323 -> 324 # (db) ... Done (0s). 324 -> 325 # (db) .... Done (1s). 325 -> 326 # (db) . Done (0s). 326 -> 327 # (db) . Done (0s). 327 -> 328 # (db) . Done (0s). 328 -> 329 # (db) . Done (0s). 329 -> 330 # (db) . Done (0s). 330 -> 331 # (db) . Done (0s). 331 -> 332 # (db) ... Done (1s). 332 -> 333 # (php) Done (0s). 333 -> 334 # (db) . Done (0s). 334 -> 335 # (php) Done (0s). 335 -> 336 # (db) . Done (0s). 336 -> 337 # (db) . Done (1s). 337 -> 338 # (db) . Done (0s). 338 -> 339 # (db) ... Done (0s). 339 -> 340 # (db) ... Done (0s). 340 -> 341 # (db) ........ Done (1s). 341 -> 342 # (db) ............... Done (0s). 342 -> 343 # (db) ... Done (0s). 343 -> 344 # (db) .... Done (1s). 344 -> 345 # (db) .. Done (0s). 345 -> 346 # (db) . Done (0s). 346 -> 347 # (db) . Done (0s). 347 -> 348 # (db) F Done (0s, 1 errors). 348 -> 349 # (db) .. Done (0s). 349 -> 350 # (php) Done (0s). 350 -> 351 # (db) ..... Done (1s). 351 -> 352 # (db) .. Done (0s). -- Done.
Als Nächstes müssen Sie ein Verzeichnis zum Speichern von RRDs und Protokollen erstellen:
mkdir rrd logs
Ändern Sie den Eigentümer des Observium-Verzeichnisses mit dem folgenden Befehl:
chown -R www-data:www-data /var/www/html/observium
Als Nächstes müssen Sie eine virtuelle Apache-Hostdatei für Observium erstellen. Erstellen Sie dazu eine neue Konfigurationsdatei observium.conf:
nano /etc/apache2/sites-available/observium.conf
Fügen Sie die folgenden Zeilen hinzu:
<VirtualHost *:80> ServerAdmin [email protected] ServerName example.com DocumentRoot /var/www/html/observium/html <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/html/observium/html/> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On </VirtualHost>
Speichern Sie die Datei, aktivieren Sie dann die virtuelle Observium-Hostdatei und deaktivieren Sie die virtuelle Standardhostdatei mit dem folgenden Befehl:
a2ensite observium
a2dissite 000-default
Als nächstes müssen Sie auch das Apache-Rewrite-Modul und das PHP-Mcrypt-Modul aktivieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:
a2enmod rewrite
phpenmod mcrypt
Starten Sie schließlich den Apache-Webserver mit dem folgenden Befehl neu:
systemctl restart apache2
Als nächstes erstellen Sie Ihren ersten Admin-Benutzer mit dem folgenden Befehl:
/var/www/html/observium/adduser.php admin yourpassword 10
Wenn alles geklappt hat, sollten Sie die folgende Ausgabe sehen:
Observium CE 0.17.7.8697 Add User User admin added successfully.
Zugriff auf die Observium-Webschnittstelle
Bevor Sie auf Observium zugreifen, müssen Sie Port 80 durch die UFW-Firewall zulassen. Standardmäßig ist UFW nicht auf Debian 9 installiert, also müssen Sie es zuerst installieren.
apt-get install ufw -y
Sobald UFW installiert ist, aktivieren Sie UFW mit dem folgenden Befehl:
ufw enable
Lassen Sie als Nächstes Port 80 durch die UFW-Firewall mit dem folgenden Befehl zu:
ufw allow 80
Sobald die Firewall konfiguriert ist, öffnen Sie Ihren Webbrowser und geben Sie die URL http://example.com ein, Sie sollten die folgende Seite sehen:
Geben Sie hier Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie dann auf die Schaltfläche Anmelden. Sie sollten das Standard-Dashboard von Observium wie folgt sehen:
Als nächstes müssen Sie einen Cron-Job zum Abfragen und Erkennen von Geräten aus dem Netzwerk erstellen. Sie können dies tun, indem Sie eine Cron-Datei im Verzeichnis /etc/cron.d erstellen:
nano /etc/cron.d/observium
Fügen Sie die folgenden Zeilen hinzu:
# Run a complete discovery of all devices once every 2 hours 25 */2 * * * root /var/www/html/observium/discovery.php -h all >> /dev/null 2>&1 # Run automated discovery of newly added devices every 10 minutes */10 * * * * root /var/www/html/observium/discovery.php -h new >> /dev/null 2>&1 # Run multithreaded poller wrapper every 10 minutes */10 * * * * root /var/www/html/observium/poller-wrapper.py 4 >> /dev/null 2>&1 # Run housekeeping script daily for syslog, eventlog and alert log 10 2 * * * root /var/www/html/observium/housekeeping.php -ysel >> /dev/null 2>&1 # Run housekeeping script daily for rrds, ports, orphaned entries in the database and performance data 10 1 * * * root /var/www/html/observium/housekeeping.php -yrptb >> /dev/null 2>&1
Speichern und schließen Sie die Datei, wenn Sie fertig sind, und starten Sie dann den Cron-Dienst neu, um diese Änderungen zu übernehmen:
systemctl restart cron
Schlussfolgerung
Herzliche Glückwünsche! Sie haben Observium erfolgreich auf dem Debian 9-Server installiert. Sie können jetzt ganz einfach den Status und Zustand Ihres Netzwerks abrufen. Weitere Informationen zum Konfigurieren von Geräten, Warnungen und Authentifizierungsmodulen finden Sie auf der offiziellen Dokumentationsseite von Observium.