Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> 初心者スクール:Linuxログ処理の内外を理解する

初心者スクール:Linuxログ処理の内外を理解する

  

UNIX /LINUXを使用する人は誰でもログの有用性を知っていますが、その後、これらのログ情報のLINUX処理の内外について知っていますか?

LINUXシステム情報ログには、次の2つの方法があります。

(1)dmesg view ----このコマンドの方が一般的です。

(2) /var /log /

以下の2つの方法から始めましょう。

(1)まず、共通コマンドdmesgを見てみましょう。何が隠れているのでしょう!!

(1)この男のMANに来てみましょう

------------- man dmesg ----- ---------------------

名前

dmesg - カーネルのリングバッファを表示または制御する

概要

dmesg [-c] [-n level] [-s bufsize]

説明
dmesgは、カーネルのリングバッファを調べたり制御したりするために使用されます。

プログラムは、ユーザが自分の起動メッセージをプリントアウトするのを手助けしますメッセージを手でコピーする代わりに、ユーザはただ必要なだけです:

dmesg> boot.messages


問題をデバッグできる人への.messagesファイル。

オプション

-c印刷後にリングバッファの内容を消去する。

-sbufsize

を使うカーネルのリングバッファを問い合わせるためのbufsizeのサイズのバッファこれはデフォルトで16392です(デフォルトのカーネルsyslogバッファサイズは最初は4096、1.3.54以降は8192、2.1.113以降は16384です)。デフォルトより大きくすると、このオプションを使用してバッファ全体を表示することができます。

-nlevel

コンソールへのメッセージのログ記録のレベルを設定します。パニックメッセージを含むすべてのメッセージがコンソールに表示されないようにするため、syslogd(8)を使用してカーネルメッセージの表示場所を正確に制御することができます。

-nオプションを使用すると、dmesgはカーネルのリングバッファを表示または消去しません。両方のオプションを使用すると、コマンドラインの最後のオプションだけが有効になります。

LINUXが提供するマニュアルから、dmesgが最も重要な情報はカーネルのリングバッファから情報を読み取ることであることがわかります。

(2)リングバッファとは何ですか?

でLINUXでは、すべてのシステム情報(パッケージカーネル情報)がリングバッファに転送され、カーネルによって生成された情報はprintk()によって印刷されます。システムの起動時に表示される情報は、画面の機能によって印刷されます。 printk()によって印刷された情報は、メッセージの重要度レベルを0 2の数で示す傾向がある。特定の優先順位が画面に表示されます。それ以外の場合は、システムのバッファ(リングバッファ)にのみ残ります。

特にdmesgのリングバッファからの読み方については、dmesg.cのソースコードを見ることができます。非常に短く、読みやすいです。

(b)dmesgの使い方/var /log /の下のファイルに関しては、あなたはそれに精通していて再びそれに精通することはできません!

(1)/var /log /..なぜそんなに多くのファイルがあるのですか? Br>

説明:syslogdデーモンは、/etc/syslog.confに従って、さまざまなサービスによって生成されたログをさまざまなファイルに記録します。

where /etc/syslog.conf詳細は触れませんが、多くの情報(確認してください)

(2)これで、/var /log /..がsyslogdデーモンによって生成されました。

Linuxシステムが起動した後、klogdとsyslogdは/etc/init.d/sysklogdによって起動されます。

klogdは、カーネルのprintk()から送られた情報をsyslog()システムコールまたはprocファイルシステムを通してシステムバッファから取得します。 klogdを使ってシステムのカーネル情報を読んでください。

この時点で、誰もがログの生成、読み取り、その他のアクションを感じるはずです。

要約:

(1)すべてのシステム情報がリングバッファに出力され、.dmesgで表示された内容もリングバッファから読み込まれます。

(2)/etc/init.d/sysklogd in LINUXシステム2つのデーモンを起動します。Klogd& Syslogd

(3)klogdはカーネル情報の読み取りを担当します。2つの方法があります。

syslog()システムコール(この関数の使用法)もっと包括的に、MANに行きましょう)

/proc /kmsgを直接読んでください(/proc /kmsgはカーネル情報を出力する場所です)

(4)Klogdの出力はsyslogdに送られて処理され、/etc/syslog.confの設定に従って、syslogdは/var /log /配下の異なるファイルにlog

情報を出力します。
zh-CN"],null,[1],zh-TW"]]]

Copyright © Windowsの知識 All Rights Reserved