Sensu-Clients sind Überwachungsagenten, die auf jedem Server installiert und ausgeführt werden, der vom Sensu-Tool überwacht wird. Die Arbeit eines Sensu-Clients besteht darin, ein System bei Sensu zu registrieren , Senden von Keepalive-Nachrichten und Ausführen von Überwachungsprüfungen .
Jeder Kunde kann Mitglied eines oder mehrerer Abonnements sein – sagen Sie einfach; eine Liste der ihnen zugewiesenen Rollen (Bsp., Webserver, Datenbank usw.).
Wenn ein Client die vom Sensu-Server veröffentlichten Prüfanforderungen (über RabbitMQ – Sensu-Transport) abonniert, führt er sie lokal aus und veröffentlicht das Ergebnis der Prüfung zurück an den Sensu-Transport, und dann verarbeitet ein Sensu-Server die Ergebnisse. P>
In diesem Handbuch werden wir Client-Rechner so konfigurieren, dass sie Ergebnisse von Dienstprüfungen an den Sensu-Server senden. Vorausgesetzt, Sie haben unsere vorherigen Artikel über Sensu Core gelesen.
LESEN :Installieren Sie Sensu auf Ubuntu 16.04 / Debian 8
Sensu Core wird nicht mit dem grafischen Dashboard geliefert, daher müssten Sie Uchiwa installieren – ein Open-Source-Dashboard für das Sensu-Überwachungstool.
LESEN :So installieren Sie Uchiwa – Open Source Dashboard für Sensu Monitoring Tool
Sensu-Repositories hinzufügen:
Konfigurieren Sie je nach Betriebssystem das Sensu-Repository, um das Paket von der offiziellen Website abzurufen.
### CentOS 7 / RHEL 7 ### echo '[sensu] name=sensu baseurl=https://sensu.global.ssl.fastly.net/yum/7/x86_64/ gpgcheck=0 enabled=1' | sudo tee /etc/yum.repos.d/sensu.repo ### Ubuntu 16.04 / Debian 8 ### sudo apt-get update && sudo apt-get -y install apt-transport-https wget -q https://sensu.global.ssl.fastly.net/apt/pubkey.gpg -O- | sudo apt-key add - echo "deb https://sensu.global.ssl.fastly.net/apt sensu main" | sudo tee /etc/apt/sources.list.d/sensu.list sudo apt-get update
Installieren Sie Sensu mit dem folgenden Befehl.
### CentOS 7 / RHEL 7 ### yum -y install sensu ### Ubuntu 16.04 / Debian 8 ### sudo apt-get -y install sensu
System registrieren:
Das Standardkonfigurationsverzeichnis von Sensu ist /etc/sensu/config.d , in einigen Fällen müssen Sie dieses Verzeichnis möglicherweise manuell erstellen, falls es nicht verfügbar ist.
Konfigurationsdateien sollten im JSON-Format vorliegen . Erstellen Sie client.json Datei.
vi /etc/sensu/conf.d/client.json
Fügen Sie den folgenden Inhalt in die obige Datei ein.
{ "client": { "name": "debian.itzgeek.local", "address": "10.128.0.4", "environment": "production", "subscriptions": [ "web", "debian" ] } }
Wo,
client – Name für den Client, sollte ein eindeutiger Name sein. Mein Rechner ist Debian 8 .
Adresse – IP-Adresse oder Hostname des Clients.
Umgebung – Ein benutzerdefiniertes Attribut, das nicht Teil der Sensu-Client-Spezifikation ist. Diese benutzerdefinierten Attribute werden von Sensu-Filtern überprüft, die Ihnen helfen, bestimmte Aktionen basierend auf der Umgebung auszuführen (z. B. nur Warnungen bei Ereignissen in der Produktionsumgebung)
Abonnements – Liste der Rollen oder Verantwortlichkeiten, die dem Kunden zugewiesen sind.
Konfigurieren Sie den Sensu-Client für die Verbindung mit dem Sensu-Transport. Transport.json-Datei erstellen.
vi /etc/sensu/conf.d/transport.json
Fügen Sie den folgenden Inhalt in die obige Datei ein.
{ "transport": { "name": "rabbitmq", "reconnect_on_error": true } }
Konfigurieren Sie Sensu-Transportdetails, indem Sie rabbitmq.json erstellen.
vi /etc/sensu/conf.d/rabbitmq.json
Kopieren Sie den folgenden Inhalt und fügen Sie ihn in die obige Datei ein. Ersetzen Sie grüne Werte je nach Sensu-Setup.
{ "rabbitmq": { "host": "10.128.0.3", "port": 5672, "vhost": "/sensu", "user": "sensu", "password": "password" } }
Wo,
host – RabbitMQ-Server-IP (Sensu-Server)
Port – Port des RabbitMQ-Servers
vhost, user and password – RabbitMQ virtueller Host, Benutzer und Passwort, die wir während der Installation des Sensu-Servers erstellt haben.
Starten Sie den Sensu-Client-Dienst mit dem folgenden Befehl neu.
service sensu-client restart
Öffnen Sie das Uchiwa-Dashboard und prüfen Sie, ob der neue Client erfolgreich auf dem Sensu-Server registriert wurde.
Der folgende Screenshot zeigt Ihnen die Details eines neu hinzugefügten Kunden.
Jetzt ist es an der Zeit, Sensu für die Überwachung Ihrer Infrastruktur zu konfigurieren.
Dienst überwachen:
Sensu verwendet Prüfungen (Befehle), um eine Infrastruktur zu überwachen, sie werden vom Sensu-Client ausgeführt, um eine Bedingung zu überwachen (z. B. den Status des Dienstes zu überprüfen) oder Messungen zu erfassen (z. B. wie viel Speicher verwendet wird).
Ergebnisdaten von Standardprüfungen liegen typischerweise in einer für Menschen lesbaren Nachricht vor, und Metrikprüfungen würden typischerweise Messungen enthalten, die durch Prüfung erfasst wurden. Außerdem gibt der Exit-Code-Status den Zustand an; 0 – OK , 1 – WARNUNG , und 2 – KRITISCH , ähnlich wie Nagios; bedeutet, dass Sie Nagios-Plugins verwenden können mit Sensu ohne Modifikation.
Diese Prüfungen werden entweder vom Sensu-Server oder vom Sensu-Client geplant.
Abonnementprüfungen:
Diese Prüfungen werden zentral vom Sensu-Server definiert und geplant, und sie haben eine definierte Gruppe von Abonnenten (man könnte sagen – eine Rolle) und Sensu-Clients werden Abonnenten dieser Rollen (d. h. Abonnement) über „Abonnement “. ”-Attribut.
Lassen Sie uns den Apache-Dienst mithilfe der „Abonnementprüfungen“ überwachen “ mit dem Intervall von 60 Sekunden. Erstellen Sie auf dem Sensu-Server eine Konfigurationsdatei für „Abonnementprüfungen ” auf dem Sensu-Server.
raj@server:~$ sudo vi /etc/sensu/conf.d/apache_check.json
Fügen Sie den folgenden Inhalt in die obige .json ein Datei.
Wenn der Client Ubuntu 16.04 ist / Debian 8 :
{ "checks": { "apache-status": { "command": "check-process.rb -p apache2", "subscribers": [ "web" ], "interval": 60 } } }
Wenn der Client CentOS 7/RHEL 7 ist :
{ "checks": { "apache-status": { "command": "check-process.rb -p httpd", "subscribers": [ "web" ], "interval": 60 } } }
Starten Sie den „sensu-server“ neu ” mit dem folgenden Befehl.
raj@server:~$ sudo service sensu-server restart
Stellen Sie sicher, dass der Client-Rechner (z. B. debian.itzgeek.local ) hat „web“ abonniert „Wenn nicht, aktualisieren Sie die client.json Datei.
vi /etc/sensu/conf.d/client.json
Die Datei sollte wie unten aussehen.
{ "client": { "name": "debian.itzgeek.local", "address": "10.128.0.4", "environment": "production", "subscriptions": [ "web", "debian" ] } }
Sensu-Plug-ins bieten ein ausführbares Skript, das als Sensu-Prüfungen verwendet werden kann, um Systemressourcen, Dienste und den Zustand von Anwendungen zu überwachen. Installieren Sie das Sensu-Plugin für Prozessprüfungen „sensu-plugins-process-checks “ mit dem Gem-Befehl auf dem Client-Rechner (debian.itzgeek.local ).
/opt/sensu/embedded/bin/gem install sensu-plugins-process-checks
Öffnen Sie das Uchiwa-Dashboard und warten Sie einige Zeit, überprüfen Sie erneut „Apache-Status “ wird in einer Minute angezeigt. Wenn der Apache-Prozess nicht läuft oder nicht gefunden wird, erhalten Sie möglicherweise eine kritische Ereignismeldung wie unten im Dashboard.
Wenn der Apache-Prozess ausgeführt wird, könnte das Dashboard wie folgt aussehen.
Ich hoffe, Sie haben jetzt verstanden, wie „Abonnementprüfungen ” Arbeit in Sensu. Wir werden „Eigenständige Prüfungen sehen ” im nächsten Abschnitt.
Eigenständige Prüfungen:
Diese Prüfungen werden auf einem Sensu-Client definiert (debian.itzgeek.local ) mit dem Prüfattribut „eigenständig “ auf „true“ gesetzt “. Hier verwendet der Sensu-Client seinen eigenen Planer zum Planen eigenständiger Prüfungen und sendet das Ergebnis der Prüfungen an den Sensu-Server.
Lassen Sie uns den Speicherplatz mithilfe der „Standalone-Prüfungen“ überwachen “ mit dem Intervall von 60 Sekunden. Auf dem Client-Rechner (debian.itzgeek.local ), installieren Sie das Sensu Disk Space Plugin mit dem folgenden Befehl.
/opt/sensu/embedded/bin/gem install sensu-plugins-disk-checks
Erstellen Sie eine Konfigurationsdatei für die Festplattenprüfung unter „/etc/sensu/conf.d ” Verzeichnis.
vi /etc/sensu/conf.d/disk_check.json
Verwenden Sie für diese Überprüfung den folgenden Inhalt.
{ "checks": { "disk-status": { "command": "check-disk-usage.rb -w 70 -c 90", "standalone": true, "interval": 60 } } }
Starten Sie den Sensu-Client-Dienst neu.
service sensu-client restart
Öffnen Sie das Uchiwa-Dashboard und prüfen Sie, ob der neue Haken auf dem Dashboard sichtbar ist.
Das folgende Bild zeigt, dass sich die Festplattennutzung im Warnzustand befindet.
Interessiert an Serverüberwachung:
LESEN :Installieren und konfigurieren Sie Nagios auf CentOS 7 / Ubuntu 16.04 / Debian 8
LESEN :Installieren Sie Icinga2 auf Ubuntu 16.04 / 14.04 , Debian und Mint
LESEN:So installieren Sie Zabbix Server 3.2 unter CentOS 7 / Ubuntu 16.04 / Debian 8
LESEN :Installieren Sie Monitorix auf CentOS 7 / Ubuntu 16.04 / Fedora 24 / Debian 8 – OpenSource Lightweight System Monitoring Tool
LESEN :Netdata – Echtzeit-Leistungsüberwachungstool für Linux
Das ist alles. Danke fürs Lesen.