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.

Abhängigkeiten installieren

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.

Setup-Repo

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.

installieren sensu gehen

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“

sensu go setup

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.

einrichten sensu starten sensu

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

Sensu-Backend-Dienst überprüfen

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

sensu initialisieren

Ö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„.

Nutzername

Nach dem Einloggen solltest du das Sensu-Administrations-Dashboard sehen. Die Installation von Sensu Go Backend ist nun abgeschlossen.

sensu dashboard

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.

sensu health check

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

sensuctl installieren

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.

sensuctl Abschluss

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.

sensuctl config

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

sensu-agent installieren

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"

sensu agent config

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

sensu agent konfigurieren und starten

Ü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“.

prüfen sensu agent

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.

Einheiten auflisten

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.

Einheiten aktualisieren

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

asset check cpu

Hinzufügen des Laufzeit-Assets’sensu/check-memory-usage‚.

Asset-Check-Speicher

Hinzufügen des Runtime-Assets„sensu/check-disk-usage„.

Scheckkarte herunterladen

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

Vermögenswerte auflisten

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

Kistenprüfung cpu

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

Merkzettel prüfen

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

Prüfscheibe erstellen

Ü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

Listenprüfungen

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.

Statuseinheiten

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.

Detailüberwachung

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.

Das könnte dich auch interessieren …