Używam Centos 6, rejestrowanie rsyslog. Konsola jest zalewana komunikatami jądra.
- Klogd nie działa (używam rsyslog)
- Konfiguracja Rsyslog nie przekierowuje niczego do konsoli
- Próbowałem nawet całkowicie zatrzymać rsyslog
Nadal coś zalewa moją konsolę komunikatami dziennika jądra. Co to jest i jak mogę to zatrzymać?
Aktualizacja : Są to komunikaty generowane przez jądro (sprzęt, iptables itp.), Rzeczy, które wychodzą /proc/kmsg
, takie jak to:
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
oknie, więc jeśli konsola jest zalana, nie przeszkadza mi to.)Odpowiedzi:
Proponuję zmienić swój
/etc/sysctl.conf
. W szczególności chcesz ulepszyć linię kernel.printk .Nie jestem pewien, jakie są domyślne ustawienia centos, ale wydaje mi się prawdopodobne, że rzeczy będą bardziej szczegółowe niż potrzebujesz.
Zobacz także sekcję dotyczącą ściany brzegowej dotyczącą logowania. Nie musisz używać celu LOG do rejestrowania, możesz używać innych narzędzi lub dostosowywać ważność dziennika i dostosowywać rzeczy, aby kontrolować, gdzie trafiają wiadomości.
źródło
Aby ustawić wartości w czasie wykonywania, użyj
sysctl
. (Podejrzewam, że można również pisać/proc/sys/kernel/printk
bezpośrednio i najwyraźniej można również użyć,dmesg -n CUR
jak opisano tutaj )Pokaz:
Separatory na wyjściu to pojedyncze tabulatory, btw.
Zestaw. Tutaj separatory są tylko spacjami. Działa również.
Zobacz
man sysctl
- „konfiguruj parametry jądra w czasie wykonywania”, aby uzyskać więcej.Przypomnienie o poziomach ważności i czterech wartościach jądra.printk podanych przez Briana powyżej:
W moim CentOS: 7 4 1 7
To jest zbyt głośne, chcę tylko krytyczne i do góry (bez błędów). Nieoznaczone wiadomości należy traktować jako ostrzeżenie, więc DEF jest dobry:
Ustaw na: 3 4 1 3
źródło
man klogctl
wyjaśnia także poziomy.Uznałem to również za pomocne. W dystrybucjach opartych na RHEL możesz
cat /proc/sys/kernel/printk
zobaczyć, jakie są twoje obecne ustawienia.Cztery wartości znajdują się w pliku printk. Każda z tych wartości definiuje inną regułę postępowania z komunikatami o błędach. Pierwsza wartość, zwana loglevel konsoli, określa najniższy priorytet komunikatów drukowanych na konsoli. (Należy pamiętać, że im niższy priorytet, tym wyższy numer loglevel). Druga wartość określa domyślny loglevel dla wiadomości bez dołączonego do nich jawnego lvelvel. Trzecia wartość określa najniższą możliwą konfigurację loglevel dla loglevel konsoli. Ostatnia wartość ustawia wartość domyślną dla konsoli loglevel.
Użycie parametru LOGLEVEL w / etc / sysconfig / init do ustawienia konsoli loglevel nie jest już obsługiwane. Aby ustawić loglevel konsoli w Red Hat Enterprise Linux 6, podaj loglevel = 'jako parametr czasu rozruchu. Na przykład loglevel = 6 wydrukuje wszystkie wiadomości mniejsze niż 6 (nie równe tylko mniej niż).
Kredyt dla:
źródło
Oto „oficjalny” sposób, aby to zrobić, zgodnie z RedHat :
źródło
Możesz także tymczasowo wyłączyć rejestrowanie jądra w konsoli za pomocą:
Zobacz także: https://askubuntu.com/questions/97256/how-do-i-disable-messages-or-logging-from-printing-on-the-console-virtual-termin
źródło
To, co widzisz, to komunikaty dziennika jądra drukowane na konsoli. To, jakie komunikaty dziennika docierają do konsoli, zależy od aktualnie ustawionego poziomu dziennika konsoli.
Gdy cmdline jądra zawiera
quiet
parametr jądra, wynikowy poziom logu konsoli to4
(tj. Błędy i gorzej). Bez tego jest ustawiony na7
(tj. Informacje i gorzej).Możesz wyświetlić parametry aktywnego jądra za pomocą
cat /proc/cmdline
i bieżącego poziomu dziennika konsoli za pomocąsysctl kernel.printk
. Można go dynamicznie zmieniać za pomocądmesg -n X
(lub nawet za pomocąsysctl -w
).Aby wprowadzić zmianę na stałe, możesz dodać parametry jądra do cmdline jądra (np.
quiet
I / lubloglevel=X
) lub dodać.conf
plik sysctl pod/etc/sysctl.d
.Parametr jądra można dodać w następujący sposób:
źródło
Ponieważ jest to witryna związana z przepełnieniem stosu, zacznę od stwierdzenia, że nie należy wyłączać wyjścia, należy usunąć błędy.
Jeśli jesteś w konsoli i nie widzisz nawet, co robisz z powodu wiadomości, spróbuj wpisać to.
sudo dmesg -D
To powinno sprawić, że będzie wystarczająco cicho, aby spojrzeć na inne rozwiązania.
źródło
Jeśli jesteś w prawdziwym zacięciu, możesz po prostu tymczasowo wyłączyć usługę syslog w przypadku wystąpienia takiej powodzi, że nie możesz poprawnie wyświetlić ani wpisać niczego.
źródło