Monit ist ein kostenloses Open-Source-Tool zur Prozessüberwachung, mit dem Systemprozesse über den Webbrowser und die Befehlszeile überwacht werden können. Es wird auch zur Überwachung von Dateien, Verzeichnissen und Geräten auf Größenänderungen und Berechtigungsänderungen verwendet. Monit repariert automatisch einen bestimmten Prozess, wenn er ausfällt. Monit ist auch in der Lage, die meisten Dienste wie Apache, Sendmail, Nginx, FTP, SSH und MySQL auf Linux-basierten Systemen zu überwachen. Mit Monit können Sie den TCP/IP-Port, die Protokolle und den Ping von Remote-Hosts überwachen. Monit hat die Fähigkeit, einen bestimmten Prozess zu stoppen, der viele Ressourcen verbraucht. Monit überwacht Ihren Server und sendet Benachrichtigungen über alle kritischen Fehlerbedingungen und den Wiederherstellungsstatus.
Funktionen
- Automatisches Starten, Stoppen und Beenden bestimmter Prozesse.
- Benutzerfreundliches Webinterface zur Statusüberwachung.
- Bei kritischen Zuständen per E-Mail benachrichtigen.
- Überprüfen Sie Systemlast, CPU-Auslastung, RAM-Auslastung, Festplatte, Dateigrößenänderungen, Berechtigungsänderungen usw.
- Überwachen Sie verschiedene Protokolle HTTP, FTP, SSH, POP, IMAP, LDAP, IMAP und SMTM.
- Logging über Syslog oder eigenes Logfile.
In diesem Tutorial erklären wir, wie Monit unter Debian 9 eingerichtet und verwendet wird.
Anforderungen
- Ein frischer Debian 9-Server, der auf Ihrem System installiert ist.
- Root-Passwort wird auf Ihrem Server eingerichtet.
1.Aktualisieren Sie das System
Beginnen wir damit, Ihr System auf die neueste stabile Version zu aktualisieren. Sie können es mit dem folgenden Befehl aktualisieren:
apt-get update -y
apt-get upgrade -y
Sobald Ihr System aktualisiert ist, starten Sie Ihr System mit dem folgenden Befehl neu, damit diese Änderungen wirksam werden:
reboot
Melden Sie sich nach dem Neustart als Root-Benutzer an und fahren Sie mit dem nächsten Schritt fort.
2. Installation von Monit
Standardmäßig ist Monit im Ubuntu-Repository verfügbar. Sie können es einfach installieren, indem Sie den folgenden Befehl ausführen:
apt-get install monit -y
Sobald Monit installiert ist, starten Sie den Monit-Dienst und ermöglichen ihm, beim Booten zu starten, indem Sie den folgenden Befehl ausführen:
systemctl start monit
systemctl enable monit
Sie können den Status des Monit-Dienstes jederzeit überprüfen, indem Sie den folgenden Befehl ausführen:
systemctl status monit
3 Konfigurieren von Monit
Die Standardkonfigurationsdatei von Monit monitrc befindet sich im Verzeichnis /etc/monit/ und andere prozess- und serverspezifische Konfigurationsdateien befinden sich im Verzeichnis /etc/monit/conf-available/. Monit verfügt über eine integrierte Webschnittstelle, ist jedoch standardmäßig deaktiviert. Sie können es aktivieren, indem Sie die Datei /etc/monit/monitrc wie folgt bearbeiten:
nano /etc/monit/monitrc
Ändern Sie die Zeilen von:
# set httpd port 2812 and # use address localhost # only accept connection from localhost # allow localhost # allow localhost to connect to the server and # allow admin:monit # require user 'admin' with password 'monit'
An
set httpd port 2812 and allow admin:monit # require user 'admin' with password 'monit'
Speichern und schließen Sie die Datei, wenn Sie fertig sind, und starten Sie dann den Monit-Dienst neu, um diese Änderungen mit dem folgenden Befehl zu übernehmen:
systemctl restart monit
Sie können den Status des Monit-Dienstes mit dem folgenden Befehl überprüfen:
netstat -ant | grep :2812
Sie sollten die folgende Ausgabe sehen:
tcp 0 0 0.0.0.0:2812 0.0.0.0:* LISTEN 1615/monit tcp6 0 0 :::2812 :::* LISTEN 1615/monit
4 Zugriff auf die Monit-Webschnittstelle
Sie können über die URL http://192.168.0.227:2812 auf die Monit-Weboberfläche zugreifen und dann den Benutzernamen admin eingeben und Passwort monit . Sie sollten das Monit-Dashboard wie folgt sehen:
Sie können den Status von Minit mit dem folgenden Befehl anzeigen:
monit status
Sie sollten die folgende Ausgabe sehen:
System 'localhost' status Running monitoring status Monitored load average [0.68] [0.78] [0.45] cpu 0.0%us 0.0%sy 0.0%wa memory usage 294.1 MB [14.7%] swap usage 0 B [0.0%] data collected Mon, 07 Aug 2017 20:12:36
Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
5 Hinzufügen von Überwachungsdiensten
Sobald die Monit-Weboberfläche konfiguriert ist, müssen Sie Dienste hinzufügen, die Sie überwachen möchten.
Hier geben wir einige Beispiele zur Überwachung einiger Dienste wie Apache, Proftpd und Rsyslog.
Monit für den Apache-Dienst konfigurieren
Standardmäßig wird Monit mit der vordefinierten Vorlage für einige Prozesse und Dienste geliefert. Sie finden diese Vorlagen im Verzeichnis /etc/monit/conf-available/. Standardmäßig ist eine Vorlage für Apache in Monit verfügbar. Sie müssen es also nur aktivieren. Sie können es aktivieren, indem Sie den folgenden Befehl ausführen:
ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/
Als nächstes starten Sie monit servcie neu, um diese Änderungen mit dem folgenden Befehl zu übernehmen:
systemctl restart monit
Monit für den Rsyslog-Dienst konfigurieren
Aktivieren Sie zuerst die Rsyslog-Vorlage mit dem folgenden Befehl:
ln -s /etc/monit/conf-available/rsyslog /etc/monit/conf-enabled/
Starten Sie als Nächstes den Monit-Dienst neu, um diese Änderungen mit dem folgenden Befehl zu übernehmen:
systemctl restart monit
Monit für den Proftpd-Dienst konfigurieren
Die Vorlage für Proftpd ist mit Monit nicht verfügbar. Sie müssen also eine Konfigurationsdatei für Proftpd erstellen. Sie können dies tun, indem Sie eine proftpd-Datei im Verzeichnis /etc/monit/conf-available/ wie folgt erstellen:
nano /etc/monit/conf-available/proftpd
Fügen Sie 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
Speichern und schließen Sie die Datei, wenn Sie fertig sind, und aktivieren Sie dann die Konfigurationsdatei mit dem folgenden Befehl:
ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled
Überprüfen Sie als Nächstes die Konfigurationsdatei mit dem folgenden Befehl auf Syntaxfehler
monit -t
Starten Sie abschließend den Monit-Dienst neu, um diese Änderungen mit dem folgenden Befehl zu übernehmen:
systemctl restart monit
Nachdem Sie alle erforderlichen Dienste konfiguriert haben, greifen Sie auf die Webschnittstelle zu, um alle Dienste wie unten gezeigt zu überwachen:
Klicken Sie als Nächstes auf den Dienst Apache, um detaillierte Informationen über Apache anzuzeigen:
6 Überwachung von Monit über die Befehlszeile
Sie können Monit auch von der Befehlszeile aus überwachen. Sie können eine kurze Zusammenfassung von monit sehen, indem Sie den folgenden Befehl ausführen:
monit summary
Sie sollten die folgende Ausgabe sehen:
The Monit daemon 5.16 uptime: 0m Process 'rsyslogd' Initializing - start pending File 'rsyslogd_bin' Accessible File 'rsyslogd_rc' Accessible File 'rsyslog_file' Does not exist Process 'proftpd' Running Process 'apache' Execution failed File 'apache_bin' Accessible File 'apache_rc' Accessible System 'localhost' Running
Sie können den Status aller Dienste auch mit dem folgenden Befehl anzeigen:
monit status
Sie sollten die folgende Ausgabe sehen:
The Monit daemon 5.16 uptime: 0m Process 'rsyslogd' status Initializing - start pending monitoring status Initializing data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslogd_bin' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 585.3 kB timestamp Tue, 25 Oct 2016 11:38:40 checksum d71f3d1c58df065e3aac1e2c566a6436 (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslogd_rc' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 2.7 kB timestamp Tue, 25 Oct 2016 11:48:29 checksum a1ef1bb01ba370040d705c92fc09e92e (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslog_file' status Does not exist monitoring status Monitored data collected Mon, 07 Aug 2017 20:41:18 Process 'proftpd' status Running monitoring status Monitored pid 4915 parent pid 1 uid 0 effective uid 119 gid 65534 uptime 3m threads 1 children 0 memory 3.6 MB memory total 3.6 MB memory percent 0.2% memory percent total 0.2% cpu percent 0.0% cpu percent total 0.0% port response time 10.737 ms to [localhost]:21 type TCP/IP protocol FTP data collected Mon, 07 Aug 2017 20:41:18 Process 'apache' status Execution failed monitoring status Monitored data collected Mon, 07 Aug 2017 20:41:48 File 'apache_bin' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 647.0 kB timestamp Sat, 29 Jul 2017 22:19:09 checksum ef2a678bdcd791948ceabc3013d9a2c0 (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'apache_rc' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 7.9 kB timestamp Mon, 07 Aug 2017 20:40:33 checksum 744ef9ca584493299c353e2251cbf993 (MD5) data collected Mon, 07 Aug 2017 20:41:18 System 'localhost' status Running monitoring status Monitored load average [0.96] [0.60] [0.46] cpu 0.0%us 0.0%sy 0.0%wa memory usage 266.4 MB [13.3%] swap usage 2.1 MB [0.4%] data collected Mon, 07 Aug 2017 20:41:18
Führen Sie den folgenden Befehl aus, um detaillierte Informationen zum Proftpd-Dienst anzuzeigen:
monit status proftpd
Sie sollten die folgende Ausgabe sehen:
The Monit daemon 5.16 uptime: 2m Process 'proftpd' status Running monitoring status Monitored pid 4915 parent pid 1 uid 0 effective uid 119 gid 65534 uptime 6m threads 1 children 0 memory 3.6 MB memory total 3.6 MB memory percent 0.2% memory percent total 0.2% cpu percent 0.0% cpu percent total 0.0% port response time 7.945 ms to [localhost]:21 type TCP/IP protocol FTP data collected Mon, 07 Aug 2017 20:43:49
Herzliche Glückwünsche! Sie haben Monit erfolgreich auf Ihrem Debian 9-Server installiert und konfiguriert.