Hallo nochmal zusammen!
Ich wollte das Thema von Robert, Programm
Logwatch zu installieren in Verbindung mit
SendEmail noch mal aufgreifen.
Da ich für mich die fehlenden Zusammenhänge raus gefunden habe und die Herbstferien-Pause etwas überbrücke für die nicht Programmierer unter uns.
robsig12 hat geschrieben:
Damit man seinen Server unter Kontrolle hat ist es wichtig regelmäßig die Logdateien der laufenden Serverdienste zu checken. Unter /var/log/apache2 liegen beispielsweise die Logdateien des Apache-Servers. Nun wäre es sehr mühsam, sich jeden Tag über SSH einzuloggen und jede einzelne Logdatei via Hand zu kontrollieren.
Eine Menge Arbeit kann man sich mit Debianpackage.png logwatch sparen, welches täglich eine Zusammenfassung aller Logdateien erstellen und die Zusammenfassung dann an eine hinterlegte E-Mail Adresse schicken kann.
Installiert wir logwatch so:
Code:
root@debian:~$ apt-get install logwatch
Im Anschluss bearbeiten wir die Konfigurationsdatei "logwatch.conf":
Code:
root@debian:~$ nano /usr/share/logwatch/default.conf/logwatch.conf
dort setzen wir die Einstellungen auf:
Code:
MailTo = root
Output = mail
Format = text
Detail = Med
folgende Zeilen sollten wir mit einem # ausklammern:
Code:
#Service = "-zz-network" # Prevents execution of zz-network service, which
# prints useful network configuration info.
#Service = "-zz-sys" # Prevents execution of zz-sys service, which
# prints useful system configuration info.
#Service = "-eximstats" # Prevents execution of eximstats service, which
# is a wrapper for the eximstats program.
dann die Datei mit CTRL O abspeichern.
Cronjob für Logwatch anlegen (Mail-Versand)
Nach kurzer Überlegung fügen wir folgende Zeile in die "/etc/crontab" ein:
Code:
0 */12 * * * root /usr/sbin/logwatch --mailto meinname@meinedomain.de>/dev/null 2>&1
Die E-Mail Adresse muss angepasst werden, damit sie auch im richtigen Postfach ankommt. Der Cron-Daemon wird uns jetzt alle 12-Stunden eine Logwatch-Report via E-Mail schicken.
Weiterführend hier nachzulesen:
http://wiki.debianforum.de/Webserver_mi ... _und_MySQLUm von Logwatch in Verbindung mit SendEmail Daten zu bekommen sollten noch einige Einstellungen geändert werden.
Wir wollen die Ausgabe von logwatch nicht als Mail sondern in ein Datei speichern!
wir bearbeiten die Konfigurationsdatei "logwatch.conf" mit Rootrechten.
Joe oder nano die Datei:
Code:
/usr/share/logwatch/default.conf/logwatch.conf
[/code]
dort ersetzen wir die Einstellungen von:
Code:
#Output/Format Options
#By default Logwatch will print to stdout in text with no encoding.
#To make email Default set Output = mail to save to file set Output = file
Output = mail
#To make Html the default formatting Format = html
Format = text
#To make Base64 [aka uuencode] Encode = base64
Encode = none
auf:
Code:
#Output/Format Options
#By default Logwatch will print to stdout in text with no encoding.
#To make email Default set Output = mail to save to file set Output = file
Output = file
#To make Html the default formatting Format = html
Format = text
#To make Base64 [aka uuencode] Encode = base64
Encode = none
Änderung:
to file set Output = file
Wir bleiben in der Konfigurationsdatei "logwatch.conf" und aktivieren eine Ausgabe Datei.
dort ersetzen wir die Einstellungen von:
Code:
# if set, the results will be saved in <filename> instead of mailed
# or displayed. Be sure to set Output = file also.
# Filename = /tmp/logwatch
auf:
Code:
# if set, the results will be saved in <filename> instead of mailed
# or displayed. Be sure to set Output = file also.
Filename = /tmp/logwatch.txt
Desweiteren kann geändert werden:
Code:
MailTo = root
MailFrom = Logwatch
mailer = "/usr/sbin/sendmail -t"
auf:
Code:
# MailTo = root
# MailFrom = Logwatch
# mailer = "/usr/sbin/sendmail -t"
Wir haben in der Konfigurationsdatei logwatch Ausgabe in einer Datei Namens "logwatch.txt" im Verzeichnis tmp geändert, so wie Output = von mail auf file geändert.
Das "MailFrom = Logwatch" wird nicht mehr benötigt sowie "mailer = "/usr/sbin/sendmail -t" da ja keine Mail versendet wird aus wenn gewollt an root.
"MailTo = root" kann jeder selber für sich entscheiden ob er das benötigt, die Mail findet er dann in
Code:
/var/mail/mail
wieder.
Wir Speichern und führen folgenden Befehl im Terminal, um die logwatch im Betrieb zu testen.
Code:
sudo logwatch
Nach dem das Ausführen des Befehls abgeschlossen ist, überprüfen wir die Datei im Verzeichnis /tmp/logwatch.txt.
Joe oder nano die Datei:
Code:
/tmp/logwatch
Wenn die Datei ausgegeben wird und wir können Ihr Protokolle sehen, dann haben wir erfolgreich logwatch eingerichtet.
Jetzt testen wir für das Senden von E-Mail an sich selbst mit sendemail.
Code:
sudo sendEmail -v -f username@gmail.com -s smtp.gmail.com:587 -xu username -xp yourpassword -t your-normal-emailaddress -o tls=yes -u title goes here -m Message goes here -a /tmp/logwatch.txt
Wenn wir die Email erhalten haben, dann erstellen wir ein Shell-Skript, um automatisch jeden Tag mit Hilfe des Cron die Email zuerstellen.
Erstellen wir ein Shell-Skript. logwatch-sendemail.bash
Code:
Cd /xxx/xxx/
sudo Joe logwatch-sendemail.bash
In diese neue Datei wird folgender Inhalt kopiert:
Code:
#!/bin/bash
/usr/sbin/logwatch
sendEmail -v -f username@gmail.com -s smtp.gmail.com:587 -xu username -xp yourpassword -t your-normal-emailaddress -o tls=yes -u title goes here -m Message goes here -a /tmp/logwatch.txt
exit
Speichern und Beenden.
Ausführbar machen der Datei:
Code:
sudo chmod +x logwatch-sendemail.bash
Dann erstellen wir in /etc/cron.d/
Code:
sudo Joe /etc/cron.d/logwatch
In diese neue Datei wird folgender Inhalt kopiert:
Code:
00 11 * * * root /xxx/xxx/logwatch-sendemail.bash
Leerzeile nicht vergessen
Speichern und Beenden.
Jetzt erhalten wir per E-Mail jeden Tag um ca. 11.00 Uhr das Protokoll von logwatch.
oder wie bei Robert:
Zitat:
0 */12 * * * root /xxx/xxx/logwatch-sendemail.bash
Leerzeile nicht vergessen
Jetzt erhalten wir per E-Mail alle 12 Std. das Protokoll von logwatch.
Damit funktioniert Logwatch mit Benachrichtigung über SendEmail an von mir ausprobierten verschiedenen E.Mail Accounts ohne Probleme.Ein großer Nachteil hier ist die Klartext-Passwort.
Um die Sicherheit leicht zu verbessern "chmod 700".
Ich hoffe ich konnte den Ein oder Anderen nicht Linux User unter uns weiter helfen.
Quelle:
Ubuntu server/desktop log monitoring via email without the need of a mail server.http://ubuntuforums.org/showthread.php?t=1268015