So installierst du das Monit Monitoring Tool unter Ubuntu 22.04

Monit ist ein Open-Source-Überwachungstool, das zur Überwachung von Servern verwendet werden kann. Mit Monit kannst du Serverprozesse und verschiedene Dienste wie Apache, Nginx, MySQL, FTP, SSH, Sendmail und viele mehr überwachen. Es bietet eine einfache und benutzerfreundliche Weboberfläche, um alle Prozesse und Dienste zu überwachen. Monit kann jeden Dienst im Falle eines Ausfalls automatisch starten. Außerdem kannst du mit Monit die TCP/IP-Ports und Serverprotokolle von Remote-Hosts überwachen und über eine Befehlszeilenschnittstelle pingen.

Diese Anleitung zeigt dir, wie du das Überwachungstool Monit unter Ubuntu 22.04 installierst und konfigurierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Erste Schritte

Zuerst musst du alle Pakete auf die neueste Version aktualisieren und upgraden. Das kannst du mit dem folgenden Befehl tun:

apt update -y
apt upgrade -y

Sobald alle Pakete installiert sind, kannst du mit dem nächsten Schritt fortfahren.

Monit auf Ubuntu 22.04 installieren

Standardmäßig ist das Paket Monit im Standard-Repository von Ubuntu 22.04 verfügbar. Du kannst es mit dem folgenden Befehl installieren:

apt-get install monit -y

Nach der erfolgreichen Installation startest du den Monit-Dienst und aktivierst ihn beim Neustart des Systems:

systemctl start monit
systemctl enable monit

Du kannst den Status von Monit auch mit dem folgenden Befehl überprüfen:

systemctl status monit

Du erhältst die folgende Ausgabe:

? monit.service - LSB: service and resource monitoring daemon
     Loaded: loaded (/etc/init.d/monit; generated)
     Active: active (running) since Mon 2022-08-01 04:28:17 UTC; 11s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 6292 ExecStart=/etc/init.d/monit start (code=exited, status=0/SUCCESS)
      Tasks: 1 (limit: 2242)
     Memory: 2.5M
        CPU: 25ms
     CGroup: /system.slice/monit.service
             ??6298 /usr/bin/monit -c /etc/monit/monitrc

Aug 01 04:28:17 ubuntu2204 systemd[1]: Starting LSB: service and resource monitoring daemon...
Aug 01 04:28:17 ubuntu2204 monit[6292]:  * Starting daemon monitor monit
Aug 01 04:28:17 ubuntu2204 monit[6292]:    ...done.
Aug 01 04:28:17 ubuntu2204 systemd[1]: Started LSB: service and resource monitoring daemon.

Du kannst auch die Monit-Version mit folgendem Befehl überprüfen:

monit --version

Du solltest die folgende Ausgabe sehen:

This is Monit version 5.31.0
Built with ssl, with ipv6, with compression, with pam and with large files
Copyright (C) 2001-2022 Tildeslash Ltd. All Rights Reserved.

Monit-Überwachung konfigurieren

Als Nächstes bearbeitest du die Standardkonfigurationsdatei von Monit und legst das Admin-Passwort und den Port fest. Das kannst du mit dem folgenden Befehl tun:

nano /etc/monit/monitrc

Ändere die folgenden Zeilen:

set httpd port 2812 and
allow admin:monit # require user 'admin' with password 'monit'

Speichere und schließe die Datei und starte den Monit-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart monit

Standardmäßig lauscht Monit auf Port 2812. Du kannst dies mit dem folgenden Befehl überprüfen:

ss -antpl | grep monit

Du solltest die folgende Ausgabe sehen:

LISTEN 0      1024         0.0.0.0:2812       0.0.0.0:*    users:(("monit",pid=6427,fd=6))                        
LISTEN 0      1024            [::]:2812          [::]:*    users:(("monit",pid=6427,fd=7))                        

Du kannst deinen Systemstatus auch mit dem folgenden Befehl überprüfen:

monit status

Du erhältst die folgende Ausgabe:

Monit 5.31.0 uptime: 0m

System 'ubuntu2204'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  load average                 [0.08] [0.13] [0.13]
  cpu                          0.0%usr 0.0%sys 0.0%nice 0.0%iowait 0.0%hardirq 0.0%softirq 0.0%steal 0.0%guest 0.0%guestnice 
  memory usage                 1.0 GB [54.0%]
  swap usage                   0 B [0.0%]
  uptime                       28m
  boot time                    Mon, 01 Aug 2022 04:02:09
  filedescriptors              1728 [0.0% of 9223372036854775807 limit]
  data collected               Mon, 01 Aug 2022 04:29:55

Überwachungsdienste hinzufügen

Als nächstes musst du die Dienste hinzufügen, die du mit Monit überwachen willst. In diesem Abschnitt werden wir die Dienste Nginx und ProFTP zu Monit hinzufügen.

Nginx-Überwachungsdienst hinzufügen

Monit bietet standardmäßig eine vordefinierte Vorlage für einige Prozesse und Dienste. Alle diese Vorlagen befinden sich im Verzeichnis /etc/monit/conf-available/. Standardmäßig ist die Nginx-Vorlage verfügbar, du musst sie also nur mit dem folgenden Befehl aktivieren:

ln -s /etc/monit/conf-available/nginx /etc/monit/conf-enabled/

Starte anschließend den Monit-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart monit

ProFTP-Überwachungsdienst hinzufügen

Die Vorlage für den ProFTP-Dienst ist standardmäßig nicht verfügbar. Daher musst du sie mit deinem Lieblingseditor erstellen.

nano /etc/monit/conf-available/proftpd

Füge die folgenden Zeilen hinzu:

check process proftpd with pidfile /var/run/proftpd.pid
   start program = "/etc/init.d/proftpd start"
   stop  program = "/etc/init.d/proftpd stop"
if failed port 21 protocol ftp then restart

Speichere und schließe die Datei und aktiviere dann den ProFTP-Dienst mit dem folgenden Befehl:

ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled

Du kannst die Vorlage mit folgendem Befehl auf Syntaxfehler überprüfen:

monit -t

Du erhältst die folgende Ausgabe:

Control file syntax OK

Starte anschließend den Monit-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart monit

Zugriff auf die Monit Web UI

Öffne nun deinen Webbrowser und rufe das Monit-Webinterface über die URL http://your-server-ip-2812 auf. Auf dem folgenden Bildschirm solltest du alle deine Dienste sehen:

Gib deinen Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche “ Anmelden „. Auf dem folgenden Bildschirm sollte das Monit-Dashboard zu sehen sein:

Klicke auf den Dienst Nginx. Auf dem folgenden Bildschirm siehst du die detaillierten Informationen zu Nginx:

Überwachung von Monit über die Kommandozeile

Mit Monit kannst du alle konfigurierten Dienste auch über die Befehlszeilenschnittstelle überwachen.

Um eine kurze Zusammenfassung von monit zu sehen, führe den folgenden Befehl aus:

monit summary

Du solltest die folgende Ausgabe sehen:

Monit 5.31.0 uptime: 0m
????????????????????????????????????????????????????????????????????????????????
? Service Name                    ? Status                     ? Type          ?
????????????????????????????????????????????????????????????????????????????????
? ubuntu2204                      ? OK                         ? System        ?
????????????????????????????????????????????????????????????????????????????????
? proftpd                         ? OK                         ? Process       ?
????????????????????????????????????????????????????????????????????????????????
? nginx                           ? OK                         ? Process       ?
????????????????????????????????????????????????????????????????????????????????
? nginx_bin                       ? OK                         ? File          ?
????????????????????????????????????????????????????????????????????????????????
? nginx_rc                        ? OK                         ? File          ?
????????????????????????????????????????????????????????????????????????????????

Du kannst den Status aller Dienste auch mit dem folgenden Befehl einsehen:

monit status

In der folgenden Ausgabe erhältst du detaillierte Informationen zu allen Diensten:

Monit 5.31.0 uptime: 0m

Process 'proftpd'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  pid                          6806
  parent pid                   1
  uid                          0
  effective uid                115
  gid                          65534
  uptime                       2m
  threads                      1
  children                     0
  cpu                          -
  cpu total                    -
  memory                       0.2% [3.4 MB]
  memory total                 0.2% [3.4 MB]
  security attribute           unconfined
  filedescriptors              5 [0.5% of 1024 limit]
  total filedescriptors        5
  read bytes                   0 B/s [2.3 kB total]
  disk read bytes              0 B/s [0 B total]
  disk read operations         0.0 reads/s [17 reads total]
  write bytes                  0 B/s [2.1 kB total]
  disk write bytes             0 B/s [4 kB total]
  disk write operations        0.0 writes/s [8 writes total]
  port response time           3.791 ms to localhost:21 type TCP/IP protocol FTP
  data collected               Mon, 01 Aug 2022 04:34:49

Process 'nginx'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  pid                          6994
  parent pid                   1
  uid                          0
  effective uid                0
  gid                          0
  uptime                       1m
  threads                      1
  children                     1
  cpu                          -
  cpu total                    -
  memory                       0.1% [1.7 MB]
  memory total                 0.4% [7.1 MB]
  security attribute           unconfined
  filedescriptors              10 [1.0% of 1024 limit]
  total filedescriptors        21
  read bytes                   0 B/s [0 B total]
  disk read bytes              0 B/s [0 B total]
  disk read operations         0.0 reads/s [0 reads total]
  write bytes                  0 B/s [0 B total]
  disk write bytes             0 B/s [0 B total]
  disk write operations        0.0 writes/s [0 writes total]
  data collected               Mon, 01 Aug 2022 04:34:49

File 'nginx_bin'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  permission                   755
  uid                          0
  gid                          0
  size                         1.2 MB
  access timestamp             Mon, 01 Aug 2022 04:17:26
  change timestamp             Mon, 01 Aug 2022 04:17:24
  modify timestamp             Wed, 27 Apr 2022 10:56:57
  checksum                     8ae236b8cfaa5ba5f471ab7fba65700d (MD5)
  data collected               Mon, 01 Aug 2022 04:34:49

File 'nginx_rc'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  permission                   755
  uid                          0
  gid                          0
  size                         4.5 kB
  access timestamp             Mon, 01 Aug 2022 04:17:24
  change timestamp             Mon, 01 Aug 2022 04:17:24
  modify timestamp             Tue, 06 Nov 2018 19:04:12
  checksum                     290f6f12a12bc8e882bc5af46c1bfe7c (MD5)
  data collected               Mon, 01 Aug 2022 04:34:49

System 'ubuntu2204'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  load average                 [0.02] [0.11] [0.12]
  cpu                          0.0%usr 0.0%sys 0.0%nice 0.0%iowait 0.0%hardirq 0.0%softirq 0.0%steal 0.0%guest 0.0%guestnice 
  memory usage                 1.0 GB [54.2%]
  swap usage                   0 B [0.0%]
  uptime                       33m
  boot time                    Mon, 01 Aug 2022 04:02:09
  filedescriptors              1760 [0.0% of 9223372036854775807 limit]
  data collected               Mon, 01 Aug 2022 04:34:49

Fazit

Herzlichen Glückwunsch! Du hast das Überwachungstool Monit auf Ubuntu 22.04 erfolgreich installiert und konfiguriert. Jetzt kannst du die Funktionen von Monit erkunden, weitere Dienste hinzufügen und sie über einen Webbrowser überwachen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …