web-dev-qa-db-ja.com

クラッシュせずに「/ var / log / syslog」の内容を表示する方法

さまざまな理由で、/var/log/syslogでコンピューターのログを確認する必要がありますが、開くたびに実際にそのファイルのログを表示できないため、これは少し問題になりました。 (使用するプログラムに関係なく)クラッシュします。たとえば、nanogeditcat、またはメインのログ表示プログラムで開くと、データが多すぎるため、このようなクラッシュが発生しますロードするファイル:

Main log veiwer GUI crashed

本当に私の質問は、ビューアをクラッシュさせずにsyslogを表示するにはどうすればよいですか?私は何か間違っていますか?または、誰もが使用するより良い方法がありますか?


OS情報:

Description:    Ubuntu 15.04
Release:    15.04
5
user364819

TL; DR:

この問題は、ファイルvar/log/syslogのサイズが非常に大きく、kernel、特にufwが大量のUFW_AUDITログを定期的にダンプすることが原因でした。この問題を解決するには、LOGLEVELufwlow構成ファイル/etc/ufw/ufw.confufwとして設定する必要があります。

Sudo sed -i '/^LOGLEVEL/s/=.*/=low/' /etc/ufw/ufw.conf

man ufwから:

Loglevels above medium generate a lot of logging output, and may 
quickly fill up your disk. Loglevel medium may generate a lot of 
logging output on a busy system.

詳細:

エラーが発生する多くの理由があるかもしれません

Stream has outstanding operation

示されています。最も一般的な2つのファイルはサイズが大きすぎて読み取ることができず、ファイルには読み取りできない異常な内容が含まれています。

最初に、最初の原因、つまりファイルが大きすぎると考えました(これまでに行った手順を1つずつ示します)。

  • 最初に、/var/log/syslogに何行あるかを確認する必要がありますが、これは非常に珍しいことが判明しました。

    $ wc -l /var/log/syslog
    1308061 /var/log/syslog
    
  • ファイルには1308061行の非常に大きな行があるため、logroratersyslogに対してどのように構成されているかを確認する必要があります。

    sed -n '/\/var\/log\/syslog/,/^}$/p' /etc/logrotate.d/rsyslog
    

これは、/var/log/syslogが毎日ローテーションし、1週間より古いログが削除されることを示しています。これはデフォルトです。

  • 次に、/var/log/syslogをチェックして、次のコマンドを使用してファイルにほとんどのログを書き込んでいるプロセスを確認する必要があります。

    less /var/log/syslog | tr -s ' ' | cut -d' ' -f5 | sort | uniq -c | sort -rn
    

これにより、ファイル内のほとんどの行に書き込まれたプロセスが降順に表示されます。 kernelがファイルに書き込みを行い、その数が非常に多くなっていることがわかりました(1761519)。次はthermaldで、いくつかのプロセスが約5K回書き込まれます。

  • この異常の原因として1kernel1を考慮すると、定期的に発生する/var/log/syslogのパターンを次の方法で確認しました。

    grep "kernel" /var/log/syslog | less 
    

そしてUFW AUDITに関するものが見つかり、非常に定期的にログファイルに書き込みを行っていました。

  • ufwLOGLEVEL以上に設定されている場合、mediumはこれらのメッセージをダンプします。現在の値を見つけるには:

    $ grep -i "^loglevel" /etc/ufw/ufw.conf
    LOGLEVEL=full
    

これが問題の原因です。これらの通常のメッセージを取り除くには、LOGLEVEL=lowである必要があり、ほとんどの場合はそれで十分です。 man ufwから:

low    logs all blocked packets not matching the default policy 
(with rate  limiting), as well as  packets  matching  logged rules.

LOGGINGロギングの詳細については、man ufwufwセクションを確認してください。

6
heemayl

less /var/log/syslogを試してください

Shift-fを押してファイルの最後に移動し、tail -f /var/log/syslogなどの変更を監視します

ログファイルが表示されます。

それらにいくつかのゴミがあるか、Syslogアプリがそれらを表示するのを妨げているサイズの問題がある可能性があります。そのため、名前を変更して、Syslogアプリをもう一度開いてみてください。新しいログファイルが表示されるはずです。

6
danb4r