5.4. logging
Kafka には、次のような独自の設定可能なロガーがあります。
-
log4j.logger.org.I0Itec.zkclient.ZkClient
-
log4j.logger.org.apache.zookeeper
-
log4j.logger.kafka
-
log4j.logger.org.apache.kafka
-
log4j.logger.kafka.request.logger
-
log4j.logger.kafka.network.Processor
-
log4j.logger.kafka.server.KafkaApis
-
log4j.logger.kafka.network.RequestChannel$
-
log4j.logger.kafka.controller
-
log4j.logger.kafka.log.LogCleaner
-
log4j.logger.state.change.logger
-
log4j.logger.kafka.authorizer.logger
Kafka では Apache log4j
ロガー実装が使用されます。
logging
プロパティーを使用してロガーおよびロガーレベルを設定します。
ログレベルを設定するには、ロガーとレベルを直接指定 (インライン) するか、カスタム (外部) ConfigMap を使用します。ConfigMap を使用する場合、logging.valueFrom.configMapKeyRef.name
プロパティーを外部ロギング設定が含まれる ConfigMap の名前に設定します。ConfigMap 内では、ロギング設定は log4j.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 spec: # ... kafka: # ... logging: type: inline loggers: kafka.root.logger.level: INFO log4j.logger.kafka.coordinator.transaction: TRACE log4j.logger.kafka.log.LogCleanerManager: DEBUG log4j.logger.kafka.request.logger: DEBUG log4j.logger.io.strimzi.kafka.oauth: DEBUG log4j.logger.org.openpolicyagents.kafka.OpaAuthorizer: DEBUG # ...
ログレベルを DEBUG
に設定すると、大量のログが出力され、パフォーマンスに影響を及ぼす可能性があります。
外部ロギング
apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka spec: # ... logging: type: external valueFrom: configMapKeyRef: name: customConfigMap key: kafka-log4j.properties # ...
設定されていない利用可能なロガーのレベルは OFF
に設定されています。
Cluster Operator を使用して Kafka がデプロイされた場合、Kafka のロギングレベルの変更は動的に適用されます。
外部ロギングを使用する場合は、ロギングアペンダーが変更されるとローリング更新がトリガーされます。
ガベージコレクター (GC)
ガベッジコレクターのロギングは jvmOptions
プロパティーを使用して 有効 (または無効) にすることもできます。