7.9. レガシー Fluentd メソッドを使用したログの転送
Fluentd 転送 プロトコルを使用して、設定ファイルおよび設定マップを作成して、ログを OpenShift Container Platform クラスター外の宛先に送信することができます。外部ログアグリゲーターを OpenShift Container Platform からログデータを受信するように設定する必要があります。
ログ転送のこの方法は、OpenShift Container Platform では非推奨となり、今後のリリースでは取り除かれます。
Fluentd 転送 プロトコルを使用してログを送信するには、外部のログアグリゲーターを参照する secure-forward.conf
という設定ファイルを作成します。次に、そのファイルを使用して OpenShift Container Platform がログの転送時に使用する openshift-logging
プロジェクトの secure-forward
という設定マップを作成します。
前提条件
- 指定されたプロトコルまたは形式を使用してロギングデータを受信するように設定されたロギングサーバーが必要です。
Fluentd 設定ファイルのサンプル
<store> @type forward <security> self_hostname ${hostname} shared_key "fluent-receiver" </security> transport tls tls_verify_hostname false tls_cert_path '/etc/ocp-forward/ca-bundle.crt' <buffer> @type file path '/var/lib/fluentd/secureforwardlegacy' queued_chunks_limit_size "1024" chunk_limit_size "1m" flush_interval "5s" flush_at_shutdown "false" flush_thread_count "2" retry_max_interval "300" retry_forever true overflow_action "#{ENV['BUFFER_QUEUE_FULL_ACTION'] || 'throw_exception'}" </buffer> <server> host fluent-receiver.example.com port 24224 </server> </store>
手順
OpenShift Container Platform を Fluentd 転送プロトコルを使用してログを転送できるように設定するには、以下を実行します。
secure-forward
という名前の設定ファイルを作成し、<store>
スタンザ内に以下のようなパラメーターを指定します。<store> @type forward <security> self_hostname ${hostname} shared_key <key> 1 </security> transport tls 2 tls_verify_hostname <value> 3 tls_cert_path <path_to_file> 4 <buffer> 5 @type file path '/var/lib/fluentd/secureforwardlegacy' queued_chunks_limit_size "#{ENV['BUFFER_QUEUE_LIMIT'] || '1024' }" chunk_limit_size "#{ENV['BUFFER_SIZE_LIMIT'] || '1m' }" flush_interval "#{ENV['FORWARD_FLUSH_INTERVAL'] || '5s'}" flush_at_shutdown "#{ENV['FLUSH_AT_SHUTDOWN'] || 'false'}" flush_thread_count "#{ENV['FLUSH_THREAD_COUNT'] || 2}" retry_max_interval "#{ENV['FORWARD_RETRY_WAIT'] || '300'}" retry_forever true </buffer> <server> name 6 host 7 hostlabel 8 port 9 </server> <server> 10 name host </server>
- 1
- ノード間で共有キーを入力します。
- 2
tls
を指定して TLS 検証を有効にします。- 3
- サーバー証明書のホスト名を確認するには
true
に設定します。サーバー証明書のホスト名を無視するには、false
に設定します。 - 4
- プライベート CA 証明書ファイルへのパスを
/etc/ocp-forward/ca_cert.pem
として指定します。 - 5
- 必要に応じて Fluentd バッファーパラメーター を指定します。
- 6
- オプションで、このサーバーの名前を入力します。
- 7
- サーバーのホスト名または IP を指定します。
- 8
- サーバーのホストラベルを指定します。
- 9
- サーバーのポートを指定します。
- 10
- オプションで、サーバーを追加します。2 つ以上のサーバーを指定する場合、forward はこれらのサーバーノードをラウンドロビン順で使用します。
相互 TLS (mTLS) を使用するには、クライアント証明書およびキーパラメーターその他の設定に関する情報として Fluentd ドキュメント を参照してください。
設定ファイルから
openshift-logging
プロジェクトにsecure-forward
という名前の設定マップを作成します。$ oc create configmap secure-forward --from-file=secure-forward.conf -n openshift-logging
Red Hat OpenShift Logging Operator は Fluentd Pod を再デプロイします。Pod が再デプロイされない場合、強制的に再デプロイするために Fluentd Pod を削除できます。
$ oc delete pod --selector logging-infra=fluentd