Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
Monit
ist ein einfaches, aber effektives Programm zur Überwachung von Serverdiensten, kann aber auch wichtige Basisdaten wie CPU-Nutzung, Festplattenbelegung usw. einbeziehen. Falls ein Serverdienst ausfällt, kann er automatisch neu gestartet werden. Bei Problemen wird der Systemverwalter per E-Mail informiert. Zusätzlich gibt es eine kleine Status-Webseite. Die gleichen Funktionen, aber mit einer aufwendigeren grafischen Web-Oberfläche versehen, bietet Munin (welches aber keinen integrierten Webserver enthält). Eine Alternative kann z.B. Monitorix
sein, für das Fremdpakete angeboten werden.
Ursprünglich für einen einzelnen Server gedacht, gibt es mit M/Monit
auch eine kommerzielle Variante, die mehrere Server gleichzeitig (unter einer Oberfläche) überwachen kann.
Damit Monit beim Systemstart automatisch startet, muss in der Datei /etc/default/monit der Eintrag
startup=1
vorgenommen werden [2].
Das Programm wird mittels der Datei /etc/monit/monitrc konfiguriert. Obwohl diese Datei prinzipiell selbsterklärend ist und viele Beispiele enthält, hier ein auf das wesentliche verkürztes Muster (überwacht werden die Dienste Apache, MySQL, PostgreSQL und sshd):
## Monit settings
set daemon 120
set logfile syslog facility log_daemon
set mailserver server.domain.topleveldomain
set alert user@domain.topleveldomain # user will be informed via mail
set httpd port 2812 and
allow admin:monit # require user ‘admin’ with password ‘monit’
## Monitoring Apache2 Service
start program = "/etc/init.d/apache2 start"
stop program = "/etc/init.d/apache2 stop"
## Admin will notify by mail if below of the condition satisfied.
if loadavg(5min) greater than 10 for 8 cycles then stop
if 3 restarts within 5 cycles then timeout
group server
## Monitoring MySQL Service
check process mysql with pidfile /var/run/mysqld/mysqld.pid
group database
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout
## Monitoring PostgreSQL Service
check process postgresql-8.3 with pidfile /var/run/postgresql/8.3-main.pid
group database
start program = "/etc/init.d/postgresql-8.3 start"
stop program = "/etc/init.d/postgresql-8.3 stop"
if failed host 127.0.0.1 port 5432 then restart
if 5 restarts within 5 cycles then timeout
## Monitoring ssh Service
check process sshd with pidfile /var/run/sshd.pid
start program "/etc/init.d/ssh start"
stop program "/etc/init.d/ssh stop"
if failed port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeoutMit dem Befehl [3]:
sudo monit -t
wird die Konfigurationsdatei auf Fehler überprüft. Sind keine Fehler enthalten, erhält man folgende Rückmeldung:
Control file syntax OK
Weitere Hilfe erhält man mit der Manpage zu Monit.
Monit selbst wird wie jeder andere Dienst verwaltet. Zum Starten direkt nach der Installation und Konfiguration dient der Befehl:
sudo /etc/init.d/monit start
Besonders praktisch ist neben der Benachrichtigung per E-Mail die Möglichkeit, eine Status-Webseite über einen integrierten Mini-Webserver abzurufen: http://SERVER-IP_ODER_NAME:2812
Beim Zugriff muss man sich mit den in der Konfigurationsdatei hinterlegten Benutzerdaten authentifizieren. Die Webseite aktualisiert sich alle 3 Minuten automatisch. Einzelne Dienste ("Process") können darüber bei Bedarf auch manuell (neu) gestartet, gestoppt oder deaktiviert werden.
Bei einem Server, dessen Status über das Internet abgefragt werden soll, ist SSL-Verschlüsselung Pflicht! Ein "self-signed"-Zertifikat kann man sich mit ssl-cert erzeugen, die Einbindung zeigt der Artikel Enable SSL In Monit
im Monit-Wiki.
Bevor es Enttäuschungen gibt: viele E-Mail Provider blockieren die Annahme von Nachrichten nicht vertrauenswürdiger Absender. Dies ist leider im Spam-Zeitalter üblich und kein Problem von Monit. Bei GMX, Web.de & Co. sollte daher die eigene E-Mail Adresse als Absender und Empfänger verwendet werden.
Wiki
- FAQ, How-Tos und Konfigurationsbeispiele für verschiedene Dienste
Using monit with Ubuntu Server
- Monit und Upstart
Install monit from source on Ubuntu
- Monit aus dem Quelltext übersetzen
Netzwerk-Monitoring
Programmübersicht
Diese Revision wurde am 17. Oktober 2015 12:37 von aasche erstellt.
2004 – 2017 ubuntuusers.de • Einige Rechte vorbehalten