# cat /proc/version
Linux version 2.6.32-042stab125.5 ([email protected]) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Tue Oct 17 12:48:22 MSK 2017
对于我的 iptables 中的日志链。
Chain LOGGING (2 references)
target prot opt source destination
LOG tcp -- anywhere anywhere tcp dpt:ssh limit: avg 2/min burst 5 LOG level debug prefix "drop port 22"
检查所有日志记录。
# dmesg
RGP=0
[404925.404804] drop port 22IN=venet0 OUT= MAC= SRC=111.111.111.111 DST=222.222.222.222 LEN=136 TOS=0x00 PREC=0x00 TTL=45 ID=23569 DF PROTO=TCP SPT=25103 DPT=22 WINDOW=282 RES=0x00 ACK PSH URGP=0
[404955.495105] drop port 22IN=venet0 OUT= MAC= SRC=111.111.111.111 DST=222.222.222.222 LEN=136 TOS=0x00 PREC=0x00 TTL=47 ID=34883 DF PROTO=TCP SPT=19703 DPT=22 WINDOW=296 RES=0x00 ACK PSH URGP=0
以下命令没有任何输出。
# journalctl --dmesg
-- No entries --
# cat /var/log/dmesg
# cat /var/log/messages |grep MAC
- 哪个文件包含 dmesg 显示的所有信息记录?
- Journalctl命令可以获取dmesg显示的所有输出吗?命令
输出有很多记录dmesg
,没有条目journalctl --dmesg
,为什么?
答案1
dmesg
在 Linux 上打印内核环形缓冲区的输出,而不是从日志文件中打印 - 这就是为什么你找不到它。在其他系统上可能不会出现这种情况。看这个问题更多细节。
要查看相同内容,journalctl
请使用-k
或--dmesg
选项。
$ journalctl --dmesg
-- Logs begin at Mon 2017-10-23 19:04:10 BST, end at Sun 2017-11-12 08:39:58 GMT. --
Oct 23 19:04:10 HP-Envy kernel: microcode: CPU0 microcode updated early to revision 0x62, date = 2017-04-27
Oct 23 19:04:10 HP-Envy kernel: Initializing cgroup subsys cpuset
Oct 23 19:04:10 HP-Envy kernel: Initializing cgroup subsys cpu
Oct 23 19:04:10 HP-Envy kernel: Initializing cgroup subsys cpuacct
Oct 23 19:04:10 HP-Envy kernel: Linux version 4.4.0-89-generic (buildd@lgw01-18) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 (Ubuntu 4.4.0-89.112-generic 4.4.76)
Oct 23 19:04:10 HP-Envy kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-89-generic root=UUID=a090cb63-4bf2-44e2-b7e1-cb5bd98cf75b ro quiet splash
Oct 23 19:04:10 HP-Envy kernel: KERNEL supported cpus:
...
请注意,虽然您可以使用 清除环形缓冲区,sudo dmesg clear
以便运行dmesg
不会产生输出,但它仍然存储在日志中,并且上述journalctl
命令仍然有效。
答案2
- 消息条目存储在 /var/log/ 中系统日志
journalctl -kf
应该满足。
答案3
我的vps类型是openvz,在kvm、garethTheRed和Alexander博士的指挥工作上测试一下。
在openvz中,vps日志不会写入/var/log/syslog(debian)或/var/log/messages(centos)。