ログの仕組み
OSやユーザープロセスの稼働に関するもの
ハードウェア関連の構成に関するもの
ハードウェアの稼働に関する情報はBIOSから直接取得
IA(Intel Architecture)系ハードウェアでよく見られる管理プロセッサ(システムやハードウェアを監視する専用のプロセッサ)を通しても取得
図4 ロギングシステムの相関図
printk()関数を呼び出すことで出力されるメッセージ
ログレベルを付加してリングバッファに格納
リングバッファ経由でカーネルメッセージを取得
syslogdへと送信する
コンソールログレベルよりも小さければコンソールにメッセージを出力
コンソールログレベルの設定
- cat /proc/sys/kernel/printk
4 4 1 7
- klogd -c <コンソールログレベル>
- dmesg -n <コンソールログレベル>
dmesgコマンド
リングバッファから任意にカーネルメッセージを取り出す
デフォルトではリングバッファから最大16Kバイト分のメッセージしか読み取らない
dmesg -s 262144 ->256Kバイト分のメッセージ
起動スクリプト中で、dmesg -s 131072 > /var/log/dmesg と記述されているに過ぎない
rsyslog
<facility>.<priority> <ログの配送先>
facilityとpriority
/usr/include/sys/syslog.h
- ユーザープロセスからsyslogにメッセージを送る
openlog()、syslog()、closelog()関数を使用
loggerコマンド
最終更新:2012年02月20日 01:40