rsyslogでは「/usr/sbin」ディレクトリーにある「rsyslogd」という常駐プログラム(デーモン)でログの収集や転送を実施しています。rsyslogdの設定ファイルは「/etc/rsyslog.conf」です。Ubuntu Server 16.04 LTSの/etc/rsyslog.confファイルは、次のような内容になっています。「#」で始まる箇所は、コメントなので取り除いています。矢印(←)以下にそれぞれの行の意味を記しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
module(load="imuxsock") ← ソケット経由でログを受け取るためのモジュールを読み込む module(load="imklog") ← カーネルからログを受け取るためのモジュールを読み込む $KLogPermitNonKernelFacility on ← カーネルログに含まれるカーネル以外のメッセージも取得する $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat ← ログファイルのフォーマットを「RSYSLOG_TraditionalFileFormat」に指定する $RepeatedMsgReduction on ← 繰り返し出力される同じメッセージをログファイルに一度しか記録しない $FileOwner syslog ← ログファイルの所有者を「syslog」に指定する $FileGroup adm ← ログファイルの所有グループを「syslog」に指定する $FileCreateMode 0640 ← ログファイルのパーミッションを「640」に指定する $DirCreateMode 0755 ← ログファイルを格納するディレクトリーのパーミッションを「755」に指定する $Umask 0022 ← umaskが指定されている場合のログファイルのパーミッションを「644」に指定する $PrivDropToUser syslog ← ログの取得を実行するユーザーを「syslog」に指定する $PrivDropToGroup syslog ← ログの取得を実行するグループを「syslog」に指定する $WorkDirectory /var/spool/rsyslog ← 作業ディレクトリーを「/var/spool/rsyslog」に指定する $IncludeConfig /etc/rsyslog.d/*.conf ← 「/etc/rsyslog.d」ディレクトリーの下にある「.conf」の拡張子が付いたファイル内の設定も読み込む |
このファイルには、ログを取得するための設定が書き込まれていません。その設定は「/etc/rsyslog.d」ディレクトリーの下にあるファイルに書き込まれています。Ubuntu Server 16.04 LTSでは、全体にかかわる設定を/etc/rsyslog.confファイルで、個々のソフトウエアに関連する設定を/etc/rsyslog.dディレクトリー内のファイルで管理しています。