# 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、およびDr. Alexanderのコマンドタスクでテストしてみてください。
openvzでは、vpsログは/var/log/syslog(debian)または/var/log/messages(centos)に書き込まれません。