さまざまな理由で、/var/log/syslog
でコンピューターのログを確認する必要がありますが、開くたびに実際にそのファイルのログを表示できないため、これは少し問題になりました。 (使用するプログラムに関係なく)クラッシュします。たとえば、nano
、gedit
、cat
、またはメインのログ表示プログラムで開くと、データが多すぎるため、このようなクラッシュが発生しますロードするファイル:
本当に私の質問は、ビューアをクラッシュさせずにsyslog
を表示するにはどうすればよいですか?私は何か間違っていますか?または、誰もが使用するより良い方法がありますか?
Description: Ubuntu 15.04
Release: 15.04
TL; DR:
この問題は、ファイルvar/log/syslog
のサイズが非常に大きく、kernel
、特にufw
が大量のUFW_AUDIT
ログを定期的にダンプすることが原因でした。この問題を解決するには、LOGLEVEL
のufw
をlow
構成ファイル/etc/ufw/ufw.conf
でufw
として設定する必要があります。
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行の非常に大きな行があるため、logrorate
がrsyslog
に対してどのように構成されているかを確認する必要があります。
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
に関するものが見つかり、非常に定期的にログファイルに書き込みを行っていました。
ufw
がLOGLEVEL
以上に設定されている場合、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 ufw
のufw
セクションを確認してください。
less /var/log/syslog
を試してください
Shift-fを押してファイルの最後に移動し、tail -f /var/log/syslog
などの変更を監視します
ログファイルが表示されます。
それらにいくつかのゴミがあるか、Syslogアプリがそれらを表示するのを妨げているサイズの問題がある可能性があります。そのため、名前を変更して、Syslogアプリをもう一度開いてみてください。新しいログファイルが表示されるはずです。