第49章 EntityTopicOperatorSpec スキーマリファレンス
EntityTopicOperatorSpec
スキーマプロパティーの全リスト
Topic Operator を設定します。
49.1. logging
Topic Operator には設定可能なロガーがあります。
-
rootLogger.level
Topic Operator では、Apachelog4j2
のロガー実装を使用しています。
Kafka リソース Kafka
リソースの entityOperator.topicOperator
フィールドの logging
プロパティーを使用して、ロガーとロガーレベルを設定します。
ログレベルを設定するには、ロガーとレベルを直接指定 (インライン) するか、カスタム (外部) ConfigMap を使用します。ConfigMap を使用する場合、logging.valueFrom.configMapKeyRef.name
プロパティーを外部ロギング設定が含まれる ConfigMap の名前に設定します。ConfigMap 内では、ロギング設定は log4j2.properties
を使用して記述されます。logging.valueFrom.configMapKeyRef.name
および logging.valueFrom.configMapKeyRef.key
プロパティーはいずれも必須です。Cluster Operator の実行時に、指定された正確なロギング設定を使用する ConfigMap がカスタムリソースを使用して作成され、その後は調整のたびに再作成されます。カスタム ConfigMap を指定しない場合、デフォルトのロギング設定が使用されます。特定のロガー値が設定されていない場合、上位レベルのロガー設定がそのロガーに継承されます。ログレベルの詳細は、Apache logging services を参照してください。
ここで、inline
および external
ロギングの例を示します。inline
ロギングでは、ルートロガーレベルを指定します。特定のクラスまたはロガーを loggers プロパティーに追加することで、それらのログレベルを設定することもできます。
inline ロギング
apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka metadata: name: my-cluster spec: kafka: # ... zookeeper: # ... entityOperator: # ... topicOperator: watchedNamespace: my-topic-namespace reconciliationIntervalSeconds: 60 logging: type: inline loggers: rootLogger.level: INFO logger.top.name: io.strimzi.operator.topic 1 logger.top.level: DEBUG 2 logger.toc.name: io.strimzi.operator.topic.TopicOperator 3 logger.toc.level: TRACE 4 logger.clients.level: DEBUG 5 # ...
オペレーターの問題を調査する場合、通常は rootLogger
を DEBUG
に変更して、より詳細なログを取得するだけで十分です。ただし、ログレベルを DEBUG
に設定すると、大量のログが出力され、パフォーマンスに影響を及ぼす可能性があることに注意してください。
外部ロギング
apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka metadata: name: my-cluster spec: kafka: # ... zookeeper: # ... entityOperator: # ... topicOperator: watchedNamespace: my-topic-namespace reconciliationIntervalSeconds: 60 logging: type: external valueFrom: configMapKeyRef: name: customConfigMap key: topic-operator-log4j2.properties # ...
ガベージコレクター (GC)
ガベッジコレクターのロギングは jvmOptions
プロパティーを使用して 有効 (または無効) にすることもできます。