2.7. 外部ロギング
リソースのロギングレベルを設定する場合、リソース YAML の spec.logging
プロパティーで直接 インライン で指定できます。
spec: # ... logging: type: inline loggers: kafka.root.logger.level: "INFO"
または external ロギングを指定することもできます。
spec:
# ...
logging:
type: external
name: customConfigMap
外部ロギングでは、ロギングプロパティーは ConfigMap に定義されます。ConfigMap の名前は spec.logging.name
プロパティーで参照されます。
ConfigMap を使用する利点は、ロギングプロパティーが 1 カ所で維持され、複数のリソースにアクセスできることです。
2.7.1. ロギングの ConfigMap の作成
ConfigMap を使用してロギングプロパティーを定義するには、ConfigMap を作成してから、リソースの spec
にあるロギング定義の一部としてそれを参照します。
ConfigMap には適切なロギング設定が含まれる必要があります。
-
Kafka コンポーネント、ZooKeeper、および Kafka Bridge の
log4j.properties
。 -
Topic Operator および User Operator の
log4j2.properties
設定はこれらのプロパティーの配下に配置する必要があります。
ここでは、ConfigMap によって Kafka リソースのルートロガーが定義される方法を実証します。
手順
ConfigMap を作成します。
ConfigMap を YAML ファイルとして作成するか、コマンドラインで
oc
を使用してプロパティーファイルから Config Map を作成します。Kafka のルートロガー定義が含まれる ConfigMap の例:
kind: ConfigMap apiVersion: kafka.strimzi.io/v1beta1 metadata: name: logging-configmap data: log4j.properties: kafka.root.logger.level="INFO"
プロパティーファイルを使用してコマンドラインから作成します。
oc create configmap logging-configmap --from-file=log4j.properties
プロパティーファイルではロギング設定が定義されます。
# Define the logger kafka.root.logger.level="INFO" # ...
logging.name
を ConfigMap の名前に設定し、リソースのspec
の external ロギングを定義します。spec: # ... logging: type: external name: logging-configmap
リソースを作成または更新します。
oc apply -f kafka.yaml