Auf unseren Linux-Systemen wird standardmäßig das Dienstprogramm logwatch (8) ausgeführt . Auf einem RedHat / CentOS / SL-System wird Logwatch vom /etc/cron.daily/
Cronjob aufgerufen, der dann eine tägliche E-Mail mit den Ergebnissen sendet. Diese E-Mails haben einen Betreff wie:
Subject: Logwatch for $HOSTNAME
Das Problem ist, dass diese täglichen E-Mails standardmäßig zu laut sind und eine Menge überflüssiger Informationen (HTTP-Fehler, tägliche Datenträgerverwendung usw.) enthalten, die bereits von anderen Diensten (Nagios, Cacti, zentrales Syslog usw.) überwacht werden. Bei 100 Systemen ist die E-Mail-Belastung unerträglich. Die Leute ignorieren die E-Mails, was bedeutet, dass wir möglicherweise Probleme übersehen, die von der Logwatch erfasst werden.
Wie kann ich das durch Logwatch verursachte Rauschen reduzieren und trotzdem Logwatch verwenden, um uns über erhebliche Probleme zu informieren?
Ich werde meine eigene Antwort unten posten, aber ich würde gerne sehen, was andere getan haben.
Hinweis : Ich habe eine ähnliche Frage zu FreeBSD, bei FreeBSD: periodic (8) ist zu laut. Wie kann ich den Geräuschpegel steuern?
quelle
Ja - Logwatch ist oft zu laut. Sie haben bereits erwähnt, dass Überprüfungen vollständig deaktiviert werden sollen.
Wenn Sie dies nicht möchten, müssen Sie verhindern, dass bestimmte Ereignisse auftreten. Zum Beispiel ist es nicht interessant, wenn Nagios über SSH eine Verbindung zu einem DMZ-System herstellt. Ist aber interessant, wenn es andere Logins via ssh gibt.
Wir verwenden rsyslog anstelle von ksyslogd (installieren Sie zuerst rsyslog und entfernen Sie dann ksyslogd). Mit rsyslog können Sie feineinstellen, was in die Protokolle geschrieben wird und was nicht (z. B. einen Ausdruck erstellen, der Nachrichten von sshd löscht, die "nagios connected" enthalten). Auf diese Weise gibt logwatch nur nützliche Informationen aus.
Ein anderer Fall könnte xinetd sein - ich möchte nicht über erfolgreiche Verbindungen informiert werden - dies kann in xinetd selbst konfiguriert werden - ohne die Logwatch-Prüfung für xinetd zu deaktivieren.
quelle
Als Punkt von Interesse folgte ich Option 2 aus der Antwort von Stefan Lasiewski, aber für meine Zwecke wollte ich nur bestimmte Zeilen einschließen, anstatt alle Geräusche auszuschließen, die ich nicht wollte.
Ich habe vsftpd so konfiguriert, dass ich es erstellt habe,
/etc/logwatch/conf/services/vsftpd.conf
und anstatt so etwas wie*Remove = testuser
das Entfernen von Zeilen, die den Text enthalten, habetestuser
ich die Zeile verwendet,*OnlyContains = "testuser"
die nur Zeilen mit diesem Text zurückgibt.Diese 2 Skripte funktionieren im Grunde genommen mit
grep
undgrep -v
.Der Unterschied besteht darin, dass Sie
*Remove
so oft verwenden können, wie Sie möchten, aber*OnlyContains
Sie müssen es einmal verwenden, wenn Sie etwas oder etwas anderes oder etwas anderes möchten. Also für mehrere Werte, die Sie tun*OnlyContains = "testuser|testuser2|testuser3"
quelle
Haben Sie darüber nachgedacht, die E-Mail-Statusnachrichten an einen Listenserver weiterzuleiten, der möglicherweise Digests basierend auf programmierbaren Attributen für Größe und / oder Dauer / Alter bereitstellt? Der Ansatz reduziert nicht die Anzahl der E-Mails, sondern kann die Anzahl der einzelnen E-Mails durch Stapeln steuern, um die E-Mail-Häufigkeit zu verringern.
quelle
Ich musste kürzlich die Ausgabe vom sshd-Dienst leiser machen. Einige der Abschnitte waren ziemlich lang und konnten nicht durch Einstellen der Detailstufe gesteuert werden.
Es ist keine ideale Lösung, aber ich habe das sshd- Skript überschrieben, indem ich es von hier kopiert habe:
/usr/share/logwatch/scripts/services/sshd
nach hier:/etc/logwatch/scripts/services/sshd
Natürlich müssen Sie jetzt über alle Aktualisierungen dieser Skriptdatei auf dem Laufenden bleiben, aber Sie können damit sehr genau steuern, was ausgegeben wird. Alternativ könnte man die Ausgabe auch
logwatch
durch ein Tool wieawk
odersed
herausfiltern, was man nicht will, aber das erschien mir schwieriger.quelle
Ich hatte die gleiche Frage zu UNIX & Linux Stackexchange und hier ist die Antwort, die ich für mich korrigiert habe:
Sie können logwatch anweisen, 7 Tage anstatt 1 Tag anzuzeigen, indem Sie den Parameter Range in Ihrem ändern
logwatch.conf
:Sie können festlegen
logwatch
, dass wöchentlich statt täglich ausgeführt werden soll, indem Sie es aus dem wöchentlichen Cron-Verzeichnis in das tägliche Verzeichnis verschiebencron
Verzeichnis verschieben:Danke an @JeffSchaller
quelle