Wie man Monit unter Debian 11 installiert und konfiguriert

Monit ist ein kostenloses und quelloffenes Überwachungstool, das Serverprozesse und -dienste wie Apache, Nginx, Rsyslog, FTP und SSH auf Linux-Systemen überwacht. Monit bietet sowohl eine webbasierte Oberfläche als auch einen Kommandozeilen-Client zur Überwachung der verschiedenen Dienste. Es hat die Fähigkeit, einen Prozess automatisch zu starten, wenn er nicht läuft. Außerdem kannst du mit Monit den TCP-Port, das Serverprotokoll und den Ping eines entfernten Rechners überwachen.

In diesem Lernprogramm wird erklärt, wie du das Überwachungsprogramm Monit unter Debian 11 installierst und verwendest.

Voraussetzungen

  • Ein Server, auf dem Debian 11 läuft.
  • Auf deinem Server ist ein root-Passwort eingerichtet.

Monit unter Debian 11 installieren

Standardmäßig ist das Monit-Paket im Standard-Repository von Debian 11 verfügbar. Du kannst es installieren, indem du den folgenden Befehl ausführst:

apt-get install monit -y

Sobald die Installation abgeschlossen ist, kannst du den Monit-Dienst starten und mit folgendem Befehl aktivieren, dass er beim Neustart des Systems gestartet wird:

systemctl start monit
systemctl enable monit

Du kannst den Status von Monit auch mit folgendem 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 Sat 2022-01-01 07:38:44 UTC; 10s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 1005 ExecStart=/etc/init.d/monit start (code=exited, status=0/SUCCESS)
      Tasks: 1 (limit: 2341)
     Memory: 1.7M
        CPU: 20ms
     CGroup: /system.slice/monit.service
             ??1010 /usr/bin/monit -c /etc/monit/monitrc

Jan 01 07:38:44 debian11 systemd[1]: Starting LSB: service and resource monitoring daemon...
Jan 01 07:38:44 debian11 monit[1005]: Starting daemon monitor: monit.
Jan 01 07:38:44 debian11 systemd[1]: Started LSB: service and resource monitoring daemon.

Sobald du fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Aktivieren der Monit Web UI

Monit bietet auch eine Web UI, um verschiedene Dienste zu verwalten und zu überwachen. In der Standardeinstellung ist sie deaktiviert. Daher musst du sie aktivieren und ein Admin-Passwort festlegen. Das kannst du tun, indem du die Monit-Konfigurationsdatei bearbeitest:

nano /etc/monit/monitrc

Hebe die Kommentare auf und ändere die folgenden Zeilen:

set httpd port 2812 and
allow admin:monitpassword

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 :2812

Du erhältst die folgende Ausgabe:

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

Monit für Nginx konfigurieren

Mit Monit kannst du verschiedene Dienste überwachen. Überprüfe zunächst den Status deines Betriebssystems mit dem folgenden Befehl:

monit status

Du erhältst die folgende Ausgabe:

Monit 5.27.2 uptime: 0m

System 'debian11'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  load average                 [0.14] [0.06] [0.02]
  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                 192.2 MB [9.7%]
  swap usage                   0 B [0.0%]
  uptime                       2m
  boot time                    Sat, 01 Jan 2022 07:37:55
  filedescriptors              512 [0.0% of 9223372036854775807 limit]
  data collected               Sat, 01 Jan 2022 07:39:34

Standardmäßig stellt Monit eine Konfigurationsdatei für den Nginx-Dienst bereit, die jedoch standardmäßig deaktiviert ist. Du musst sie also aktivieren, um den Dienst überwachen zu können. Du kannst ihn mit folgendem 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

Monit für ProFTPD konfigurieren

Monit stellt keine Dienstkonfigurationsdatei für ProFTPD bereit. Daher musst du eine ProFTPD-Dienstkonfigurationsdatei erstellen. Du kannst sie mit dem folgenden Befehl erstellen:

nano /etc/monit/conf-available/proftpd

Füge die folgenden Zeilen ein:

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 die ProFTPD-Dienstkonfigurationsdatei mit dem folgenden Befehl:

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

Als Nächstes überprüfst du den Syntaxfehler in der Konfigurationsdatei mit dem folgenden Befehl:

monit -t

Wenn alles in Ordnung ist, solltest du die folgende Ausgabe sehen:

Control file syntax OK

Starte abschließend den Monit neu, um die Änderungen zu übernehmen.

systemctl restart monit

Zugriff auf die Monit Web UI

Öffne nun deinen Webbrowser und rufe die Monit-Weboberfläche über die URL http://your-server-ip:2812 auf. Du wirst auf die Anmeldeseite von Monit weitergeleitet:

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

Klicke auf debian11, um den Status deines Betriebssystems zu überprüfen. Du solltest den folgenden Bildschirm sehen:

Klicke auf Nginx, um den Status des Nginx-Dienstes zu überprüfen. Du solltest den folgenden Bildschirm sehen:

Dienste über die Kommandozeile überwachen

Du kannst den Status aller Dienste auch über die Befehlszeilenschnittstelle überwachen.

Um eine Übersicht über alle Dienste zu erhalten, führe den folgenden Befehl aus:

monit summary

Du erhältst die folgende Ausgabe:

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

Um den Status aller Dienste zu überprüfen, führe den folgenden Befehl aus:

monit status

Du erhältst die folgende Ausgabe:

Monit 5.27.2 uptime: 0m

Process 'proftpd'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  pid                          2596
  parent pid                   1
  uid                          0
  effective uid                107
  gid                          65534
  uptime                       16m
  threads                      1
  children                     0
  cpu                          -
  cpu total                    -
  memory                       0.1% [2.9 MB]
  memory total                 0.1% [2.9 MB]
  security attribute           unconfined
  filedescriptors              5 [0.5% of 1024 limit]
  total filedescriptors        5
  read bytes                   0 B/s [32 B total]
  disk read bytes              0 B/s [0 B total]
  disk read operations         0.0 reads/s [34 reads total]
  write bytes                  0 B/s [178 B total]
  disk write bytes             0 B/s [4 kB total]
  disk write operations        0.0 writes/s [3 writes total]
  port response time           2.495 ms to localhost:21 type TCP/IP protocol FTP
  data collected               Sat, 01 Jan 2022 08:00:43

Process 'nginx'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  pid                          2078
  parent pid                   1
  uid                          0
  effective uid                0
  gid                          0
  uptime                       20m
  threads                      1
  children                     1
  cpu                          -
  cpu total                    -
  memory                       0.6% [11.5 MB]
  memory total                 0.8% [16.6 MB]
  security attribute           unconfined
  filedescriptors              9 [0.9% of 1024 limit]
  total filedescriptors        19
  read bytes                   0 B/s [62.0 kB total]
  disk read bytes              0 B/s [3.4 MB total]
  disk read operations         0.0 reads/s [73 reads total]
  write bytes                  0 B/s [81 B total]
  disk write bytes             0 B/s [4 kB total]
  disk write operations        0.0 writes/s [2 writes total]
  data collected               Sat, 01 Jan 2022 08:00:43

File 'nginx_bin'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  permission                   755
  uid                          0
  gid                          0
  size                         1.1 MB
  access timestamp             Sat, 01 Jan 2022 07:39:44
  change timestamp             Sat, 01 Jan 2022 07:39:47
  modify timestamp             Sat, 29 May 2021 14:21:37
  checksum                     12a1c0be9962768c055158782d1d564a (MD5)
  data collected               Sat, 01 Jan 2022 08:00:43

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             Sat, 01 Jan 2022 07:39:44
  change timestamp             Sat, 01 Jan 2022 07:39:47
  modify timestamp             Sat, 29 May 2021 14:21:37
  checksum                     290f6f12a12bc8e882bc5af46c1bfe7c (MD5)
  data collected               Sat, 01 Jan 2022 08:00:43

System 'debian11'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  load average                 [0.00] [0.00] [0.00]
  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                 199.5 MB [10.1%]
  swap usage                   0 B [0.0%]
  uptime                       23m
  boot time                    Sat, 01 Jan 2022 07:37:55
  filedescriptors              640 [0.0% of 9223372036854775807 limit]
  data collected               Sat, 01 Jan 2022 08:00:43

Um den Status des ProFTPD-Dienstes zu überprüfen, führe den folgenden Befehl aus:

monit status proftpd

Du erhältst die folgende Ausgabe:

Monit 5.27.2 uptime: 0m

Process 'proftpd'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  pid                          2596
  parent pid                   1
  uid                          0
  effective uid                107
  gid                          65534
  uptime                       16m
  threads                      1
  children                     0
  cpu                          -
  cpu total                    -
  memory                       0.1% [2.9 MB]
  memory total                 0.1% [2.9 MB]
  security attribute           unconfined
  filedescriptors              5 [0.5% of 1024 limit]
  total filedescriptors        5
  read bytes                   0 B/s [32 B total]
  disk read bytes              0 B/s [0 B total]
  disk read operations         0.0 reads/s [34 reads total]
  write bytes                  0 B/s [178 B total]
  disk write bytes             0 B/s [4 kB total]
  disk write operations        0.0 writes/s [3 writes total]
  port response time           2.495 ms to localhost:21 type TCP/IP protocol FTP
  data collected               Sat, 01 Jan 2022 08:00:43

Schlussfolgerung

Glückwunsch! Du hast Monit erfolgreich unter Debian 11 installiert. Du kannst jetzt anfangen, entfernte Hosts hinzuzufügen und sie über den Webbrowser zu überwachen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …