Hier im Blog habe ich bereits einige Beiträge zum Versand von Statusmeldungen und Dateien von einem Raspberry Pi verfasst.
Damit auch Nachrichten an eine Empfänger-E-Mail versendet werden können, sind einige Pakete und ein paar Anpassungen erforderlich.
Der Artikel zum Einrichten und Konfigurieren ist in die Jahre gekommen, deshalb gibt es ein Update.
Postfixs resolv.conf und wpa-supplicant
In meinem gestrigen Beitrag habe ich beschrieben, wie man den WLAN-Zugriff über wpa-supplicant.conf konfigurieren kann. Leider hatte ich dabei ein kleines Problemchen im Zusammenspiel mit Postifx. Nachdem ich meinen Pi vom LAN getrennt habe und dieser nur noch Zugriff über WLAN hatte, funktionierte der Versand von E-Mail nicht mehr. Der Zugriff auf den kleinen PC via SSH war möglich, also hatte er eine IP via DHCP erhalten.
Nach ein wenig Recherche im Netz habe ich die Ursache gefunden. Postfix benötigt anscheinend einen deckungsgleichen Nameserver-Eintrag in den beiden Dateien
- /etc/resolv.conf
- /var/spool/postfix/etc/resolv.conf
Die Einträge lassen sich mit den wie folg anzeigen
/etc/resolv.conf
und
/var/spool/postfix/etc/resolv.conf
Bei mir hat der Nameserver in der Datei /var/spool/postfix/etc/resolv.conf gefehlt. Manuell konnte ich die /etc/resolv.conf kopieren und Postfix neustarten.
sudo cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf sudo service postfix restart
Eine Überprüfung von Postfix ergab dann keinen Fehler mehr
sudo postfix check
Damit war das Problem behoben und Postfix konnte wieder E-Mails versenden.
Leider wurde die /var/spool/postfix/etc/resolv.conf bei jedem Neustart des Raspberry Pis wieder zurückgesetzt. Postfix konnte dann wieder keine E-Mails versenden.
Ich kann leider keine Lösung für das Problem mit der wpa-supplicant.conf anbieten. Ich habe mein Problem so gelöst, dass ich die WLAN-Zugangsdaten direkt in die /etc/network/interfaces geschrieben habe. Damit funktioniert auch nach einem Neustart des Pis der Versand von E-Mails. Die Überprüfung von Postfix ergab keinen Fehler
sudo postfix check
In meinem Beitrag ➡ WLAN – Statische IP-Adresse vergeben beschreibe ich die Konfiguration der Datei /etc/network/interfaces.
Vielleicht hat jemand eine bessere Lösung, die auch die Benutzung der wpa-supplicant.conf erlaubt. Bin für jeden Hinweis dankbar.
Motion mit E-Mail-Versand
Ich habe vor kurzem eine kleine Überwachungskamera mit meinem Pi gebastelt, die auch nach einigen Tagen noch wunderbar funktioniert. Da ich die Bilder aber nur daheim im Netzwerk betrachten kann, habe ich noch zusätzlich einen E-Mail-Versand eingerichtet. Dadurch werden die erstellten Bilder automatisch an eine E-Mail-Adresse gesendet, die ich weltweit abrufen kann.
Nagios versendet E-Mails, wirklich?
Nagios versendet E-Mails, wirklich?
Der E-Mail-Versand von Meldungen ist ein zentraler Bestandteil von Nagios. Irgendjemand sollte über kritische Dinge in der IT-Infrastruktur informiert werden, um rechtzeitig reagieren zu können.
Nagios bietet ja die Möglichkeit an einzelne User oder an ganze Gruppen Mails zu versenden. Wo und wie das Ganze konfiguriert wird, findet sich in Contacts und Services in Nagios.
Das Eintragen von Mail-Adressen in die contacts.cfg ist aber noch nicht ausreichend, damit das Monitoringsystem die Mails auch versenden kann. Man benötigt also noch einen Mail Transfer Agent (MTA). Da mein Nagios auf einem Ubuntu Server läuft ist es naheliegend den MTA Postfix zu verwenden.
Installation
Die Installation ist denkbar leicht auszuführen, da alle benötigten Pakete in den Repositories enthalten sind. Es werden die Pakete benötigt:
- postfix
- libsasl2-modules
- bsd-mailx
Die Installation über die Konsole geht so
sudo aptitude install postfix libsas12-modules bsd-mailx
Konfiguration
Nach der Installation gehts an die Konfiguration des MTAs. Was man sich im voraus überlegen sollte, welche Art von MTA möchte ich verwenden. Es gibt mehrere Möglichkeiten. Eine Übersicht findet ihr hier wiki.ubuntuusers.de
Ich habe mich dazu entschieden einen Relayhost zu verwenden, d.h. der Nagios Server sendet mittels MTA seine Notifications an den richtigen Mail-Server und der sendet dann an die definierten Empfänger.
Die Konfiguration von Postfix ist anzupassen. Die main.cfg-Datei liegt im Verzeichnis /etc/postfix und muss angepasst werden.
Bevor ich hier lange herumrede, hier meine geänderte Passage
myhostname = server.netzwerk.de alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mydonaim = netzwerk.de myorigin = $mydomain mydestination = server.netzwerk.de, localhost relayhost = 192.168.2.1 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 200 recipient_delimiter = + inet_interfaces = all inet_protocols = all
Achtung:
In meiner Konfiguration ist keine Authentifizierung am Relayhost notwendig. Der Nagios-Server wurde fest dort eingetragen.
Die Konfiguration von Postfix für eine Authentifizierung ist im wiki.ubuntuusers.de zu finden.
Gebt auch darauf acht, dass ihr nicht den Postfix als Relayhost für andere Geräte konfiguriert. Wenn das passiert, dann kann es passieren das ihr eine Spamschleuder im eigenen Netzwerk habt, die über eure Domain die Werbemails versenden darf. Was das dann bedeutet, könnt ihr euch vorstellen … Blacklist für euere Domain … Mailannahme wird von Empfängern geblockt … HORROR.
Nun gut. Gehen wir davon aus, die Konfiguration von Postfix passt. Es muss aber noch gestestet werden.
Testphase
Öffnet als erstes ein Terminal, um in Echtzeit die geschriebenen Logeinträge zu verfolgen.
tail -f /var/log/mail.log
In einem zweiten Konsolenfester könnt ihr nun den Postfix steuern. Zuerst startet den MTA neu, damit er die geänderte Konfiguration (main.cfg) einlesen kann.
sudo /etc/init.d/postfix restart
Im letzten Schritt gehts darum, E-Mails an eine richtige E-Mail-Adresse zu versenden. Auf der Konsole den Befehl eingeben
Subject: Test Mail von meinem neuen Postfix Hallo Admin, dies ist eine Testmail von meinem neuen Postfix, der auf dem Nagios-Server läuft
Drückt nun Strg+D
Cc:
Kontrolliert beim Empfänger, ob eine Nachricht von Postfix eingetroffen ist.
Hat alles funktioniert, dann dauert es nur noch ein kleines Weilchen, bis die ersten Nagios Notifications eintreffen, je nachdem, wie das halt im Monitoring-System hinterlegt ist und welche Fehler es in eurer IKT-Struktur gibt.