システムログで重複した行をフィルタリングできますか?

システムログで重複した行をフィルタリングできますか?

お母さんのコンピュータには、Lexmarkドライバの行で埋められたsyslog / kern.logが表示されます。

Sep 22 21:01:20 pamela-desktop kernel: [48657.676578] usb 1-3: usbfs: process 1490 (demond_nscan) did not claim interface 3 before use
Sep 22 21:01:20 pamela-desktop kernel: [48657.676585] usb 1-3: usbfs: process 1490 (demond_nscan) did not claim interface 3 before use
Sep 22 21:01:20 pamela-desktop kernel: [48657.676592] usb 1-3: usbfs: process 1490 (demond_nscan) did not claim interface 3 before use

今、この値に必要な数を掛けると161GBになります。

sys/kern.logで重複した行をフィルタリングするスクリプトを作成し、それをcronジョブとして実行することに加えて、私ができることは他にありますか?

ベストアンサー1

syslogは重複した行を自動的に削除しますが、ここではカーネルがsyslogに送信する前にタイムスタンプ(開始後のマイクロ秒単位)を挿入するため、重複しません。

syslogタイムスタンプもログにスタンプを付けるので、このタイムスタンプは重複しているように見えるかもしれませんが、それとその粒度はカーネルの問題をデバッグするのに役立ちます(syslogタイムスタンプは正確ではなく、実際のイベントとそれを示すsyslogの間にあります)違いがあるかもしれないからです)。遅延が発生し、syslogに存在するか消えるので、出力でタイムスタンプを/var確認することをお勧めします。dmesg

次の手順を実行して、これらのkmsgタイムスタンプを無効にできます。

echo N | sudo tee /sys/module/printk/parameters/time

printk.time=Nまたは、Linuxカーネルのコマンドラインに渡すようにブートローダを設定して永久に作成します。

おすすめ記事