Ich verwende Centos 6, rsyslog-Protokollierung. Die Konsole ist mit Kernelnachrichten überflutet.
- Klogd läuft nicht (ich benutze rsyslog)
- Rsyslog config leitet nichts an die Konsole
- Sogar versucht, rsyslog ganz zu stoppen
Trotzdem überschwemmt etwas meine Konsole mit Kernel-Logmeldungen. Was ist das und wie bringe ich es zum Stillstand?
Aktualisieren : Das sind die generierten Meldungen vom Kernel (Hardware, iptables, etc.), Material, der geht /proc/kmsg
, wie folgt aus :
Shorewall: pub2loc: DROP: IN = br0 OUT = MAC = xxx SRC = xxx DST = xxx LEN = 60 TOS = 0x00 PREC = 0x00 TTL = 128 ID = 15731 DF PROTO = TCP SPT = 63767 DPT = 3493 WINDOW = 8192 RES = 0x00 SYN URGP = 0
xterm
Fenster. Wenn die Konsole überflutet ist, stört mich das nicht.)Antworten:
Ich schlage vor, Sie ändern Ihre
/etc/sysctl.conf
. Insbesondere möchten Sie die Zeile kernel.printk optimieren .Ich bin nicht sicher, wie die Centos-Standardeinstellungen lauten, aber ich bin mir sicher, dass die Einstellungen ausführlicher sind, als Sie es benötigen.
Auch tun , um den sehen shorewall Abschnitt Protokollierung. Sie müssen das LOG-Ziel nicht für die Protokollierung verwenden, Sie können andere Tools verwenden oder den Schweregrad der Protokollierung anpassen und Dinge optimieren, um zu steuern, wohin Ihre Nachrichten gesendet werden.
quelle
Verwenden Sie, um die Werte zur Laufzeit festzulegen
sysctl
. (Ich nehme an man kann auch/proc/sys/kernel/printk
direkt schreiben und anscheinend kann man auchdmesg -n CUR
wie hier beschrieben verwenden )Anzeige:
Die Trennzeichen in der Ausgabe sind übrigens einzelne Registerkarten.
Einstellen. Hier sind die Trennzeichen nur Leerzeichen. Funktioniert auch.
Weitere
man sysctl
Informationen finden Sie unter - "Konfigurieren der Kernelparameter zur Laufzeit".Erinnerung an die Schweregrade und die vier Werte von kernel.printk, die Brian oben angegeben hat:
Auf meinem CentOS: 7 4 1 7
Das ist zu laut, ich will nur kritisch und auf (keine Fehler). Nachrichten ohne Label sollten als Warnung betrachtet werden, daher ist DEF gut:
Eingestellt auf: 3 4 1 3
quelle
man klogctl
erklärt auch die Ebenen.Ich fand das auch hilfreich. In RHEL-basierten Distributionen können Sie
cat /proc/sys/kernel/printk
sehen, wie Ihre aktuellen Einstellungen lauten.Die Druckdatei enthält vier Werte. Jeder dieser Werte definiert eine andere Regel für den Umgang mit Fehlermeldungen. Der erste Wert, der als Konsolen-Loglevel bezeichnet wird, definiert die niedrigste Priorität von Nachrichten, die an die Konsole gesendet werden. (Je niedriger die Priorität, desto höher ist die Google-Level-Nummer.) Mit dem zweiten Wert wird der Standard-Google-Level für Nachrichten festgelegt, an die kein expliziter Google-Level angehängt ist. Der dritte Wert legt die niedrigstmögliche Google-Level-Konfiguration für das Konsolen-Google-Level fest. Der letzte Wert legt den Standardwert für das Konsolen-Loglevel fest.
Die Verwendung des LOGLEVEL-Parameters in / etc / sysconfig / init zum Festlegen des Konsolen-Loglevels wird nicht mehr unterstützt. Übergeben Sie loglevel = 'als Parameter für die Startzeit, um den Konsolen-Loglevel in Red Hat Enterprise Linux 6 festzulegen. Beispiel: loglevel = 6 gibt alle Nachrichten aus, die kleiner als 6 sind (ungleich weniger als).
Gutschrift auf:
quelle
Hier ist der "offizielle" Weg, dies zu tun, laut RedHat :
quelle
Sie können auch die gesamte Kernel-Protokollierung in der Konsole vorübergehend unterdrücken, indem Sie Folgendes verwenden:
Siehe auch: https://askubuntu.com/questions/97256/how-do-i-disable-messages-or-logging-from-printing-on-the-console-virtual-termin
quelle
Was Sie sehen, sind Kernel-Log-Meldungen, die an die Konsole gesendet werden. Welche Protokollnachrichten die Konsole erreichen, hängt von der aktuell eingestellten Konsolenprotokollstufe ab.
Wenn die Kernel-Cmdline den
quiet
Kernel-Parameter enthält, ist die resultierende Konsolenprotokollstufe4
(dh Fehler und Schlimmeres). Ohne es ist es auf7
(dh info und schlechter) gesetzt.Sie können die aktiven Kernelparameter mit
cat /proc/cmdline
und Ihre aktuelle Konsolenprotokollstufe mit anzeigensysctl kernel.printk
. Sie kann mitdmesg -n X
(oder sogar mitsysctl -w
) dynamisch geändert werden .Um die Änderung dauerhaft zu machen, können Sie Kernel-Parameter zu kernel cmdline hinzufügen (z. B.
quiet
und / oderloglevel=X
) oder eine sysctl-.conf
Datei unter hinzufügen/etc/sysctl.d
.Der Kernel-Parameter kann folgendermaßen hinzugefügt werden:
quelle
Da es sich um eine Website mit Stapelüberlauf handelt, sage ich zunächst, dass Sie die Ausgabe nicht ausschalten, sondern die Fehler beheben sollten.
Wenn Sie sich in einer Konsole befinden und aufgrund der Meldungen nicht einmal sehen können, was Sie tun, geben Sie dies ein.
sudo dmesg -D
Das sollte es ruhig genug machen, um sich die anderen Lösungen anzusehen.
quelle
Wenn Sie sich in einem echten Stau befinden, können Sie den Syslog-Dienst nur vorübergehend deaktivieren, falls es eine solche Flut gibt, dass Sie nichts richtig anzeigen oder eingeben können.
quelle