9.14. 로깅 수준 구성
Kafka 구성 요소 및 AMQ Streams Operator의 사용자 정의 리소스에서 로깅 수준을 구성합니다. 사용자 정의 리소스의 spec.logging 속성에서 직접 로깅 수준을 지정할 수 있습니다. 또는 configMapKeyRef 속성을 사용하여 사용자 정의 리소스에서 참조되는 ConfigMap에서 로깅 속성을 정의할 수 있습니다.
ConfigMap을 사용하면 로깅 속성이 한 곳에서 유지 관리되고 두 개 이상의 리소스에서 액세스할 수 있다는 이점이 있습니다. 둘 이상의 리소스에 ConfigMap을 재사용할 수도 있습니다. ConfigMap을 사용하여 AMQ Streams Operator에 대한 로거를 지정하는 경우 로깅 사양을 추가하여 필터를 추가할 수도 있습니다.
로깅 사양에 로깅 유형을 지정합니다.
-
로깅 수준을 직접 지정할 때
인라인 -
ConfigMap을 참조할 때
외부
인라인 로깅 구성 예
외부 로깅 구성 예
ConfigMap의 이름 및 키 값은 필수입니다. 이름 또는 키가 설정되지 않은 경우 기본 로깅이 사용됩니다.
9.14.1. Kafka 구성 요소 및 Operator의 로깅 옵션 링크 복사링크가 클립보드에 복사되었습니다!
특정 Kafka 구성 요소 또는 Operator의 로깅 구성에 대한 자세한 내용은 다음 섹션을 참조하십시오.
Kafka 구성 요소 로깅
Operator 로깅
9.14.2. 로깅을 위한 ConfigMap 생성 링크 복사링크가 클립보드에 복사되었습니다!
ConfigMap을 사용하여 로깅 속성을 정의하려면 ConfigMap을 생성한 다음 리소스 사양에 있는 로깅 정의의 일부로 참조합니다.
ConfigMap에는 적절한 로깅 구성이 포함되어야 합니다.
-
Kafka 구성 요소, Zoo Cryostat 및 Kafka 브리지의
log4j.properties -
Topic Operator 및 User Operator의
log4j2.properties
이러한 속성 아래에 구성을 배치해야 합니다.
이 절차에서 ConfigMap은 Kafka 리소스에 대한 루트 로거를 정의합니다.
프로세스
ConfigMap을 생성합니다.
ConfigMap을 YAML 파일 또는 속성 파일에서 생성할 수 있습니다.
Kafka에 대한 루트 로거 정의가 있는 ConfigMap 예:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 속성 파일을 사용하는 경우 명령줄에서 파일을 지정합니다.
oc create configmap logging-configmap --from-file=log4j.properties
oc create configmap logging-configmap --from-file=log4j.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 속성 파일은 로깅 구성을 정의합니다.
# Define the logger kafka.root.logger.level="INFO" # ...
# Define the logger kafka.root.logger.level="INFO" # ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 리소스
사양에외부 로깅을 정의하고logging.valueFrom.configMapKeyRef.name을 ConfigMap의 이름으로 설정하고logging.valueFrom.configMapKeyRef.key를 이 ConfigMap의 키로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 리소스를 생성하거나 업데이트합니다.
oc apply -f <kafka_configuration_file>
oc apply -f <kafka_configuration_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.14.3. Cluster Operator 로깅 구성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 Operator 로깅은 strimzi-cluster-operator 라는 ConfigMap 을 통해 구성됩니다. Cluster Operator를 설치할 때 로깅 구성이 포함된 ConfigMap 이 생성됩니다. 이 ConfigMap 은 install/cluster-operator/050-ConfigMap-strimzi-cluster-operator.yaml 파일에 설명되어 있습니다. 이 ConfigMap 의 data.log4j2.properties 값을 변경하여 Cluster Operator 로깅을 구성합니다.
로깅 구성을 업데이트하려면 050-ConfigMap-strimzi-cluster-operator.yaml 파일을 편집한 다음 다음 명령을 실행할 수 있습니다.
oc create -f install/cluster-operator/050-ConfigMap-strimzi-cluster-operator.yaml
oc create -f install/cluster-operator/050-ConfigMap-strimzi-cluster-operator.yaml
또는 ConfigMap 을 직접 편집합니다.
oc edit configmap strimzi-cluster-operator
oc edit configmap strimzi-cluster-operator
이 ConfigMap을 사용하면 다양한 구성 요소의 루트 로거 수준, 로그 출력 형식 및 로그 수준을 포함하여 로깅의 다양한 측면을 제어할 수 있습니다. monitorInterval 설정은 로깅 구성이 다시 로드되는 빈도를 결정합니다. Kafka AdminClient, Zoo Cryostat ZKTrustManager, Netty 및 OkHttp 클라이언트의 로깅 수준을 제어할 수도 있습니다. Netty는 네트워크 통신에 AMQ Streams에 사용되는 프레임워크이며 OkHttp는 HTTP 요청을 수행하는 데 사용되는 라이브러리입니다.
Cluster Operator가 배포될 때 ConfigMap 이 없는 경우 기본 로깅 값이 사용됩니다.
Cluster Operator가 배포된 후 ConfigMap 이 실수로 삭제된 경우 가장 최근에 로드된 로깅 구성이 사용됩니다. 새 로깅 구성을 로드할 새 ConfigMap 을 생성합니다.
ConfigMap 에서는 monitorInterval 옵션을 제거하지 마십시오.
9.14.4. AMQ Streams Operator에 로깅 필터 추가 링크 복사링크가 클립보드에 복사되었습니다!
ConfigMap을 사용하여 AMQ Streams Operator의 (log4j2) 로깅 수준을 구성하는 경우 로깅 필터를 정의하여 로그에 반환되는 항목을 제한할 수도 있습니다.
로깅 필터는 많은 수의 로깅 메시지가 있는 경우에 유용합니다. 로거의 로그 수준을 DEBUG(rootLogger.level="DEBUG")로 설정한다고 가정합니다. 로깅 필터는 해당 수준에서 로거에 대해 반환된 로그 수를 줄이므로 특정 리소스에 집중할 수 있습니다. 필터가 설정되면 필터와 일치하는 로그 메시지만 기록됩니다.
필터는 마커 를 사용하여 로그에 포함할 항목을 지정합니다. 마커의 종류, 네임스페이스 및 이름을 지정합니다. 예를 들어 Kafka 클러스터가 실패하는 경우 kind를 Kafka 로 지정하여 로그를 분리하고 실패한 클러스터의 네임스페이스와 이름을 사용할 수 있습니다.
이 예에서는 my-kafka-cluster 라는 Kafka 클러스터의 마커 필터를 보여줍니다.
기본 로깅 필터 구성
rootLogger.level="INFO" appender.console.filter.filter1.type=MarkerFilter appender.console.filter.filter1.onMatch=ACCEPT appender.console.filter.filter1.onMismatch=DENY appender.console.filter.filter1.marker=Kafka(my-namespace/my-kafka-cluster)
rootLogger.level="INFO"
appender.console.filter.filter1.type=MarkerFilter
appender.console.filter.filter1.onMatch=ACCEPT
appender.console.filter.filter1.onMismatch=DENY
appender.console.filter.filter1.marker=Kafka(my-namespace/my-kafka-cluster)
하나 이상의 필터를 만들 수 있습니다. 여기에서 로그는 두 개의 Kafka 클러스터로 필터링됩니다.
여러 로깅 필터 구성
Cluster Operator에 필터 추가
Cluster Operator에 필터를 추가하려면 로깅 ConfigMap YAML 파일 (install/cluster-operator/050-ConfigMap-strimzi-cluster-operator.yaml)을 업데이트합니다.
프로세스
050-ConfigMap-strimzi-cluster-operator.yaml파일을 업데이트하여 ConfigMap에 필터 속성을 추가합니다.이 예에서 필터 속성은
my-kafka-clusterKafka 클러스터에 대해서만 로그를 반환합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는
ConfigMap을 직접 편집합니다.oc edit configmap strimzi-cluster-operator
oc edit configmap strimzi-cluster-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow ConfigMap을 직접 편집하는 대신 YAML 파일을 업데이트한 경우
ConfigMap을 배포하여 변경 사항을 적용합니다.oc create -f install/cluster-operator/050-ConfigMap-strimzi-cluster-operator.yaml
oc create -f install/cluster-operator/050-ConfigMap-strimzi-cluster-operator.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Topic Operator 또는 User Operator에 필터 추가
Topic Operator 또는 User Operator에 필터를 추가하려면 로깅 ConfigMap을 생성하거나 편집합니다.
이 절차에서는 Topic Operator에 대한 필터를 사용하여 로깅 ConfigMap이 생성됩니다. User Operator에도 동일한 접근 방식이 사용됩니다.
프로세스
ConfigMap을 생성합니다.
ConfigMap을 YAML 파일 또는 속성 파일에서 생성할 수 있습니다.
이 예제에서 필터 속성은
my-topic항목에 대해서만 로그를 반환합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 속성 파일을 사용하는 경우 명령줄에서 파일을 지정합니다.
oc create configmap logging-configmap --from-file=log4j2.properties
oc create configmap logging-configmap --from-file=log4j2.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 속성 파일은 로깅 구성을 정의합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 리소스
사양에외부 로깅을 정의하고logging.valueFrom.configMapKeyRef.name을 ConfigMap의 이름으로 설정하고logging.valueFrom.configMapKeyRef.key를 이 ConfigMap의 키로 설정합니다.Topic Operator의 경우
Kafka리소스의topicOperator구성에 로깅이 지정됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Cluster Operator를 배포하여 변경 사항을 적용합니다.
create -f install/cluster-operator -n my-cluster-operator-namespace
create -f install/cluster-operator -n my-cluster-operator-namespace