Serverüberwachung · 5 min read · Oct 20, 2025

Serverüberwachung mit Shinken auf Ubuntu 16.04

Shinken ist ein Open-Source-Framework zur Überwachung von Computern und Netzwerken, das in Python geschrieben ist und mit Nagios kompatibel ist. Shinken kann auf allen Betriebssystemen verwendet werden, die Python-Anwendungen ausführen können, wie Linux, Unix und Windows. Shinken wurde von Jean Gabes als Machbarkeitsnachweis für eine neue Nagios-Architektur geschrieben, wurde jedoch vom Nagios-Autor abgelehnt und wurde zu einem unabhängigen Netzwerk- und Systemüberwachungstool, das mit Nagios kompatibel bleibt.

In diesem Tutorial zeige ich Ihnen, wie Sie Shinken aus dem Quellcode installieren und einen Linux-Host zum Überwachungssystem hinzufügen. Ich werde Ubuntu 16.04 Xenial Xerus als Betriebssystem für den Shinken-Server und den überwachten Host verwenden.

Schritt 1 - Shinken-Server installieren

Shinken ist ein Python-Framework, das wir mit pip installieren oder aus dem Quellcode installieren können. In diesem Schritt werden wir Shinken aus dem Quellcode installieren.

Es gibt einige Aufgaben, die erledigt werden müssen, bevor wir mit der Installation von Shinken beginnen.

Installieren Sie einige neue Python-Pakete und erstellen Sie einen Linux-Benutzer mit dem Namen “shinken”:

sudo apt-get install python-setuptools python-pip python-pycurl  
useradd -m -s /bin/bash shinken

Laden Sie den Shinken-Quellcode aus dem GitHub-Repository herunter:

git clone https://github.com/naparuba/shinken.git  
cd shinken/

Installieren Sie dann Shinken mit dem folgenden Befehl:

git checkout 2.4.3  
python setup.py install

Als Nächstes müssen wir zur Verbesserung der Ergebnisse ‘python-cherrypy3’ aus dem Ubuntu-Repository installieren:

sudo apt-get install python-cherrypy3

Jetzt ist Shinken installiert, als Nächstes fügen wir Shinken hinzu, damit es beim Booten gestartet wird, und starten es:

update-rc.d shinken defaults  
systemctl start shinken

Schritt 2 - Shinken Webui2 installieren

Webui2 ist die Shinken-Weboberfläche, die von shinken.io verfügbar ist. Der einfachste Weg, die Shinken-Webui2 zu installieren, besteht darin, den shinken CLI-Befehl zu verwenden (der als shinken-Benutzer ausgeführt werden muss).

Melden Sie sich beim Shinken-Benutzer an:

su - shinken

Initialisieren Sie die Shinken-Konfigurationsdatei - Der Befehl erstellt eine neue Konfigurationsdatei .shinken.ini:

shinken --init

Und installieren Sie Webui2 mit diesem Shinken-CLI-Befehl:

shinken install webui2

Webui2 ist installiert, aber wir müssen MongoDB und ein weiteres Python-Paket mit pip installieren. Führen Sie den folgenden Befehl als Root aus:

sudo apt-get install mongodb  
pip install pymongo>=3.0.3 requests arrow bottle==0.12.8

Gehen Sie als Nächstes in das Shinken-Verzeichnis und fügen Sie das neue Webui2-Modul hinzu, indem Sie die Datei ‘broker-master.cfg’ bearbeiten:

cd /etc/shinken/brokers/  
vim broker-master.cfg

Fügen Sie eine neue Option innerhalb des Moduls in Zeile 40 hinzu:

modules     webui2

Speichern Sie die Datei und beenden Sie den Editor.

Gehen Sie jetzt in das Verzeichnis der Kontakte und bearbeiten Sie die Datei ‘admin.cfg’ für die Admin-Konfiguration.

cd /etc/shinken/contacts/  
vim admin.cfg

Ändern Sie die unten gezeigten Werte:

contact_name    admin       # Benutzername 'admin'  
password        yourpass    # Passwort 'mypass'

Speichern und beenden.

Schritt 3 - Nagios-Plugins und Shinken-Pakete installieren

In diesem Schritt installieren wir Nagios-Plugins und einige Perl-Module. Dann installieren wir zusätzliche Shinken-Pakete von shinken.io, um die Überwachung durchzuführen.

Installieren Sie Nagios-Plugins und cpanminus, das zum Erstellen und Installieren der Perl-Module erforderlich ist:

sudo apt-get install nagios-plugins* cpanminus

Installieren Sie diese Perl-Module mit dem cpanm-Befehl:

cpanm Net::SNMP  
cpanm Time::HiRes  
cpanm DBI

Erstellen Sie jetzt einen neuen Link für die Datei utils.pm im Shinken-Verzeichnis und erstellen Sie ein neues Verzeichnis für Log_File_Health:

chmod u+s /usr/lib/nagios/plugins/check_icmp  
ln -s /usr/lib/nagios/plugins/utils.pm /var/lib/shinken/libexec/  
mkdir -p /var/log/rhosts/  
touch /var/log/rhosts/remote-hosts.log

Installieren Sie als Nächstes die Shinken-Pakete ssh und linux-snmp zur Überwachung von SSH- und SNMP-Quellen von shinken.io:

su - shinken  
shinken install ssh  
shinken install linux-snmp

Schritt 4 - Neuen Linux-Host/host-one hinzufügen

Wir werden einen neuen Linux-Host hinzufügen, der überwacht werden soll, indem wir einen Ubuntu 16.04-Server mit der IP-Adresse 192.168.1.121 und dem Hostnamen ‘host-one’ verwenden.

Verbinden Sie sich mit dem Linux-Host ‘host-one’:

ssh [email protected]

Installieren Sie die Pakete snmp und snmpd aus dem Ubuntu-Repository:

sudo apt-get install snmp snmpd

Bearbeiten Sie als Nächstes die Konfigurationsdatei ‘snmpd.conf’ mit vim:

vim /etc/snmp/snmpd.conf

Kommentieren Sie Zeile 15 aus und aktivieren Sie Zeile 17:

#agentAddress  udp:127.0.0.1:161  
agentAddress udp:161,udp6:[::1]:161

Kommentieren Sie die Zeilen 51 und 53 aus und fügen Sie die neue Zeilenkonfiguration darunter hinzu:

#rocommunity mypass  default    -V systemonly  
#rocommunity6 mypass  default   -V systemonly  
   
rocommunity mypass

Speichern und beenden.

Starten Sie jetzt den snmpd-Dienst mit dem systemctl-Befehl:

systemctl start snmpd

Gehen Sie zum Shinken-Server und definieren Sie den neuen Host, indem Sie eine neue Datei im Verzeichnis ‘hosts’ erstellen.

cd /etc/shinken/hosts/  
vim host-one.cfg

Fügen Sie die folgende Konfiguration ein:

define host{  
        use                 generic-host,linux-snmp,ssh  
        contact_groups      admins  
        host_name           host-one  
        address             192.168.1.121  
        _SNMPCOMMUNITY      mypass        # SNMP Pass Konfiguration in snmpd.conf  
    }

Speichern und beenden.

Bearbeiten Sie die SNMP-Konfiguration auf dem Shinken-Server:

vim /etc/shinken/resource.d/snmp.cfg

Ändern Sie ‘public’ in ‘mypass’ - muss dasselbe Passwort sein, das Sie in der snmpd-Konfigurationsdatei auf dem Client-Host ‘host-one’ verwendet haben.

$SNMPCOMMUNITYREAD$=mypass

Speichern und beenden.

Starten Sie jetzt beide Server neu - Shinken-Server und den überwachten Linux-Host:

reboot

Der neue Linux-Host wurde erfolgreich zum Shinken-Server hinzugefügt.

Schritt 5 - Zugriff auf Shinken Webui2

Besuchen Sie die Shinken-Webui2 auf Port 7677 (ersetzen Sie die IP in der URL durch Ihre IP):

http://192.168.1.120:7767

Melden Sie sich mit dem Benutzer admin und Ihrem Passwort an (das, das Sie in der admin.cfg-Konfigurationsdatei festgelegt haben).

Die Shinken-Anmeldeseite

Shinken-Dashboard in Webui2.

Das Shinken-Überwachungsdashboard

Unsere 2 Server werden mit Shinken überwacht.

Beide Server werden mit Shinken überwacht

Liste aller Dienste, die mit linux-snmp überwacht werden.

Überwachte Dienste

Status aller Hosts und Dienste.

Der Status aller Hosts

Schritt 6 - Häufige Probleme mit Shinken

- Probleme mit dem NTP-Server

Wenn Sie diesen Fehler mit NTP erhalten.

TimeSync - CRITICAL ( NTP CRITICAL: Keine Antwort vom NTP-Server)  
TimeSync - CRITICAL ( NTP CRITICAL: Offset unbekannt )

Um dieses Problem zu lösen, installieren Sie ntp auf allen Linux-Hosts.

sudo apt-get install ntp ntpdate

Bearbeiten Sie die ntp-Konfiguration:

vim /etc/ntp.conf

Kommentieren Sie alle Pools aus und ersetzen Sie sie durch:

#pool 0.ubuntu.pool.ntp.org iburst  
#pool 1.ubuntu.pool.ntp.org iburst  
#pool 2.ubuntu.pool.ntp.org iburst  
#pool 3.ubuntu.pool.ntp.org iburst  
   
pool 0.id.pool.ntp.org  
pool 1.asia.pool.ntp.org  
pool 0.asia.pool.ntp.org

Fügen Sie als Nächstes eine neue Zeile innerhalb von restrict hinzu:

# Lokale Benutzer dürfen den NTP-Server näher abfragen.  
restrict 127.0.0.1  
restrict 192.168.1.120 #IP-Adresse des Shinken-Servers  
restrict ::1

HINWEIS: 192.168.1.120 ist die IP-Adresse des Shinken-Servers.

Speichern und beenden.

Starten Sie ntp und überprüfen Sie das Shinken-Dashboard:

tnpd

- Problem check_netint.pl nicht gefunden

Laden Sie den Quellcode aus dem GitHub-Repository in das Shinken-lib-Verzeichnis herunter:

cd /var/lib/shinken/libexec/  
wget https://raw.githubusercontent.com/Sysnove/shinken-plugins/master/check_netint.pl  
chmod +x check_netint.pl  
chown shinken:shinken check_netint.pl

- Problem mit NetworkUsage

Es gibt eine Fehlermeldung:

ERROR : Unbekannte Schnittstelle eth\d+

Überprüfen Sie Ihre Netzwerkschnittstelle und bearbeiten Sie die linux-snmp-Vorlage.

Auf meinem Ubuntu-Server ist die Netzwerkschnittstelle ‘enp0s8’, nicht eth0, daher erhielt ich diesen Fehler.

Bearbeiten Sie die linux-snmp-Vorlagenpakete mit vim:

vim /etc/shinken/packs/linux-snmp/templates.cfg

Fügen Sie die Netzwerkschnittstelle in Zeile 24 hinzu:

_NET_IFACES         eth\d+|em\d+|enp0s8

Speichern und beenden.

Referenzen

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.