このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。
ログ・ファイルには、システム、カーネル、サービスおよびアプリケーションについてのメッセージが含まれます。 システム・ロギング・デーモンrsyslogd
によって制御されるファイルのメイン構成ファイルは/etc/rsyslog.conf
で、グローバル・ディレクティブ、モジュール・ディレクティブおよびルールが含まれます。
グローバル・ディレクティブは、rsyslogd
デーモンに適用する構成オプションを指定します。 すべての構成ディレクティブは、ドル記号($
)で始まる必要があり、各行で1つのディレクティブのみ指定できます。 次の例では、rsyslog
メッセージ・キューの最大サイズを指定します。
$MainMsgQueueSize 50000
使用可能な構成ディレクティブについては、ファイル/usr/share/doc/rsyslog-
を参照してください。
version-number
/rsyslog_conf_global.html
rsyslog
は、その機能を構成ディレクティブを提供するモジュールから動的にロードできるように設計されています。 モジュールをロードするには、次のディレクティブを指定します。
$ModLoad MODULE_name
モジュールには、次のメイン・カテゴリがあります。
入力モジュールは、様々なソースからメッセージを収集します。 入力モジュール名は、常に
im
接頭辞で始まります(例:imfile
およびimrelp
)。フィルタ・モジュールを使用すると、
rsyslogd
は指定されたルールに基づいてメッセージをフィルタ処理できます。 フィルタ・モジュール名は、常にfm
接頭辞で始まります。ライブラリ・モジュールは、その他のロード可能なモジュールに機能を提供します。
rsyslogd
は、必要に応じてライブラリ・モジュールを自動的にロードします。 ライブラリ・モジュールのロードを構成することはできません。出力モジュールは、メッセージをデータベースまたはネットワーク内の他のサーバーに格納する機能、またはそれらを暗号化する機能を提供します。 出力モジュール名は、常に
om
接頭辞で始まります(例:omsnmp
およびomrelp
)。メッセージ変更モジュールは、
rsyslog
メッセージの内容を変更します。パーサー・モジュールを使用すると、
rsyslogd
は受け取ったメッセージの内容を解析できます。 パーサー・モジュール名は、常にpm
接頭辞で始まります。文字列ジェネレータ・モジュールは、メッセージの内容と
rsyslog
のテンプレート機能に基づいて文字列を生成します。 文字列ジェネレータ・モジュール名は、常にsm
接頭辞で始まります。
入力モジュールはメッセージを受け取って、それらを1つ以上のパーサー・モジュールに渡します。 パーサー・モジュールはメモリー内にメッセージの表現を作成し、メッセージを変更して、内部表現を出力モジュールに渡します。出力モジュールも、メッセージを出力する前にコンテンツを変更できます。
使用可能なモジュールの説明は、https://www.rsyslog.com/doc/rsyslog_conf_modules.htmlを参照してください。
rsyslog
ルールは、メッセージのサブセットを選択するフィルタ・パートと、選択したメッセージの処理を指定するアクション・パートで構成されます。 /etc/rsyslog.conf
構成ファイルでルールを定義するには、1つ以上のタブまたはスペースで区切って、単一行でフィルタとアクションを指定します。
様々なプロパティに従ってメッセージをフィルタ処理するように、rsyslogを構成できます。 最も一般的に使用されるフィルタは次のとおりです。
式ベースのフィルタ。
rsyslog
スクリプト言語で記述され、算術、ブールまたは文字列値に基づいてメッセージを選択します。ファシリティ/優先度ベースのフィルタは、
というフォームをとるファシリティと優先度の値に基づいてメッセージをフィルタ処理します。facility
.priority
プロパティ・ベースのフィルタは、
timegenerated
またはsyslogtag
などのプロパティによってメッセージをフィルタ処理します。
次の表に、ファシリティ/優先度ベースのフィルタに使用可能なファシリティ・キーワードを示します。
ファシリティ・キーワード | 説明 |
---|---|
| セキュリティ、認証または認可メッセージ。 |
|
|
|
|
| カーネル・メッセージ。 |
| ライン・プリンタ・サブシステム。 |
| メール・システム。 |
| ネットワーク・ニュース・サブシステム。 |
|
|
| ユーザー・レベル・メッセージ。 |
| UUCPサブシステム。 |
| ローカルで使用。 |
次の表に、ファシリティ/優先度ベースのフィルタに使用可能な優先度キーワードを、重要性の低い順に示します。
優先度キーワード | 説明 |
---|---|
| デバッグ・レベルのメッセージ。 |
| 情報メッセージ。 |
| 正常だが重要な条件。 |
| 警告の状態。 |
| エラーの状態。 |
| クリティカルな状態。 |
| 即時に措置が必要です。 |
| システムは不安定です。 |
指定された優先度以上のすべてのメッセージが、指定されたアクションに基づいて記録されます。 アスタリスク(*
)ワイルドカードは、すべてのファシリティまたは優先度を指定します。 1行に複数のファシリティおよび優先度の名前がある場合は、カンマ(,
)で区切ります。 1行に複数のフィルタがある場合は、セミコロン(;)で区切ります。 ある優先度以外のすべてのメッセージを選択するには、その優先度の前に感嘆符(!
)を付けます。
次に、ファシリティ/優先度ベースのフィルタの例を示します。
任意の優先度のすべてのカーネル・メッセージを選択します。
kern.*
crit
またはそれ以上の優先度を持つすべてのメール・メッセージを選択します。
mail.crit
warning
またはerr
優先度を持つ、すべてのdaemon
およびkern
メッセージを選択します。
daemon,kern.warning,err
info
またはdebug
優先度を持つメッセージを除く、すべてのcron
メッセージを選択します。
cron.!info,!debug
デフォルトでは、/etc/rsyslog.conf
には次のルールが含まれます。
# Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access. authpriv.* /var/log/secure # Log all the mail messages in one place. mail.* -/var/log/maillog # Log cron stuff cron.* /var/log/cron # Everybody gets emergency messages *.emerg * # Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler # Save boot messages also to boot.log local7.* /var/log/boot.log
次のエントリを各ログ・クライアントの/etc/rsyslog.conf
のforwarding rules
セクションに追加することで、TCP経由でログを集中ログ・サーバーに送信できます。
*.* @@logsvr
:port
logsvr
はログ・サーバーのドメイン名またはIPアドレスで、portはポート番号です(通常、514)。
ログ・サーバーで、次のエントリ/etc/rsyslog.conf
のMODULES
セクションに追加します。
$ModLoad imtcp
$InputTCPServerRun port
port
は、ログ・クライアントで設定したポート番号に対応します。
収集ログのローテーションとアーカイブを管理するには、/etc/rsyslog.conf
のRULES
セクションで定義した各ログ・ファイルを参照するよう/etc/logrotate.d/syslog
を編集します。 /etc/logrotate.conf
を編集して、ログのローテーション頻度およびアーカイブするログの過去のコピー数を構成できます。
ログ・サーバーでLogwatchを構成して、不審なメッセージのログを監視し、ログ・クライアントでLogwatchを無効にすることをお薦めします。 ただし、Logwatchを使用する場合は、次のエントリを各システムの/etc/rsyslog.conf
のGLOBAL DIRECTIVESセクションに追加して、高精度タイムスタンプを無効にします。
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
詳細は、logrotate(8)
, logwatch(8)
, rsyslogd(8)
およびrsyslog.conf(5)
のマニュアル・ページ、/usr/share/doc/rsyslog-5.8.10
ディレクトリのHTMLドキュメントおよびhttps://www.rsyslog.com/doc/manual.htmlのドキュメントを参照してください。