10.3. Kafka Connect 및 MirrorMaker 2의 로깅 수준을 동적으로 변경
재시작하지 않고도 런타임에 Kafka Connect 작업자 또는 MirrorMaker 2 커넥터의 로깅 수준을 동적으로 변경합니다.
Kafka Connect API를 사용하여 작업자 또는 커넥터 로거의 로그 수준을 일시적으로 변경합니다. Kafka Connect API는 admin/loggers 엔드포인트를 제공하여 로깅 수준을 가져오거나 수정합니다. API를 사용하여 로그 수준을 변경하면 connect-log4j.properties 구성 파일의 로거 구성이 변경되지 않습니다. 필요한 경우 구성 파일의 로깅 수준을 영구적으로 변경할 수 있습니다.
분산 또는 독립 실행형 모드에서 런타임 시 MirrorMaker 2의 로깅 수준만 변경할 수 있습니다. 전용 MirrorMaker 2 클러스터에 Kafka Connect REST API가 없으므로 로깅 수준을 변경할 수 없습니다.
Kafka Connect API의 기본 리스너는 이 절차에서 사용되는 포트 8083에 있습니다. admin.listeners 구성을 사용하여 리스너를 변경하거나 추가하고 TLS 인증을 활성화할 수도 있습니다.
관리 끝점에 대한 리스너 구성 의 예
admin.listeners=https://localhost:8083
admin.listeners.https.ssl.truststore.location=/path/to/truststore.jks
admin.listeners.https.ssl.truststore.password=123456
admin.listeners.https.ssl.keystore.location=/path/to/keystore.jks
admin.listeners.https.ssl.keystore.password=123456
관리자 끝점을 사용할 수 있도록 하지 않으려면 빈 문자열을 지정하여 구성에서 비활성화할 수 있습니다.
관리자 끝점을 비활성화하는 리스너 구성의 예
admin.listeners=
사전 요구 사항
- Apache Kafka의 스트림 은 각 호스트에 설치되고 구성 파일을 사용할 수 있습니다.
- Kafka가 실행 중입니다.
- Kafka Connect 또는 MirrorMaker 2가 실행 중입니다.
프로세스
kafka사용자로 전환합니다.su - kafkaconnect-log4j.properties파일에 구성된 로거의 현재 로깅 수준을 확인합니다.$ cat /opt/kafka/config/connect-log4j.properties # ... log4j.rootLogger=INFO, stdout, connectAppender # ... log4j.logger.org.reflections=ERRORcurl 명령을 사용하여 Kafka Connect API의
admin/loggers끝점에서 로깅 수준을 확인합니다.curl -s http://localhost:8083/admin/loggers/ | jq { "org.reflections": { "level": "ERROR" }, "root": { "level": "INFO" } }jq는 JSON 형식으로 출력을 출력합니다. 이 목록에는 표준조직및루트수준 로거와 수정된 로깅 수준이 있는 특정 로거가 표시되어 있습니다.Kafka Connect에서
admin.listeners구성에 대해 TLS(Transport Layer Security) 인증을 구성하는 경우 로거 끝점의 주소는 https와 같은 https 프로토콜을 사용하여admin.listeners에 지정된 값입니다.특정 로거의 로그 수준을 가져올 수도 있습니다.
curl -s http://localhost:8083/admin/loggers/org.apache.kafka.connect.mirror.MirrorCheckpointConnector | jq { "level": "INFO" }PUT 방법을 사용하여 로거의 로그 수준을 변경합니다.
curl -Ss -X PUT -H 'Content-Type: application/json' -d '{"level": "TRACE"}' http://localhost:8083/admin/loggers/root { # ... "org.reflections": { "level": "TRACE" }, "org.reflections.Reflections": { "level": "TRACE" }, "root": { "level": "TRACE" } }루트로거를 변경하면 기본적으로 루트 로깅 수준을 사용하는 로거의 로깅 수준도 변경됩니다.