FEPClusterでログを有効にする方法について説明します。FEPClusterはログをリモートFluentd(FEPLogging)に転送する機能を提供し、FEPLoggingインスタンスは同じログをElasticsearch(オプション)とPrometheusに転送します。
リモートロギングで動作可能な宛先は以下です。
Fluentd
Elasticsearch
Azure BLOB
Amazon CloudWatch
リモートロギング機能によるログ転送の詳細は、“付録E カスタムシークレットを使用したFluent Bitの統合”を参照してください 。
remoteLoggingの設定で必要なパラメータを定義するには、fepの下にremoteLoggingセクションを追加する必要があります。
以下にテンプレートの例を示します。
spec: fep … remoteLogging: enable: true fluentdName: new-fep-logging tls: certificateName: fluentbit-cert caName: cacert …
remoteLoggingセクションで定義されているすべてのパラメータと設定内容について、以下に示します。
フィールド | 必須/オプション | 説明 | 変更可否 |
---|---|---|---|
remoteLogging.enable | 必須 | ログ機能を有効にするには、trueを設定します。 | 不可 |
remoteLogging.fluentdName | オプション | ログが転送されるFEPLogging CRの名前です。 | 可 |
remoteLogging.tls.certificateName | オプション | FluentbitのMTLS証明書を含むシークレット名 | 不可 |
remoteLogging.tls.caName | オプション | SSL検証のためのFluentdのCacert | 不可 |
remoteLogging.image | オプション | remoteLogging用の Fluentbitイメージ | 可 |
remoteLogging.pullPolicy | オプション | Fluenbitイメージのプルポリシー | 可 |
remoteLogging.mcSpec.limits.cpu | オプション | FluentbitのCPU割り当て制限 | 可 |
remoteLogging.mcSpec.limits.memory | オプション | Fluentbitのメモリ割り当て制限 | 可 |
remoteLogging.mcSpec.requests.cpu | オプション | FluentbitのCPU割り当て要求 | 可 |
remoteLogging.mcSpec.requests.memory | オプション | Fluentbitのメモリ割り当て要求 | 可 |
remoteLogging.fluentbitParams.memBufLimit | オプション | FluentbitでMem_Buf_Limitを定義します。これは、このパラメータを使用するすべてのセクションに影響します。 | 可 |
remoteLogging.fluentbitConfigSecretRef | オプション | リモートロギングによるログ転送機能を利用するときに、fluent-bit.yamlを含むSecretの名前を指定します。 fluentbitConfigSecretRefが定義されていないか、定義されているが参照されているシークレットが存在しない場合、FEPオペレーターは既定のSecret <fep-cluster>-fluent-bit-confを作成し、このパラメータを<fep-cluster>-fluent-bit-confで更新します。 参照されるシークレットが存在する場合、名前付きシークレットは/fluent-bit/etcの下のfep-logging-fluent-bitにマウントされます。 | 可 |
remoteLogging.awsCredentialSecretRef | オプション | ‘awsCredentialSecretRef’は、AWSサービスへの認証情報を含むSecretの名前です。認証情報は、設定ファイルおよび認証情報ファイルを格納します。 設定ファイルの名前は「config」、認証情報ファイルの名前は「credentials」である必要があります。 参照されるシークレットが存在する場合、名前付きシークレットは/fluent-bit/aws配下のfep-logging-fluent-bitにマウントされます。 | 可 |
FEPログ機能で作成されたFluentdコンテナにログを転送する場合に指定します。
enableがtrueに設定されている場合、FEPClusterのログ機能が有効になります。
enableがtrueに設定されている場合、fluentdNameは必須フィールドです。ここには、FEPClusterがログを転送するFEPLogging CRの名前が記述されます。
enableがfalseに設定されている場合、FEPClusterのログ機能が有効になりません。
例)
fep: remoteLogging: enable: true fluentdName: new-fep-logging
ユーザーがログ機能を使用するために既存のFEPClusterを更新する場合は、FEPClusterのlog_destinationにcsvlogを設定する必要があります。 新しいクラスタの場合は、すでに設定されています。
例)
fep: … remoteLogging: enable: true fluentdName: new-fep-logging … fepChildCrVal: customPgParams: … log_destination = csvlog …
FEPClusterがremoteLoggingにセキュア接続を使用する場合、TLSセクションは必須です。
TLSセクションで、SSL検証に使用される証明書と秘密鍵を含むシークレット名を指定します。
MTLS接続の場合、証明書を相互に検証するにはcaNameが必要です。
例)
fep: remoteLogging: enable: true fluentdName: new-fep-logging tls: certificateName: fluentbit-cert-secret caName: ca-cert
注意
Elasticsearchサーバはユーザーによって設定されます。オペレーターによるFEPLoggingデプロイの一部ではありません。
image プロパティは、デフォルトの Fluentbit イメージと pullPolicy 以外を指定するために使用されます。指定しない場合、オペレーターが提供するデフォルトのイメージが使用されます。
例)
spec: fep: remoteLogging: image: 'quay.io/fujitsu/fujitsu-enterprise-postgres-fluentbit:ubi9-17-1.0' pullPolicy: IfNotPresent
リモートロギング機能によるログ転送機能を利用する場合に指定します。‘fluentbitConfigSecretRef’は、fluentbit.yamlを含むシークレットの名前です。“付録E カスタムシークレットを使用したFluent Bitの統合”を参照してください。
指定しない場合、オペレーターによって作成されたデフォルトのシークレット<fep-cluster>-fluent-bit-confが使用されます。
例)
spec: fep: remoteLogging: fluentbitConfigSecretRef: ' custom-secret'
‘awsCredentialSecretRef’は、AWSサービスへの認証情報を含むシークレットの名前です。
例)
spec: fep: remoteLogging: awsCredentialSecretRef: 'aws-credential'