====== Monitoring ====== Mit dem kleinen und schnellen Programm [[http://mmonit.com/monit/|monit]] kann man den Raspberry Pi überwachen. Auf einer Weboberfläche kann man sich den Status von Prozessen, Programmen, Geräten, usw. anzeigen lassen. Außerdem kann man sich über den Status per eMail benachrichtigen lassen. ===== Installation ===== Es muss das Paket //monit// installiert werden: <code terminal> sudo apt-get install monit </code> Damit //monit// beim Start des Pi automatisch startet, trägt man in der Datei ///etc/default/monit// startup=1 ein. ===== Konfiguration ===== Die zentrale Datei zur Konfiguration von //monit// ist ///etc/monit/monitrc//. Welche Eintragungen man hier machen kann, wird im Folgenden beschrieben. Hat man hier eine Änderung gemacht, muss man //monit// mit <code terminal> sudo /etc/init.d/monit restart </code> neu starten. ==== Weboberfläche von monit aus dem lokalen Netz erreichen ==== {{ :raspberrypi:monit.png?500|Monit Weboberfläche}}Damit man die Weboberfläche von //monit// aus dem lokalen Netz erreichen kann, trägt man in der Datei ///etc/monit/monitrc// set httpd port 2812 and allow admin:geheim ein. Danach kann man über die Adresse //http:%%//%%IP-vom-Pi:2812// die Weboberfläche aus dem lokalen Netz erreichen((Will man die Weboberfläche auch aus dem Internet erreichen, muss man eine [[uu>Portweiterleitung]] für den Port 2812 im Router einrichten.)). Man wird dann zunächst aufgefordert, den Benutzernamen //admin// und das Passwort //geheim// einzugeben; Danach gelangt man auf die Übersichtsseite (s. Abb. rechts). Hier werden zunächst nur Informationen über das System angezeigt. Man kann aber in der Datei ///etc/monit/monitrc// Prozesse, Geräte, Dateien, usw. angeben die überwacht und hier angezeigt werden sollen. Dies wird im folgenden erklärt. ==== Prozesse überwachen ==== Um z. B. den ssh-Server zu überwachen, trägt man in der Datei ///etc/monit/monitrc// 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 timeout ein. Die beiden if-Statements beschreiben hierbei, was getestet werden, und wie darauf reagiert werden soll. Weitere Erklärungen und Möglichkeiten der Prozessüberwachung findet man in der [[http://mmonit.com/monit/documentation/monit.html#service_tests|Dokumentation]]. ==== Dateisystem überwachen ==== Die beiden folgenden Zeilen sorgen dafür, dass die beiden angegebenen Mountpunkte überwacht werden. Informationen darüber werden z. B. in der Weboberfläche angezeigt. check device usb with path /dev/sda2 check device root with path /dev/root ==== Dateien überwachen ==== Der folgende Eintrag überwacht das Änderungsdatum einer Datei. check file cron.log with path /var/log/cron.log if timestamp > 24 hour then alert In diesem Fall wird gewarnt, wenn die Datei älter als 24 Stunden ist. So kann man z. B. überwachen, ob ein [[uu>Cron]]job ausgeführt wurde.((//Hinweis:// Die Datei ///var/log/cron.log// wird nicht standardmäßig bei einem [[uu>Cron]]job angelegt. In diesem wird ein Script via cron ausgeführt und die Ausgabe des Scripts in ///var/log/cron.log// geschrieben.)) ==== Weitere Einstellungen ==== Es gibt eine Vielzahl weiterer Möglichkeiten der Überwachung. Es ist auch möglich, eine eMail-Benachrichtigung einzurichten. Die [[http://mmonit.com/monit/documentation/monit.html|Dokumentation]] hilft in diesen Fällen weiter. ===== SSL Verschlüsselung einrichten ===== Hat man man auf seinem Router eine Portweiterleitung eingerichtet, so dass man auch aus dem Internet auf die Monit-Weboberfläche zugreifen kann, so sollte man eine [[wp>Transport_Layer_Security|SSL]]-Verschlüsselung einrichten. Passwörter und andere Daten werden dann nicht im Klartext übermittelt. Zunächst muss mein ein Zertifikat erzeugen. Dazu benötigt man das Paket //openssl//: <code terminal> sudo apt-get install openssl </code> Dann generiert man mit den beiden Befehlen <code terminal> sudo openssl req -new -x509 -days 3650 -nodes -out /etc/monit/monit.pem -keyout /etc/monit/monit.pem </code> und <code terminal> sudo openssl gendh 512 >> /etc/monit/monit.pem </code> ein Zertifikat. Beim ersten Befehl wird man nach einige Daten gefragt. Man muss bei //common name// den Rechnernamen de Pi angeben, die anderen Eingaben kann man ignorieren.\\ Das Zertifikat wird in ///etc/monit/monit.pem// gespeichert. Als nächstes ändert man die Zugriffsrechte: <code terminal> sudo chmod 700 /etc/monit/monit.pem </code> In der Datei ///etc/monit/monitrc// ändert man nun den Eintrag den man [[#weboberflaeche_von_monit_aus_dem_lokalen_netz_erreichen|oben]] gemacht hat, so ab: set httpd port 2812 SSL ENABLE PEMFILE /etc/monit/monit.pem ALLOWSELFCERTIFICATION allow admin:geheim und startet //monit// neu: <code terminal> sudo /etc/init.d/monit restart </code> Nun kann man //monit// unter der Adresse //http__s__:%%//%%<IP-oder-Name>:2812// verschlüsselt erreichen.

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
49 +15 = ?
 
 
raspberrypi/monitoring.txt · Zuletzt geändert: 2013/11/13 22:28 von admin