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_buffered
1 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-server
Copy 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 info
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定ファイルは以下のように表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
設定ファイルから
openshift-logging
namespace にsyslog
という名前の ConfigMap を作成します。oc create configmap syslog --from-file=syslog.conf -n openshift-logging
$ oc create configmap syslog --from-file=syslog.conf -n openshift-logging
Copy 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=fluentd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow