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.8.9. OpenShift Container Platform ログの外部デバイスへの送信
Elasticsearch ログを、外部でホストされた Elasticsearch インスタンスまたは外部 syslog サーバーなどの外部デバイスに送信することができます。また、ログを外部ログアグリゲーターに送信するように Fluentd を設定することもできます。
特に指示がない場合は、これらの設定を実行する前にクラスターロギングを管理外の状態に設定する必要があります。詳細は、「クラスターロギングの管理状態の変更」を参照してください。
8.9.1. ログコレクターを設定してログを外部 Elasticsearch インスタンスに送信する リンクのコピーリンクがクリップボードにコピーされました!
ログコレクターは、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 プロジェクトで
fluentd
daemonset を編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
外部 Elasticsearch インスタンスにアプリケーションログと操作ログの両方を含めるには、
ES_HOST
とOPS_HOST
を同じ宛先に設定し、ES_PORT
とOPS_PORT
が同一の値を持つことを確認します。 - TLS の外部でホストされる Elasticsearch インスタンスを設定します。相互 TLS を使用する外部でホストされた Elasticsearch インスタンスのみが許可されます。
指定された Kibana と Elasticsearch イメージを使用していない場合、同じマルチテナント機能は利用できず、データは特定プロジェクトへのユーザーアクセスによる制限を受けません。
8.9.2. ログコレクターを設定してログを外部 syslog サーバーに送信する リンクのコピーリンクがクリップボードにコピーされました!
fluent-plugin-remote-syslog
プラグインをホストで使用して、ログを外部 syslog サーバーに送信します。
前提条件
クラスターロギングを管理外の状態に設定する。
手順
openshift-logging
プロジェクトのfluentd
daemonset で環境変数を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 必要なリモート syslog ホスト。各ホストで必須です。
これによって 2 つの宛先が作成されます。
host1
の syslog サーバーはデフォルトポート514
でメッセージを受信し、host2
は同じメッセージをポート5555
で受信します。または、
openshift-logging
プロジェクトに独自のfluentd
daemonset を設定できます。Fluentd 環境変数
Expand パラメーター 説明 USE_REMOTE_SYSLOG
デフォルトは
false
です。fluent-plugin-remote-syslog
gem を使用できるようにするには、true
に設定します。REMOTE_SYSLOG_HOST
(必須) リモート syslog サーバーのホスト名または IP アドレス。
REMOTE_SYSLOG_PORT
接続先のポート番号。デフォルトは
514
です。REMOTE_SYSLOG_SEVERITY
syslog の重大度を設定します。デフォルトは
debug
です。REMOTE_SYSLOG_FACILITY
syslog ファシリティーを設定します。デフォルトは
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
に設定します。警告この実装は安全ではないため、接続にスヌーピングがないことを保証できる環境でのみ使用してください。
8.9.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-logging
Copy 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/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 プラグインを参照してください。