rsyslog

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

rsyslogsyslog-ng の代わりとなるロガーで syslog-ng と比べて多数のメリットが存在します。

インストール

ノート: 衝突が発生しないように syslog-ng パッケージを無効化・アンインストールすることを推奨します。

rsyslogAUR パッケージをインストールしてください。

サービスの起動

インストール後 rsyslog サービスを起動・有効化してください。

ホストネームの設定

Rsyslog は glibcgethostname()gethostbyname() を使ってローカルマシンのホストネームを確認します。BINDNIS が使われていない場合、gethostname()gethostbyname()/etc/hosts の中身で完全修飾ドメイン名 (FQDN) をチェックします。

hostname --fqdn を実行することで現在設定されているローカルマシンの FQDN を確認できます。rsyslog ではログメッセージを書き出すとき hostname --short の出力が使われます。完全なホストネームをログで使いたい場合、設定ファイルの先頭に (ファイルにディレクティブを書き出す前に) $PreserveFQDN on を追加してください。rsyslog は設定ファイルを読み込んでから一行ずつ適用して次の行に進むためです。

/etc/hosts ファイルには FQDN を IP アドレスにマッピングする行と、エイリアスを FQDN にマッピングする行が含まれています。下の /etc/hosts のファイル例を見て下さい:

/etc/hosts
#<ip-address>	<hostname.domain.org>	<hostname>
#<ip-address>      <actual FQDN>                       <aliases>
127.0.0.1	localhost.localdomain somehost.localdomain	localhost somehost
::1		        localhost.localdomain somehost.localdomain	localhost somehost

localhost.localdomain が最初のアイテムで IP アドレスが指定されており、gethostbyname() 関数はローカルマシンの FQDN として localhost.localdomain を返します。そして /var/log/messages ファイルはホストネームとして localhost を使います。

ホストネームとして somehost を使うには、somehost.localdomain を最初のアイテムまで移動してください:

/etc/hosts
#<ip-address>	<hostname.domain.org>	                        <hostname>
#<ip-address>      <actual FQDN>                                              <aliases>
127.0.0.1	somehost.localdomain localhost.localdomain	localhost somehost
::1		        somehost.localdomain localhost.localdomain 	localhost somehost

設定

rsyslog は設定ファイルの $WorkDirectory 変数で定義されている作業ディレクトリ /var/spool/rsyslog を作成しません。手動で作成するか、別のディレクトリに変更する必要があります。

デフォルトでは全ての syslog メッセージは systemd によって管理されています。systemd から rsyslog にメッセージを引っ張ってくるには imjournal モジュールをロードしてください:

/etc/rsyslog.conf
$ModLoad imjournal

ログの出力は /etc/rsyslog.conf で調整できます。デーモンはファシリティレベル (下を参照) を使って何処に何を出力するか決定します。例:

/etc/rsyslog.conf
# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

上記の場合 authpriv ファシリティのメッセージは全て /var/log/secure に出力されるようになります。

また、syslog-ng の挙動と同じように auth.log を使う場合:

/etc/rsyslog.conf
auth.*                                                  -/var/log/auth

詳しくは Structure of the rsyslog.conf file を見て下さい。

ファシリティレベル

ノート: ファシリティ番号とキーワードはオペレーティングシステムや syslog の実装によって一致したりしなかったりします。できるかぎりキーワードを使うようにしてください。
ファシリティ番号 キーワード ファシリティの説明
0 kern カーネルのメッセージ
1 user ユーザーレベルのメッセージ
2 mail メールシステム
3 daemon システムデーモン
4 auth セキュリティ・認証メッセージ
5 syslog syslogd によって内部的に生成されたメッセージ
6 lpr ラインプリンタサブシステム
7 news ネットワークニュースサブシステム
8 uucp UUCP サブシステム
9 クロックデーモン
10 authpriv セキュリティ・認証メッセージ
11 ftp FTP デーモン
12 - NTP サブシステム
13 - ログ監査
14 - ログアラート
15 cron クロックデーモン
16 local0 ローカル使用 0 (local0)
17 local1 ローカル使用 1 (local1)
18 local2 ローカル使用 2 (local2)
19 local3 ローカル使用 3 (local3)
20 local4 ローカル使用 4 (local4)
21 local5 ローカル使用 5 (local5)
22 local6 ローカル使用 6 (local6)
23 local7 ローカル使用 7 (local7)

セキュリティレベル

RFC 5424 に定義されているように、8つのセキュリティレベルがあります:

コード 重要度 キーワード 説明 備考
0 Emergency emerg (panic) システム利用不能。 複数のアプリ/サーバー/サイトに影響する"パニック"状態。この段階になったら全ての技術スタッフの招集が必要。
1 Alert alert いますぐ対策が必要。 直ちに問題に対処してください。問題を修正できるスタッフを呼びましょう。例として主要な ISP 接続の喪失などが挙げられます。
2 Critical crit 緊急状態。 直ちに問題に対処してください。主要なシステムでの問題を意味します。バックアップ ISP 接続の喪失などが挙げられます。
3 Error err (error) エラー状態。 不急の問題。開発者や管理者に連絡してください。一定期間内に解決する必要があります。
4 Warning warning (warn) 警告状態。 警告メッセージ。エラーではなりませんが、何も対策を取らないとエラーが発生します。例: ファイルシステムが 85% まで一杯。一定期間内に解決する必要があります。
5 Notice notice 通常状態。 普通ではないがエラー状態でもないイベント。開発者や管理者にまとめてメールで通告して問題点がないか調べて下さい。直ちに行動する必要はありません。
6 Informational info 情報メッセージ。 通常の作業メッセージ。レポートとして取りまとめたり、スループットの調査などに使います。行動は必要ありません。
7 Debug debug デバッグメッセージ。 アプリケーションをデバッグするときに有用な開発者用の情報。作業中は無視してかまいません。
ヒント: syslog のレベルを覚えるための語呂合わせ (逆順): "Do I Notice When Evenings Come Around Early"。

参照