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.6.8. OpenShift Container Platform ログの外部デバイスへの送信
Elasticsearch ログを、外部でホストされた Elasticsearch インスタンスまたは外部 syslog サーバーなどの外部デバイスに送信することができます。また、ログを外部ログアグリゲーターに送信するように Fluentd を設定することもできます。
特に指示がない場合は、これらの設定を実行する前にクラスターロギングを管理外の状態に設定する必要があります。詳細は、「クラスターロギングの管理状態の変更」を参照してください。
6.8.1. Fluentd をログを外部 Elasticsearch インスタンスに送信するように設定する リンクのコピーリンクがクリップボードにコピーされました!
Fluentd は、Elasticsearch デプロイメント設定の ES_HOST、ES_PORT、OPS_HOST、および OPS_PORT 環境変数の値にログを送信します。アプリケーションログは ES_HOST の宛先に、操作ログは OPS_HOST の宛先に送信されます。
AWS Elasticsearch インスタンスへのログの直接送信はサポートされていません。Fluentd Secure Forward を使用して、fluent-plugin-aws-elasticsearch-service プラグインで設定した制御対象の Fluentd のインスタンスにログを送信してください。
前提条件
- クラスターロギングおよび Elasticsearch がインストールされていること。
- クラスターロギングを管理外の状態に設定する。
手順
ログを特定の Elasticsearch インスタンスに送信するには、以下を実行します。
openshift-logging プロジェクトで
fluentddaemonset を編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
外部 Elasticsearch インスタンスにアプリケーションログと操作ログの両方を含めるには、
ES_HOSTとOPS_HOSTを同じ宛先に設定し、ES_PORTとOPS_PORTが同一の値を持つことを確認します。 - TLS の外部でホストされる Elasticsearch インスタンスを設定します。相互 TLS を使用する外部でホストされた Elasticsearch インスタンスのみが許可されます。
指定された Kibana と Elasticsearch イメージを使用していない場合、同じマルチテナント機能は利用できず、データは特定プロジェクトへのユーザーアクセスによる制限を受けません。
6.8.2. Fluentd をログを外部 syslog サーバーに送信するように設定する リンクのコピーリンクがクリップボードにコピーされました!
fluent-plugin-remote-syslog プラグインをホストで使用して、ログを外部 syslog サーバーに送信します。
前提条件
クラスターロギングを管理外の状態に設定する。
手順
openshift-loggingプロジェクトのfluentddaemonset で環境変数を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 必要なリモート syslog ホスト。各ホストで必須です。
これによって 2 つの宛先が作成されます。
host1の syslog サーバーはデフォルトポート514でメッセージを受信し、host2は同じメッセージをポート5555で受信します。または、
openshift-loggingプロジェクトに独自のfluentddaemonset を設定できます。Fluentd 環境変数
Expand パラメーター 説明 USE_REMOTE_SYSLOGデフォルトは
falseです。fluent-plugin-remote-sysloggem を使用できるようにするには、trueに設定します。REMOTE_SYSLOG_HOST(必須) リモート syslog サーバーのホスト名または IP アドレス。
REMOTE_SYSLOG_PORT接続先のポート番号。デフォルトは
514です。REMOTE_SYSLOG_SEVERITYsyslog の重大度を設定します。デフォルトは
debugです。REMOTE_SYSLOG_FACILITYsyslog ファシリティーを設定します。デフォルトは
local0です。REMOTE_SYSLOG_USE_RECORDデフォルトは
falseです。レコードの重大度フィールドおよびファシリティーフィールドを使用して syslog メッセージに設定するには、trueに設定します。REMOTE_SYSLOG_REMOVE_TAG_PREFIXタグからプレフィックスを削除します。デフォルトは
''(空) です。REMOTE_SYSLOG_TAG_KEYこれが指定されている場合、このフィールドをキーとして使用してレコードを検索し、syslog メッセージにタグを設定します。
REMOTE_SYSLOG_PAYLOAD_KEYこれが指定されている場合、このフィールドをキーとして使用してレコードを検索し、syslog メッセージにペイロードを設定します。
REMOTE_SYSLOG_TYPEトランスポート層プロトコルタイプを設定します。デフォルトは
syslog_bufferedになり、これにより、TCP プロトコルが設定されます。UDP に切り替えるには、これをsyslogに設定します。警告この実装は安全ではないため、接続にスヌーピングがないことを保証できる環境でのみ使用してください。
6.8.3. ログを外部ログアグリゲーターに送信するように Fluentd を設定する リンクのコピーリンクがクリップボードにコピーされました!
out_forward プラグインを使用して、デフォルトの Elasticsearch ではなく外部のログアグリゲーターにログのコピーを送信するように Fluentd を設定することができます。ローカルにホストされている Fluentd による処理の後に、ログレコードをさらに処理することができます。
forward プラグインは Fluentd によってのみサポートされます。out_forward プラグインはクライアント側 (センダー) を実装し、in_forward プラグインはサーバー側 (レシーバー) を実装します。
Out_forward を使用してログを送信するように OpenShift Container Platform を設定するには、受信側を参照する openshift という ConfigMap を作成します。レシーバーで、in_forward プラグインを OpenShift Container Platform からログを受信するように設定します。in_forward プラグインの使用方法についての詳細は、 Fluentd ドキュメントを参照してください。
-logging namespace に secure- forward
デフォルトの secure-forward.conf セクション
手順
Fluentd ログのコピーを外部ログアグリゲーターに送信するには、以下を実行します。
Fluentd 設定マップの
secure-forward.confセクションを編集します。oc edit configmap/fluentd -n openshift-logging
$ oc edit configmap/fluentd -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 外部 Fluentd サーバーの名前、ホスト、およびポートを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA 証明書とプライベートキーへのパスを
secure-forward.confセクションに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下は例になります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mTLS を使用するには、クライアント証明書およびキーパラメーターなどの設定に関する情報として Fluentd のドキュメント を参照してください。
secure-forward.confで使用される証明書を Fluentd Pod にマウントされる既存のシークレットに追加します。your_ca_certとyour_private_keyの値はconfigmap/logging-fluentdのsecure-forward.confで指定されている値と一致している必要があります。oc patch secrets/fluentd --type=json \ --patch "[{'op':'add','path':'/data/your_ca_cert','value':'$(base64 -w0 /path/to/your_ca_cert.pem)'}]" oc patch secrets/fluentd --type=json \ --patch "[{'op':'add','path':'/data/your_private_key','value':'$(base64 -w0 /path/to/your_private_key.pem)'}]"$ oc patch secrets/fluentd --type=json \ --patch "[{'op':'add','path':'/data/your_ca_cert','value':'$(base64 -w0 /path/to/your_ca_cert.pem)'}]" $ oc patch secrets/fluentd --type=json \ --patch "[{'op':'add','path':'/data/your_private_key','value':'$(base64 -w0 /path/to/your_private_key.pem)'}]"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記your_private_keyは、汎用的な名前に置き換えます。これは、JSON パスへのリンクであり、使用しているホストシステムのパスではありません。以下は例になります。
oc patch secrets/fluentd --type=json \ --patch "[{'op':'add','path':'/data/ca.crt','value':'$(base64 -w0 /etc/fluent/keys/ca.crt)'}]" oc patch secrets/fluentd --type=json \ --patch "[{'op':'add','path':'/data/ext-agg','value':'$(base64 -w0 /etc/fluent/keys/ext-agg.pem)'}]"$ oc patch secrets/fluentd --type=json \ --patch "[{'op':'add','path':'/data/ca.crt','value':'$(base64 -w0 /etc/fluent/keys/ca.crt)'}]" $ oc patch secrets/fluentd --type=json \ --patch "[{'op':'add','path':'/data/ext-agg','value':'$(base64 -w0 /etc/fluent/keys/ext-agg.pem)'}]"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 外部アグリゲーターで
secure-forward.confファイルを設定し、Fluentd からのメッセージを安全に受け入れられるようにします。外部アグリゲーターを設定する際は、Fluentd からのメッセージを安全に受信できる必要があります。
詳細情報は、inforward プラグインのセットアップ方法について、および out_forward プラグインを参照してください。