This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.7.10.2. syslog プロトコルを使用したログの転送
syslog プロトコルを使用して、デフォルトの Elasticsearch ログストアではなく外部の syslog サーバーにログのコピーを送信できます。この syslog プロトコルについては、以下の点に注意してください。
- RFC 5424 ではなく、syslog プロトコル (RFC 3164) を使用する
- TLS に対応していないため、安全ではない
- Kubernetes メタデータ、systemd データその他のメタデータを提供しない
ログ転送のこの方法は OpenShift Container Platform では非推奨となり、今後のリリースではログ転送 API に置き換えられます。
syslog プロトコルには、以下の 2 つのバージョンがあります。
- out_syslog: UDP で通信するバッファーなしの実装は、データをバッファーせずに結果を即時に書き込みます。
- out_syslog_buffered: TCP で通信するバッファーの実装は、データをいくつかのチャンクにバッファーリングします。
syslog プロトコルを使用してログ転送を設定するには、ログを転送するために必要な情報を使って syslog.conf という設定ファイルを作成します。次に、そのファイルを使用して OpenShift Container Platform がログの転送時に使用する openshift-logging namespace の syslog という ConfigMap を作成します。syslog サーバーを OpenShift Container Platform からログを受信するように設定する必要があります。
OpenShift Container Platform 4.3 以降では、syslog プロトコルを使用するプロセスは変更されています。以下で説明されているように ConfigMap を作成する必要があります。
設定ファイルに別個の <store> スタンザを指定して、ログを複数の syslog サーバーに転送できます。
サンプル syslog.conf
- 1
- syslog プロトコル (
syslogまたはsyslog_bufferedのいずれか)。 - 2
- syslog サーバーの完全修飾ドメイン名 (FQDN) または IP アドレス。
- 3
- 接続先のポート番号。デフォルトは
514です。 - 4
- syslog サーバーの名前。
- 5
- タグから接頭辞を削除します。デフォルトは
''(空) です。 - 6
- syslog キーを設定するためのフィールド。
- 7
- syslog ログファシリティーまたはソース。
- 8
- syslog ログの重大度。
- 9
- レコードの重大度とファシリティーを使用するかどうかを決定する (ある場合)。
- 10
- オプション。syslog メッセージのペイロードを設定するためのキー。デフォルトは
messageに設定されます。注記payload_keyパラメーターを設定すると、他のパラメーターが syslog に転送されなくなります。
サンプル syslog.conf をベースとするサンプル syslog ConfigMap
手順
OpenShift Container Platform が syslog プロトコルを使用してログを転送するように設定するには、以下を実行します。
<store>スタンザ内に以下のパラメーターが含まれるsyslog.confという名前の設定ファイルを作成します。syslog プロトコルタイプを指定します。
@type syslog_buffered
@type syslog_buffered1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用するプロトコル (
syslogまたはsyslog_bufferedのいずれか) を指定します。
外部 syslog サーバーの名前、ホスト、およびポートを設定します。
remote_syslog <remote> port <number> hostname <name>
remote_syslog <remote>1 port <number>2 hostname <name>3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
remote_syslog syslogserver.openshift-logging.svc.cluster.local port 514 hostname fluentd-server
remote_syslog syslogserver.openshift-logging.svc.cluster.local port 514 hostname fluentd-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 必要に応じて他の syslog 変数を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- このパラメーターを追加して、
tagフィールドを syslog 接頭辞から削除します。 - 2
- syslog キーを設定するためのフィールドを指定します。
- 3
- syslog ログファシリティーまたはソースを指定します。値については、RTF 3164 を参照してください。
- 4
- syslog ログの重大度を指定します。値については、RTF 3164 リンクを参照してください。
- 5
trueを指定して、レコードの重大度およびファシリティーを使用します (ある場合)。trueの場合、container_name、namespace_name、およびpod_nameは、出力の内容に組み込まれます。- 6
- syslog メッセージのペイロードを設定するためにキーを指定します。デフォルトは
messageに設定されます。
以下に例を示します。
facility local0 severity info
facility local0 severity infoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 設定ファイルは以下のように表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
設定ファイルから
openshift-loggingnamespace にsyslogという名前の ConfigMap を作成します。oc create configmap syslog --from-file=syslog.conf -n openshift-logging
$ oc create configmap syslog --from-file=syslog.conf -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster Logging Operator は Fluentd Pod を再デプロイします。Pod が再デプロイされない場合、強制的に再デプロイするために Fluentd Pod を削除できます。
oc delete pod --selector logging-infra=fluentd
$ oc delete pod --selector logging-infra=fluentdCopy to Clipboard Copied! Toggle word wrap Toggle overflow