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 tls2 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> name6 host7 hostlabel8 port9 </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