GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Serverüberwachung mit Shinken auf Ubuntu 16.04

Shinken ist ein Open-Source-Computer- und Netzwerküberwachungs-Framework, das in Python geschrieben und mit Nagios kompatibel ist. Shinken kann auf allen Betriebssystemen verwendet werden, die Python-Anwendungen wie Linux, Unix und Windows ausführen können. Shinken wurde von Jean Gabes geschrieben als Proof of Concept für eine neue Nagios-Architektur, aber es wurde 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 von der Quelle 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, wir können es mit Pip installieren oder von der Quelle installieren. In diesem Schritt werden wir Shinken von der Quelle 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 die Shinken-Quelle 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 für bessere 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, um es beim Booten zu starten, und starten es:

update-rc.d shinken defaults
systemctl start shinken

Schritt 2 - Installieren Sie Shinken Webui2

Webui2 ist die Shinken-Weboberfläche, die über shinken.io verfügbar ist. Der einfachste Weg, Sshinken webui2 zu installieren, ist die Verwendung von shinken CLI-Befehl (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 Konfiguration .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
an

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 verlassen Sie den Editor.

Gehen Sie nun in das Kontaktverzeichnis und bearbeiten Sie die Datei 'admin.cfg' für die Admin-Konfiguration.

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

Ändern Sie die unten angezeigten Werte:

contact_name    admin       # Username 'admin'
password        yourpass    # Pass 'mypass'

Speichern und beenden.

Schritt 3 - Installieren Sie Nagios-Plugins und Shinken-Pakete

In diesem Schritt werden wir Nagios-Plugins und einige Perl-Module installieren. Installieren Sie dann 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 nun einen neuen Link für die Datei utils.pm, um das Verzeichnis zu shinken, 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

Als nächstes installieren Sie 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 mithilfe eines Ubuntu 16.04-Servers mit der IP-Adresse 192.168.1.121 und dem Hostnamen „host-one“ überwacht werden soll.

Verbinden Sie sich mit dem Linux-Host-one:

ssh [email protected]

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

sudo apt-get install snmp snmpd

Als nächstes bearbeiten Sie die Konfigurationsdatei ‚snmpd.conf‘ mit vim:

vim /etc/snmp/snmpd.conf

Kommentieren Sie Zeile 15 und kommentieren Sie Zeile 17 aus:

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

Kommentieren Sie die Zeilen 51 und 53 und fügen Sie dann die neue Zeilenkonfiguration unten hinzu:

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

rocommunity mypass

Speichern und beenden.

Starten Sie nun den snmpd service 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

Konfiguration unten einfügen:

define host{
        use                 generic-host,linux-snmp,ssh
        contact_groups      admins
        host_name           host-one
        address             192.168.1.121
        _SNMPCOMMUNITY      mypass        # SNMP Pass Config on 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-one verwendet haben.

$SNMPCOMMUNITYREAD$=mypass

Speichern und beenden.

Starten Sie nun 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 das 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 an und Ihr Passwort (das Sie in der Konfigurationsdatei admin.cfg festgelegt haben).

Shinken-Dashboard in Webui2.

Unsere 2 Server werden mit Shinken überwacht.

Listet alle Dienste auf, die mit linux-snmp überwacht werden.

Status aller Hosts und Dienste.

Schritt 6 – Häufige Probleme mit Shinken

- Probleme mit dem NTP-Server

Wenn Sie diesen Fehler mit NTP erhalten.

TimeSync - CRITICAL ( NTP CRITICAL: No response from the NTP server)
TimeSync - CRITICAL ( NTP CRITICAL: Offset unknown )

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 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

Als nächstes fügen Sie eine neue Zeile innerhalb von "restrict:

" hinzu
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict 192.168.1.120 #shinken server IP address
restrict ::1

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

Speichern und beenden.

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

ntpd

- Problem check_netint.pl nicht gefunden

Laden Sie die Quelle 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 : Unknown interface eth\d+

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

Auf meinem Ubuntu-Server ist die Netzwerkschnittstelle „enp0s8“, nicht eth0, also habe ich diesen Fehler erhalten.

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

  • http://shinken.readthedocs.io/en/latest/
  • http://www.roblayton.com/search/label/monitoring


Ubuntu
  1. So installieren Sie einen FTP-Server unter Ubuntu mit vsftpd

  2. Installieren Sie den SSH-Server Ubuntu 22.04

  3. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 16.04

  4. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 20.04

  5. Installieren Sie phpMyAdmin auf Ubuntu 20.04 mit Nginx

So installieren Sie FileRun unter Ubuntu 20.04 mit Apache/Nginx

Installieren Sie NextCloud auf Ubuntu 18.04 mit Nginx (LEMP Stack)

So installieren Sie Plex Media Server auf Ubuntu 16.04 Server/Desktop

Installieren Sie Roundcube Webmail auf Ubuntu 18.04 mit Apache/Nginx

So installieren Sie Cacti Monitoring unter Ubuntu 14.04

So installieren Sie Ganglia Monitoring Server unter Ubuntu 18.04