Wie installiert man Sensu Monitoring auf Ubuntu 20.04

Sensu ist ein freies und quelloffenes Tool zur Überwachung der Infrastruktur und des Anwendungszustands. Es ist in Ruby geschrieben, verwendet RabbitMQ zur Bearbeitung von Nachrichten und Redis zur Speicherung von Daten. Es kann auf den meisten Betriebssystemen installiert werden, einschließlich Ubuntu, Debian, RHEL, CentOS, IBM, AIX, FreeBSD, Mac OS, Solaris, Windows und vielen anderen. Es ist eine der beliebtesten Plattformen der nächsten Generation, die andere Überwachungssysteme wie Zabbix, Icinga und Nagios ersetzt. Sensu verwendet ein Client-Server-Modell. Sie müssen nur einen Sensu-Client auf jedem System installieren, das Sie überwachen wollen.

In diesem Tutorial zeigen wir Ihnen, wie Sie den Sensu-Überwachungsserver auf dem Ubuntu 20.04-Server installieren.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 20.04 läuft.
  • Der Server ist mit einem Root-Passwort konfiguriert.

Erste Schritte

Zuerst müssen Sie Ihr System auf die neueste stabile Version aktualisieren. Sie können dies tun, indem Sie alle Systempakete mit dem folgenden Befehl aktualisieren:

apt-get update -y

Sobald Ihr System aktualisiert ist, installieren Sie weitere Abhängigkeiten mit dem folgenden Befehl:

apt-get install gnupg2 curl wget unzip -y

Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.

Redis und RabbitMQ installieren

Sensu verwendet RabbitMQ zur Verarbeitung von Nachrichten und Redis zur Speicherung von Daten. Beide Pakete müssen also in Ihrem System installiert sein. Standardmäßig ist RabbitMQ nicht im Standard-Repository von Ubuntu 20.04 verfügbar. Sie müssen also das RabbitMQ-Repository in Ihrem System hinzufügen.

Importieren Sie zunächst den GPG-Schlüssel mit dem folgenden Befehl:

wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | apt-key add -

Als nächstes fügen Sie das Repository hinzu, indem Sie den folgenden Befehl ausführen:

echo "deb http://binaries.erlang-solutions.com/debian $(lsb_release -cs) contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list

Aktualisieren Sie dann das Repository und installieren Sie das RabbitMQ-Paket mit dem folgenden Befehl:

apt-get update -y
apt-get install rabbitmq-server -y

Nach der Installation müssen Sie einen RabbitMQ vhost für Sensu erstellen. Sie können ihn mit dem folgenden Befehl erstellen:

rabbitmqctl add_vhost /sensu

Sie sollten die folgende Ausgabe sehen:

Adding vhost "/sensu" ...

Erstellen Sie als Nächstes einen Benutzer zur Verwaltung des vhost mit dem folgenden Befehl:

rabbitmqctl add_user sensu password

Sie sollten die folgende Ausgabe sehen:

Adding user "sensu" ...

Als nächstes müssen Sie dem vhost /sensu volle Berechtigungen zuweisen.

rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"

Sie sollten die folgende Ausgabe erhalten:

Setting permissions for user "sensu" in vhost "/sensu" ...

Als nächstes installieren Sie den Redis-Server mit dem folgenden Befehl:

apt-get install redis-server -y

Wenn die Installation abgeschlossen ist, starten Sie den Redis-Dienst und ermöglichen Sie ihm, beim Systemneustart mit folgendem Befehl zu starten:

systemctl start redis-server
systemctl enable redis-server

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Sensu-Server installieren

Standardmäßig ist Sensu nicht im offiziellen Ubuntu-Repository verfügbar. Sie müssen also das Sensu-Repository in Ihrem System hinzufügen.

Importieren Sie zunächst den GPG-Schlüssel des Repository mit folgendem Befehl:

wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | apt-key add -

Als nächstes fügen Sie das Repository mit dem folgenden Befehl hinzu:

echo "deb https://sensu.global.ssl.fastly.net/apt bionic main" | tee /etc/apt/sources.list.d/sensu.list

Sobald das Repository hinzugefügt ist, aktualisieren Sie das Repository und installieren Sie die Sensu mit dem folgenden Befehl:

apt-get update -y
apt-get install sensu -y

Sobald Sensu installiert ist, können Sie mit dem nächsten Schritt fortfahren.

Sensu konfigurieren

Als nächstes müssen Sie Konfigurationsdateien für RabbitMQ, Redis und Api erstellen. Zuerst erstellen Sie eine api.json-Datei mit folgendem Befehl: Fügen Sie die folgenden Zeilen hinzu

nano /etc/sensu/conf.d/api.json

Fügen Sie die folgenden Zeilen hinzu:

{
  "api": {
    "host": "localhost",
    "bind": "0.0.0.0",
    "port": 4567
  }
}

Speichern und schliessen Sie die Datei und erstellen Sie dann eine redis.json-Datei mit folgendem Befehl: Speichern und schliessen Sie die Datei:

nano /etc/sensu/conf.d/redis.json

Fügen Sie die folgenden Zeilen hinzu:

{
  "redis": {
    "host": "127.0.0.1",
    "port": 6379
  }
}

Speichern und schließen Sie die Datei und erstellen Sie dann eine RabbitMQ-Konfigurationsdatei mit dem folgenden Befehl:

nano /etc/sensu/conf.d/rabbitmq.json

Fügen Sie die folgenden Zeilen hinzu:

{
  "rabbitmq": {
    "host": "127.0.0.1",
    "port": 5672,
    "vhost": "/sensu",
    "user": "sensu",
    "password": "password"
  }
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Installieren und Konfigurieren von Sensu Dashboard

Als nächstes müssen Sie das Uchiwa-Dashboard in Ihrem System installieren. Uchiwa ist ein Open-Source-Dashboard zur Überwachung von Sensu über eine Web-Schnittstelle.

Sie können das Uchiwa mit dem folgenden Befehl installieren:

apt-get install uchiwa -y

Nachdem Sie Uchiwa installiert haben, erstellen Sie eine Konfigurationsdatei für Uchiwa mit folgendem Befehl:

nano /etc/sensu/uchiwa.json

Fügen Sie die folgenden Zeilen hinzu:

{
  "sensu": [
    {
      "name": "Sensu",
      "host": "127.0.0.1",
      "port": 4567,
      "timeout": 10
    }
  ],
  "uchiwa": {
    "host": "0.0.0.0",
    "port": 3000,
    "refresh": 10
  }
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Als nächstes müssen Sie eine Datei client.json erstellen, um den Sensu-Server selbst zu überwachen. Sie können sie mit dem folgenden Befehl erstellen:

nano /etc/sensu/conf.d/client.json

Fügen Sie die folgenden Zeilen hinzu:

{
  "client": {
    "name": "sensu-server",
    "address": "127.0.0.1",
    "environment": "management",
    "subscriptions": [
      "dev",
      "ubuntu"
   ],
    "socket": {
      "bind": "127.0.0.1",
      "port": 3030
    }
  }
}

Speichern Sie die Datei und schließen Sie sie, wenn Sie fertig sind.

Als nächstes starten Sie den Sensu-Server, Api, Uchiwa und Sensu-Client-Service mit dem folgenden Befehl:

systemctl start sensu-server
systemctl start sensu-api
systemctl start uchiwa
systemctl start sensu-client

Sobald alle Dienste gestartet sind, können Sie den Status aller Dienste mit dem folgenden Befehl überprüfen:

systemctl status sensu-server sensu-api sensu-client uchiwa

Sie sollten die folgende Ausgabe erhalten:

? sensu-server.service - sensu server
     Loaded: loaded (/lib/systemd/system/sensu-server.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:43 UTC; 4min 18s ago
   Main PID: 10031 (sensu-server)
      Tasks: 24 (limit: 2353)
     Memory: 20.6M
     CGroup: /system.slice/sensu-server.service
             ??10031 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-server -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/ext>

Aug 23 09:04:43 ubuntu2004 systemd[1]: Started sensu server.

? sensu-api.service - sensu api
     Loaded: loaded (/lib/systemd/system/sensu-api.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:42 UTC; 4min 19s ago
   Main PID: 10023 (sensu-api)
      Tasks: 2 (limit: 2353)
     Memory: 18.9M
     CGroup: /system.slice/sensu-api.service
             ??10023 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-api -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/extens>

Aug 23 09:04:42 ubuntu2004 systemd[1]: Started sensu api.

? sensu-client.service - sensu client
     Loaded: loaded (/lib/systemd/system/sensu-client.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:42 UTC; 4min 18s ago
   Main PID: 10027 (sensu-client)
      Tasks: 2 (limit: 2353)
     Memory: 17.0M
     CGroup: /system.slice/sensu-client.service
             ??10027 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-client -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/ext>

Aug 23 09:04:42 ubuntu2004 systemd[1]: sensu-client.service: Succeeded.
Aug 23 09:04:42 ubuntu2004 systemd[1]: Stopped sensu client.
Aug 23 09:04:42 ubuntu2004 systemd[1]: Started sensu client.

? uchiwa.service - LSB: Uchiwa, a Sensu dashboard.
     Loaded: loaded (/etc/init.d/uchiwa; generated)
     Active: active (exited) since Sun 2020-08-23 09:04:41 UTC; 4min 19s ago

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Zugriff auf Sensu Dashboard

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://your-server-ip:3000 ein. Auf dem folgenden Bildschirm sollten Sie das Sensu-Dashboard sehen:

Sensu Überwachungswerkzeug

Klicken Sie nun auf das Client-Symbol im linken Fensterbereich. Auf dem folgenden Bildschirm sollten Sie den Status des Sensu-Clients sehen:

Dashboard Sensu

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben Sensu und Uchiwa erfolgreich auf dem Ubuntu 20.04 Server installiert und konfiguriert. Sie können nun weitere Clients hinzufügen und die Überwachung über das Uchiwa-Dashboard starten. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Das könnte dich auch interessieren …