49장. EntityTopicOperatorSpec schema reference
in: EntityOperatorSpec
에서 사용됨
EntityTopicOperatorSpec
스키마 속성의 전체 목록
Topic Operator를 구성합니다.
49.1. logging
Topic Operator에는 구성 가능한 로거가 있습니다.
-
rootLogger.level
Topic Operator는 Apache log4j2
로거 구현을 사용합니다.
Kafka 리소스 Kafka
리소스의 entityOperator.topicOperator
필드에 있는 logging
속성을 사용하여 로거 및 로거 수준을 구성합니다.
로거 및 수준을 직접 (인라인) 지정하거나 사용자 지정(외부) ConfigMap을 사용하여 로그 수준을 설정할 수 있습니다. ConfigMap을 사용하는 경우 logging.valueFrom.configMapKeyRef.name
속성을 외부 로깅 구성이 포함된 ConfigMap 이름으로 설정합니다. ConfigMap 내부에서 로깅 구성은 log4j2.properties
를 사용하여 설명합니다. logging.valueFrom.configMapKeyRef.name
및 logging.valueFrom.configMapKeyRef.key
속성은 모두 필수입니다. 지정된 정확한 로깅 구성을 사용하는 ConfigMap은 Cluster Operator가 실행될 때 사용자 정의 리소스와 함께 생성된 다음 각 조정 후 다시 생성됩니다. 사용자 정의 ConfigMap을 지정하지 않으면 기본 로깅 설정이 사용됩니다. 특정 로거 값을 설정하지 않으면 해당 로거에 대해 상위 수준 로거 설정이 상속됩니다. 로그 수준에 대한 자세한 내용은 Apache 로깅 서비스를 참조하십시오.
여기서는 인라인
및 외부
로깅의 예를 참조하십시오. 인라인
로깅은 루트 로거 수준을 지정합니다. loggers 속성에 추가하여 특정 클래스 또는 로거의 로그 수준을 설정할 수도 있습니다.
인라인 로깅
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 logger.top.level: DEBUG logger.toc.name: io.strimzi.operator.topic.TopicOperator logger.toc.level: TRACE logger.clients.level: 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: inline
loggers:
rootLogger.level: INFO
logger.top.name: io.strimzi.operator.topic
logger.top.level: DEBUG
logger.toc.name: io.strimzi.operator.topic.TopicOperator
logger.toc.level: TRACE
logger.clients.level: DEBUG
# ...
Operator 관련 문제를 조사할 때 일반적으로 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 # ...
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
속성을 사용하여 가비지 수집기 로깅을 활성화하거나 비활성화할 수도 있습니다.