LinuCレベル1 102試験の例題と解説
1.09.2システムのログ
LinuCレベル1102試験の試験範囲から「1.09.2 システムのログ」についての例題を解いてみます。
ここでは、ファシリティ/プライオリティの設定と動きについて確認しておきましょう。
例題
「/etc/rsyslog.conf」
*.info;mail.none;authpriv.none;cron.none /var/log/messages
上記設定に対する説明として正しいものを全て選択してください。
- ファシリティがuser、プライオリティがinfoのログは「/var/log/messages」に出力される
- ファシリティがmail、プライオリティがdebugのログは「/var/log/messages」に出力される
- ファシリティがauth、プライオリティがwarnのログは「/var/log/messages」に出力される
- ファシリティがcron、プライオリティがinfoのログは「/var/log/messages」に出力される
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1」と「3」です。
rsyslogデーモンは、アプリケーションなどが出力するメッセージを集めてログファイルに出力します。
ログ出力先は、「/etc/rsyslog.conf」ファイルで設定することができます。設定ファイルの記述方法の一つに、ファシリティとプライオリティを条件として、ログファイルを指定する方法があります。
構文は以下の通りです。
ファシリティ.プライオリティ 出力先ファイルパス
なお、条件(ファシリティとプライオリティ)を複数指定したい場合は、セミコロン(;)でつなげます。
ログを分類するファシリティには以下の種類があります。
ファシリティ名 | 概要 | |
kern | : | カーネルのメッセージ |
user | : | ユーザープロセスのメッセージ |
: | メールシステムのメッセージ | |
daemon | : | システムデーモンのメッセージ |
auth | : | 認証サービスのメッセージ |
syslog | : | syslogdによる内部メッセージ |
lpr | : | プリンタサービスのメッセージ |
news | : | ニュースサービスのメッセージ |
uucp | : | uucp転送を行うプログラムのメッセージ |
cron | : | cronのメッセージ |
authpriv | : | 認証サービスのメッセージ |
ftp | : | ftpサービスのメッセージ |
local0~local7 | : | ローカル利用用 |
メッセージの優先度であるプライオリティには以下の種類があります。(優先度が高い順に記載しています)
プライオリティ名 | 概要 | |
emerg | : | システムが動作しないような状態 |
alert | : | 緊急で対応すべきエラー |
crit | : | 致命的なエラー |
err | : | 一般的なエラー |
warn | : | 警告 |
notice | : | 通知 |
info | : | 情報 |
debug | : | デバッグ情報 |
プライオリティの前に、イコール(=)をつけると指定されたプライオリティのみ選択されます。
一方、プライオリティの前に何もつけない場合は、指定されたプライオリティもしくは、それよりも高いプライオリティが選択されます。また、プライオリティの前に、感嘆符(!)をつけた場合は指定したプライオリティ以外のプライオリティ全てが選択されます。
この他に、アスタリスク (*) を使用してすべてのファシリティもしくはプライオリティを定義することもできます。
また、プライオリティに「none」を指定した場合は、「そのファシリティの出力を行わない」という設定になります。
それでは、例題の設定を確認します。
*.info;mail.none;authpriv.none;cron.none /var/log/messages
条件にマッチしたログは、「/var/log/messages」に出力するという設定で、条件はセミコロン(;)を用いて4つ設定されていることが分かります。
*.info | : | すべてのファシリティ (*) でinfoもしくはinfoより高い優先度を選択 |
mail.none | : | mailのファシリティの出力は行わない |
authpriv.none | : | authprivのファシリティの出力は行わない |
cron.none | : | cronのファシリティの出力は行わない |
それでは選択肢を見ていきます。
「1. ファシリティがuser、プライオリティがinfoのログは「/var/log/messages」に出力される」
正解です。
条件の1つ目「*.info」にマッチするため、「/var/log/messages」にログが出力されます。
「2. ファシリティがmail、プライオリティがdebugのログは「/var/log/messages」に出力される」
不正解です。
条件の2つ目「mail.none」にマッチするため、「/var/log/messages」にはログは出力されません。
「3. ファシリティがauth、プライオリティがwarnのログは「/var/log/messages」に出力される」
正解です。
プライオリティwarnは、infoよりも優先度の高いプライオリティです。
よって、条件の1つ目「*.info」にマッチするため、「/var/log/messages」にログが出力されます。
「4. ファシリティがcron、プライオリティがinfoのログは「/var/log/messages」に出力される」
不正解です。
条件の4つ目「cron.none」にマッチするため、「/var/log/messages」にはログは出力されません。
ログは障害調査や状況確認の際に、重要な手がかりの一つとなります。
大量のログから素早く情報を確認するためにも、条件によってログの出力先を分けられるようにしておきましょう。
例題作成者
株式会社デージーネット OSS研究室 橋本 知里