hai*_*img 51 linux centos console syslog
我正在使用 Centos 6,rsyslog 日志记录。控制台充斥着内核消息。
仍然有一些东西充斥着我的控制台,内核日志消息。它是什么以及如何让它停止?
更新:这些是内核(硬件、iptables 等)生成的消息,从 出去的东西/proc/kmsg
,像这样:
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
Dav*_*fer 40
要在运行时设置值,请使用sysctl
. (我想一个人也可以/proc/sys/kernel/printk
直接写信,显然你也可以dmesg -n CUR
像这里描述的那样使用)
展示:
# sysctl kernel.printk
kernel.printk = 2 4 1 7
Run Code Online (Sandbox Code Playgroud)
输出中的分隔符是单个制表符,顺便说一句。
放。这里的分隔符只是空格。也有效。
# sysctl -w kernel.printk="2 4 1 7"
kernel.printk = 2 4 1 7
# sysctl kernel.printk
kernel.printk = 2 4 1 7
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅man sysctl
“在运行时配置内核参数”。
提醒上面布赖恩给出的严重级别和kernel.printk的四个值:
在我的 CentOS 上:7 4 1 7
CUR DEF MIN BTDEF
0 - emergency x x
1 - alert x x x
2 - critical x x
3 - error x x
4 - warning x x x
5 - notice x x
6 - informational V V
7 - debug
Run Code Online (Sandbox Code Playgroud)
这太吵了,我只想要关键和向上(没有错误)。未标记的消息应该被视为警告,所以 DEF 是好的:
CUR DEF MIN BTDEF
0 - emergency x x
1 - alert x x x
2 - critical x x
3 - error V V
4 - warning x
5 - notice
6 - informational
7 - debug
Run Code Online (Sandbox Code Playgroud)
设置为:3 4 1 3
Zor*_*che 31
我建议你改变你的/etc/sysctl.conf
. 具体来说,您想调整kernel.printk行。
# Uncomment the following to stop low-level messages on console
kernel.printk = 3 4 1 3
Run Code Online (Sandbox Code Playgroud)
我不确定 centos 的默认设置是什么,但我似乎设置的东西比你需要的更详细。
另请参阅有关伐木的shorewall部分。您不必使用 LOG 目标进行日志记录,您可以使用其他工具,或调整日志严重性,并进行调整以控制消息的去向。
小智 13
您还可以使用以下命令暂时禁止所有内核日志记录到控制台:
sudo dmesg -n 1
Run Code Online (Sandbox Code Playgroud)
另见:https : //askubuntu.com/questions/97256/how-do-i-disable-messages-or-logging-from-printing-on-the-console-virtual-termin
小智 12
我发现这也很有帮助。在基于 RHEL 的发行版上,您可以cat /proc/sys/kernel/printk
查看当前的设置。
在printk 文件中可以找到四个值。这些值中的每一个都定义了处理错误消息的不同规则。第一个值称为控制台日志级别,定义打印到控制台的消息的最低优先级。(请注意,优先级越低,日志级别编号越高。)第二个值为没有附加明确日志级别的消息设置默认日志级别。第三个值为控制台日志级别设置可能的最低日志级别配置。最后一个值设置控制台日志级别的默认值。
不再支持使用 /etc/sysconfig/init 中的 LOGLEVEL 参数来设置控制台日志级别。要在 Red Hat Enterprise Linux 6 中设置控制台日志级别,请将 loglevel=' 作为引导时间参数传递。例如,loglevel=6 将打印所有小于 6(不等于仅小于)的消息。
归功于:
根据 RedHat 的说法,这是执行此操作的“官方”方法:
要在 Red Hat Enterprise Linux 6 中设置控制台日志级别,请将 loglevel=<number> 作为引导时间参数传递。
归档时间: |
|
查看次数: |
150943 次 |
最近记录: |