7.10. レガシー syslog メソッドを使用したログの転送
syslog RFC3164 プロトコルを使用して、設定ファイルおよび設定マップを作成して、ログを OpenShift Container Platform クラスター外の宛先に送信することができます。syslog サーバーなど、外部ログアグリゲーターを OpenShift Container Platform からログを受信するように設定する必要があります。
ログ転送のこの方法は、OpenShift Container Platform では非推奨となり、今後のリリースでは取り除かれます。
syslog プロトコルには、以下の 2 つのバージョンがあります。
- out_syslog: UDP で通信するバッファーなしの実装は、データをバッファーせずに結果を即時に書き込みます。
- out_syslog_buffered: バッファーの実装は TCP で通信し、データをいくつかのチャンクにバッファーリングします。
syslog プロトコルを使用してログを送信するには、ログを転送するために必要な情報を使って syslog.conf
という設定ファイルを作成します。次に、そのファイルを使用して OpenShift Container Platform がログの転送時に使用する openshift-logging
プロジェクトの syslog
という設定マップを作成します。
前提条件
- 指定されたプロトコルまたは形式を使用してロギングデータを受信するように設定されたロギングサーバーが必要です。
syslog 設定ファイルのサンプル
<store> @type syslog_buffered remote_syslog rsyslogserver.example.com port 514 hostname ${hostname} remove_tag_prefix tag facility local0 severity info use_record true payload_key message rfc 3164 </store>
以下の syslog
パラメーターを設定できます。詳細は、syslog の RFC3164 を参照してください。
facility: syslog ファシリティー。値には 10 進数の整数または大文字と小文字を区別しないキーワードを使用できます。
-
カーネルメッセージの場合、
0
またはkern
-
ユーザーレベルのメッセージの場合、
1
またはuser
。デフォルトです。 -
メールシステムの場合、
2
またはmail
-
システムデーモンの場合、
3
またはdaemon
-
セキュリティー/認証メッセージの場合、
4
またはauth
-
syslogd によって内部に生成されるメッセージの場合、
5
またはsyslog
-
ラインプリンターサブシステムの場合、
6
またはlpr
-
ネットワーク news サブシステムの場合、
7
またはnews
-
UUCP サブシステムの場合、
8
またはuucp
-
クロックデーモンの場合、
9
またはcron
-
セキュリティー認証メッセージの場合、
10
またはauthpriv
-
FTP デーモンの場合、
11
またはftp
-
NTP サブシステムの場合、
12
またはntp
-
syslog 監査ログの場合、
13
またはsecurity
-
syslog アラートログの場合、
14
またはconsole
-
スケジューリングデーモンの場合、
15
またはsolaris-cron
-
ローカルに使用される facility の場合、
16
–23
またはlocal0
–local7
-
カーネルメッセージの場合、
- payloadKey: syslog メッセージのペイロードとして使用するレコードフィールド。
- rfc: syslog を使用してログを送信するために使用される RFC。
severity: 送信 syslog レコードに設定される syslog の重大度。値には 10 進数の整数または大文字と小文字を区別しないキーワードを使用できます。
-
システムが使用不可であることを示すメッセージの場合、
0
またはEmergency
-
即時にアクションを実行する必要があることを示すメッセージの場合、
1
またはAlert
-
重大な状態を示すメッセージの場合、
2
またはCritical
-
エラーの状態を示すメッセージの場合、
3
またはError
-
警告状態を示すメッセージの場合は、
4
またはWarning
-
正常であるが重要な状態を示すメッセージの場合は、
5
またはNotice
-
情報を提供するメッセージの場合は、
6
またはInformational
-
デバッグレベルのメッセージを示唆するメッセージの場合、
7
またはDebug
。デフォルトです。
-
システムが使用不可であることを示すメッセージの場合、
- tag: syslog メッセージでタグとして使用するレコードフィールド。
- trimPrefix: タグから削除する接頭辞。
手順
OpenShift Container Platform をレガシーの設定方法を使用してログを転送できるように設定するには、以下を実行します。
syslog.conf
という名前の設定ファイルを作成し、<store>
スタンザ内に以下のようなパラメーターを指定します。<store> @type <type> 1 remote_syslog <syslog-server> 2 port 514 3 hostname ${hostname} remove_tag_prefix <prefix> 4 facility <value> severity <value> use_record <value> payload_key message rfc 3164 5 </store>
- 1
- 使用するプロトコル (
syslog
またはsyslog_buffered
のいずれか) を指定します。 - 2
- syslog サーバーの FQDN または IP アドレスを指定します。
- 3
- syslog サーバーのポートを指定します。
- 4
- オプション: 以下のように適切な syslog パラメーターを指定します。
-
syslog 接頭辞から指定された
tag
フィールドを削除するためのパラメーター。 - 指定されたフィールドを syslog キーとして設定するパラメーター。
- syslog ログファシリティーまたはソースを指定するパラメーター。
- syslog ログの重大度を指定するパラメーター。
-
レコードの重大度およびファシリティーを使用するためのパラメーター (ある場合)。
true
の場合、container_name
、namespace_name
、およびpod_name
は、出力の内容に組み込まれます。 -
syslog メッセージのペイロードを設定するためのキーの指定に使用するパラメーター。デフォルトは
message
に設定されます。
-
syslog 接頭辞から指定された
- 5
- レガシーの syslog メソッドでは、
rfc
値に3164
を指定する必要があります。
設定ファイルから
openshift-logging
プロジェクトにsyslog
という名前の設定マップを作成します。$ oc create configmap syslog --from-file=syslog.conf -n openshift-logging
Red Hat OpenShift Logging Operator は Fluentd Pod を再デプロイします。Pod が再デプロイされない場合、強制的に再デプロイするために Fluentd Pod を削除できます。
$ oc delete pod --selector logging-infra=fluentd