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.