So installierst du Sensu Monitoring Solution unter Ubuntu 22.04
Sensu ist ein Open-Source-Infrastruktur- und Anwendungsüberwachungssystem, das sowohl für die Überwachung von Containern als auch von Nicht-Containern und Multi-Cloud-Infrastrukturen entwickelt wurde.
Sensu ist eine skalierbare, sichere und integrierte Überwachungslösung für deine Technologie- und Serverinfrastruktur. Mit Sensu kannst du Server, den Zustand von Anwendungen und Diensten überwachen und über die Integration von Drittanbietern Warnmeldungen an mehrere Ziele senden.
In dieser Anleitung wirst du die Sensu Monitoring Solution auf einem Ubuntu 22.04 Server einrichten. Außerdem installierst und konfigurierst du den Sensu-go-Client, der für die Verwaltung von Sensu verwendet wird. Schließlich installierst du den Sensu Agent auf dem Zielhost und richtest Sensu-Checks für die grundlegende Systemüberwachung ein.
Vorraussetzungen
Für diese Anleitung benötigst du die folgenden Voraussetzungen:
- Zwei Ubuntu 22.04 Server – Der erste Server wird für die Installation der Sensu Monitoring Solution verwendet und der zweite Server ist der Zielserver, der überwacht werden soll.
- Einen Nicht-Root-Benutzer mit sudo/root-Administrator-Rechten.
Unten siehst du die Details des Servers, der für diesen Leitfaden verwendet werden soll:
Hostname IP Address Used as -------------------------------------------------- sensugo-server 192.168.5.100 Sensu Server machine1 192.168.5.120 Target Monitoring
Kommen wir nun zur Installation.
Hinzufügen des Sensu-Repositorys
Sensu ist eine sichere und skalierbare Überwachungslösung, die auf verschiedenen Betriebssystemen wie Linux, macOS, Windows und FreeBSD installiert werden kann. Sensu stellt ein eigenes Repository zur Verfügung, insbesondere für RHEL- und Debian-basierte Distributionen. sensu-Pakete werden über das packagecloud.io Repository bereitgestellt.
In diesem ersten Schritt richtest du das Sensu-Repository sowohl auf dem Sensu-Server als auch auf dem Zielüberwachungssystem ein.
Um zu beginnen, führe den folgenden apt-Befehl aus, um den Paketindex zu aktualisieren und einige grundlegende Pakete auf deinem System zu installieren.
sudo apt update sudo apt install wget curl gnupg2 apt-transport-https
Wenn du dazu aufgefordert wirst, gibst du zur Bestätigung y ein und drückst ENTER.
Als Nächstes führst du den folgenden Befehl aus, um das Stable Repository von Sensu zu deinem System hinzuzufügen. Dadurch wird das Bash-Skript heruntergeladen, das das Sensu-Repository automatisch für dein Ubuntu-System einrichtet und konfiguriert.
curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | sudo bash
Du erhältst eine ähnliche Ausgabe wie diese.
Nachdem das Sensu Repository hinzugefügt wurde, kannst du die Installation von Sensu Go auf dem Sensu Server und den Sensu Agent auf dem Target Monitoring starten.
Installieren und Konfigurieren von Sensu Go Backend
Sensu Go Backend ist die Hauptkomponente der Sensu Monitoring Platform. Es bietet ein Web-Administrations-Dashboard und eine HTTP-API, mit der du Sensu über die Kommandozeile verwalten kannst, und stellt außerdem die WebSockets bereit, über die sich die Zielrechner/Agenten verbinden.
Bevor du loslegst, musst du sicherstellen, dass du alle folgenden Befehle auf dem Sensu Server ausführst. In diesem Beispiel lautet der Hostname des Servers „sensugo-server“.
Um zu beginnen, führe den folgenden apt-Befehl aus, um das Sensu Go Backend zu installieren.
sudo apt install sensu-go-backend
Jetzt sollte die Installation beginnen.
Nachdem das Sensu Go Backend installiert ist, lade die Beispielkonfiguration mit dem unten stehenden wget-Befehl in die Datei „/etc/sensu/backend.yml“ herunter . Öffne dann die Datei mit dem Befehl nano editor.
sudo curl -L https://docs.sensu.io/sensu-go/latest/files/backend.yml -o /etc/sensu/backend.yml sudo nano /etc/sensu/backend.yml
Entferne die Kommentarzeichen in den folgenden Zeilen der Datei.
cache-dir: "/var/cache/sensu/sensu-backend" config-file: "/etc/sensu/backend.yml"
log-level: „debug“
state-dir: „/var/lib/sensu/sensu-backend“
Speichere die Datei und beende den Editor, wenn du fertig bist.
Als Nächstes führst du den folgenden systemctl-Befehl aus, um den Sensu Go Backend-Dienst„sensu-backend“ zu starten und zu aktivieren.
sudo systemctl start sensu-backend sudo systemctl enable sensu-backend
Der Dienst„sensu-backend“ sollte jetzt laufen und aktiviert sein. Außerdem wird der Dienst beim Hochfahren automatisch ausgeführt.
Überprüfe den Status des „sensu-backend“-Dienstes mit dem folgenden systemctl-Befehl.
sudo systemctl is-enabled sensu-backend sudo systemctl status sensu-backend
Du erhältst eine ähnliche Ausgabe wie diese – Der Dienst„sensu-backend“ ist aktiviert und läuft jetzt.
Wenn das Sensu Go Backend läuft, musst du als Nächstes das Sensu Go Backend initialisieren, indem du das Admin-Passwort einrichtest und einige Konfigurationen erstellst.
Um die Installation von Sensu Go Backend zu initialisieren, führst du den folgenden Befehl aus, um neue Umgebungsvariablen zu erstellen, mit denen du den Sensu-Admin-Benutzer und das Passwort einrichtest.
In diesem Beispiel wird„sensuadmin“ als Benutzer und„sensupassword“ als Passwort verwendet. Ändere also unbedingt den Admin-Benutzer und das Passwort.
export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=sensuadmin export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=sensupassword
Führe nun den folgenden Befehl „sensu-backend“ aus, um die Installation von Sensu Go Backend zu initialisieren.
sensu-backend init
Du erhältst eine ähnliche Ausgabe wie diese – Das Sensu Go Backend ist nun initialisiert und läuft auf dem Standardport„3000„.
Öffne nun den Webbrowser und rufe die IP-Adresse des Servers auf, gefolgt von dem TCP-Port 3000 (d.h.: http://192.168.5.100:3000). Du solltest nun die Anmeldeseite von Sensu erhalten.
Melde dich mit dem Benutzernamen und dem Passwort an, die du bei der Initialisierung eingegeben hast, und klicke auf„SIGN-IN„.
Nach dem Einloggen solltest du das Sensu-Administrations-Dashboard sehen. Die Installation von Sensu Go Backend ist nun abgeschlossen.
Außerdem kannst du den Status deines Sensu Go Backend Servers über die Sensu API überprüfen.
Installiere das Paketdienstprogramm„jq“ mit dem unten stehenden apt-Befehl auf deinem System.
sudo apt install jq -y
Führe nun den folgenden curl-Befehl aus, um auf die Sensu Server API zuzugreifen, die auf dem Standardport„8080“ läuft. Dieser Befehl prüft den Status deines Sensu-Servers. Die Ausgabe wird als json formatiert, was die Ausgabe lesbar macht.
curl -s http://127.0.0.1:8080/health | jq .
Ausgabe – In der folgenden Ausgabe steht „Healthy: true“ und kein Fehler.
Installieren und Konfigurieren von sensuctl
Nachdem du das Sensu Go Backend installiert und konfiguriert hast, installierst du den Sensu Go Client auf dem Sensu Server. Der Sensu Go Client bietet das Kommandozeilenprogramm „sensuctl“, mit dem du Sensu über den Terminalserver verwalten kannst.
Sensuctl kommuniziert über die API mit dem Sensu Server, um Ressourcen, Ereignisse und Entitäten auf dem Sensu Server zu erstellen, zu lesen, zu aktualisieren und zu löschen.
Führe den folgenden apt-Befehl aus, um den Sensu Go Client zu installieren. Die Installation sollte nun beginnen.
sudo apt install sensu-go-cli
Nachdem„sensu-go-cli“ installiert ist, öffne die Datei „~/.bashrc“ mit dem unten stehenden nano-Editor-Befehl.
nano ~/.bashrc
Füge die folgenden Zeilen am Ende der Zeile hinzu. Diese Konfiguration aktiviert die automatische Vervollständigung für den Befehl „sensuctl“.
if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fi
source <(sensuctl completion bash)
Speichere die Datei und beende sie, wenn du fertig bist.
Als Nächstes lädst du deine aktuelle Sitzung neu, indem du die Datei„~/.bashrc“ neu lädst. Überprüfe dann mit dem Befehl „sensuctl“.
source ~/.bashrc sensuctl TAB
Wenn du nach dem Befehl „sensuctl“ die TAB-Taste drückst, solltest du die Liste der Optionen für diesen Befehl erhalten.
Nachdem du den Sensu Go Client installiert hast, kannst du nun die Verbindung zum Sensu Server konfigurieren.
Führe den unten stehenden Befehl„sensuctl configure“ aus, um den Sensu Server hinzuzufügen.
sudo sensuctl configure
Du wirst nun nach einigen Konfigurationen gefragt:
- Authentifizierungsmethode? username/password
- Sensu Backend API URL? Die Sensu API läuft standardmäßig auf http://127.0.0.1:8080
- Namespace? Standard
- Bevorzugtes Ausgabeformat? Wähle das gewünschte Ausgabeformat – in diesem Beispiel ist es tabellarisch.
- Benutzername? admin user für sensu
- Passwort? Passwort für den sensu-Admin-Benutzer
Nachdem die„sensuctl„-Konfiguration abgeschlossen ist, führe den folgenden Befehl aus, um die Details der aktuellen Konfiguration zu überprüfen.
sudo sensuctl config view
Du erhältst eine ähnliche Ausgabe wie diese – Der Sensu Go Client ist jetzt über die HTTP-API mit dem Sensu Server verbunden, der standardmäßig auf localhost:8080 läuft.
An diesem Punkt hast du die Grundkonfiguration des Sensu Go Backends und des Sensu Go Clients abgeschlossen. Im nächsten Schritt wirst du den Zielcomputer mit dem Sensu Agent überwachen.
Installation von Sensu Agent auf dem Zielrechner
Der Sensu Agent ist ein leichtgewichtiger Client, der auf den Zielrechnern läuft, die du überwachen willst. Er kommuniziert über WebSockets mit dem Sensu Server und verfügt über Funktionen wie die Selbstregistrierung, das Senden von Keepalive-Nachrichten und die Durchführung von Überwachungsprüfungen.
Bevor du beginnst, musst du sicherstellen, dass das Sensu-Repository hinzugefügt wurde. Vergewissere dich außerdem, dass du die folgenden Befehle auf dem Zielrechner ausführst; in diesem Beispiel wird der Server mit dem Hostnamen„machine1“ verwendet.
Führe den folgenden apt-Befehl aus, um den Sensu Agent auf deinem System zu installieren. Die Installation sollte automatisch ablaufen.
sudo apt install sensu-go-agent
Nachdem der Sensu Agent installiert ist, lade die Konfigurationsdatei des Sensu Agenten mit dem Befehl curl nach„/etc/sensu/agent.yml“ herunter. Öffne dann die Datei „/etc/sensu/agent.yml“ mit dem Befehl nano editor.
sudo curl -L https://docs.sensu.io/sensu-go/latest/files/agent.yml -o /etc/sensu/agent.yml sudo nano /etc/sensu/agent.yml
Ändere die Standardkonfiguration mit den folgenden Zeilen. Achte darauf, dass du den „name“ mit dem Hostnamen des Zielrechners änderst und die Backend-URL die WebSocket-Adresse des Sensu-Servers ist, der auf dem Standardport„8081“ läuft.
In diesem Beispiel ist der Hostname des Zielcomputers„machine1“ und die IP-Adresse des Sensu Servers ist„192.168.5.100„.
name: "machine1" namespace: "default" ... backend-url: - "ws://192.168.5.100:8081" cache-dir: "/var/cache/sensu/sensu-agent" config-file: "/etc/sensu/agent.yml"
Speichere die Datei und schließe den Editor, wenn du fertig bist.
Als Nächstes führst du den folgenden systemctl-Befehl aus, um den Dienst„sensu-agent“ zu starten und zu aktivieren. Der Dienst sollte jetzt laufen und aktiviert sein, d.h. er wird beim Hochfahren automatisch gestartet.
sudo systemctl start sensu-agent sudo systemctl enable sensu-agent
Überprüfe nun den „sensu-agent“-Dienst mit dem folgenden Befehl, um sicherzustellen, dass der Dienst läuft.
sudo systemctl is-enabled sensu-agent sudo systemctl status sensu-agent
Du erhältst eine Ausgabe wie die folgende – Der Dienst„sensu-agent“ ist aktiviert und der aktuelle Status lautet „running“.
Gehe zurück zum Sensu Server Terminal und führe den Befehl „sensuctl“ aus, um zu überprüfen, ob der Zielcomputer „machine1“ auf dem Sensu Server verfügbar ist.
sensuctl entity list --format tabular
Du erhältst eine ähnliche Ausgabe wie diese – Der Zielcomputer„machine1“ wurde dem Sensu Server über den Sensu Agent hinzugefügt.
Nachdem der Zielcomputer „machine1“ zum Sensu Server hinzugefügt wurde, richtest du als Nächstes Prüfungen für die grundlegende Systemüberwachung ein.
Einrichten von Checks für die Systemüberwachung
In Sensu legst du mit Checks fest, was du überwachen willst. Beispiele für Checks sind die Überwachung der CPU-Auslastung, der Speichernutzung, der Festplattennutzung und vieles mehr. Checks sind Teil der Assets, also der dynamischen Laufzeiten, die gemeinsam genutzt und wiederverwendet werden können.
In diesem Schritt erstellst du neue Checks zur Überwachung der CPU-, Speicher- und Festplattenauslastung. Diese Checks werden verwendet, um den Zielcomputer„machine1“ zu überwachen.
Führe zunächst den folgenden sensuctl-Befehl aus, um die Entität oder den Zielcomputer„machine1“ zu aktualisieren.
sensuctl entity update machine1
Die Klasse sollte„agent“ und die Subscription„System“ lauten.
Führe nun den unten stehenden Befehl sensuctl aus, um deinem Sensu Server Assets hinzuzufügen. Ein weiteres Asset von Sensu kannst du über den Sensu Asset Hub https://bonsai.sensu.io abrufen .
sensuctl asset add sensu/check-cpu-usage sensuctl asset add sensu/check-memory-usage sensuctl asset add sensu/check-disk-usage
Du erhältst eine ähnliche Ausgabe wie diese.
Hinzufügen des Laufzeit-Assets’sensu/check-cpu-usage‚
Hinzufügen des Laufzeit-Assets’sensu/check-memory-usage‚.
Hinzufügen des Runtime-Assets„sensu/check-disk-usage„.
Als Nächstes überprüfst du die Liste der Assents auf dem Sensu Server mit dem Befehl sensuctl. Du solltest sehen, dass diese Runtime Assets dem Sensu Server hinzugefügt wurden.
sensuctl asset list
Wenn die Sensu-Assets hinzugefügt sind, kannst du Prüfungen erstellen, die auf den hinzugefügten Assets basieren.
Führe den folgenden Befehl aus, um einen Check „check_cpu“ mit dem Abonnement„system“ zu erstellen und verwende den Runtime-Assent„sensu/check-cpu-usage„. Du kannst die Einstellungen unter der Option„command“ anpassen.
sensuctl check create check_cpu \ --command 'check-cpu-usage -w 75 -c 90' \ --interval 60 \ --subscriptions system \ --runtime-assets sensu/check-cpu-usage
Führe den folgenden Befehl aus, um eine Prüfung„check_mem“ mit dem Abonnement „system“ zu erstellen und verwende das Laufzeit-Assent„sensu/check-memory-usage„. Du kannst die Einstellungen unter der Option„command“ anpassen.
sensuctl check create check_mem \ --command 'check-memory-usage -w 80 -c 90' \ --interval 60 \ --subscriptions system \ --runtime-assets sensu/check-memory-usage
Führe den folgenden Befehl aus, um eine Prüfung „check_disk“ mit dem Abonnement„system“ zu erstellen und verwende das Laufzeit-Assent „sensu/check-disk-usage„. Du kannst die Einstellungen unter der Option„command“ anpassen.
sensuctl check create check_disk \ --command 'check-disk-usage --include-fs-type "xfs,ext4" --exclude-fs-path "/boot" --warning 90 --critical 95' \ --interval 60 \ --subscriptions system \ --runtime-assets sensu/check-disk-usage
Überprüfe nun die Liste der Checks auf dem Sensu Server mit dem unten stehenden Befehl „sensuctl“. Du siehst dann drei Checks, die du erstellt hast: check_cpu, check_mem und check_disk.
sensuctl check list
Gehe nun zurück zum Webbrowser und rufe das Sensu Administrations-Dashboard auf. Vergewissere dich, dass du dich im„Standard„-Namensraum befindest, und klicke dann auf„Entitäten„.
Du solltest sehen, dass der Zielcomputer„machine1“ mit dem Status OK hinzugefügt wurde.
Klicke auf„machine1„, um Details zur Überwachung zu erhalten. Du solltest die folgende Seite sehen – alle Prüfungen, die du erstellt hast, werden ausgeführt und laufen.
Du hast jetzt Assets und Checks für die Systemüberwachung auf dem Sensu Server erstellt und konfiguriert.
Fazit
Du hast nun die Sensu Monitoring Solution auf dem Ubuntu 22.04 Server installiert. Außerdem hast du die grundlegende Verwendung des Sensuctl-Befehls zur Verwaltung des Sensu-Backends gelernt. Außerdem hast du den Linux-Host-Rechner erfolgreich mit dem Sensu-Agenten überwacht und „Assets“ und „Checks“ für die Überwachung der Zielserver eingerichtet.