요약OTel
filelog 수신기를 사용해 ClickStack에서 Kafka 브로커 로그(Log4j 포맷)를 수집하고 시각화합니다. 데모 데이터세트와 사전 구축된 대시보드가 제공됩니다.기존 Kafka 통합
사전 요구 사항
- 실행 중인 ClickStack 인스턴스
- 기존 Kafka 설치(버전 2.0 이상)
- Kafka 로그 파일(
server.log,controller.log등)에 대한 접근 권한
1
Kafka 로깅 구성 확인
Kafka는 Log4j를 사용하며,kafka.logs.dir 시스템 속성 또는 LOG_DIR 환경 변수로 지정된 디렉터리에 로그를 씁니다. 로그 파일 위치를 확인하십시오:server.log: 일반 브로커 로그(시작, 연결, 복제, 오류)controller.log: 컨트롤러 관련 이벤트(리더 선출, 파티션 재할당)state-change.log: 파티션 및 레플리카 상태 전환
Docker 기반 Kafka 배포(예:
confluentinc/cp-kafka)에서는 기본 Log4j 구성에 콘솔 appender만 포함되어 있으며 file appender는 없으므로 logs는 stdout에만 기록됩니다. filelog 수신기를 사용하려면 log4j.properties에 file appender를 추가하거나 stdout을 파이프로 전달하는 방식(예: | tee /var/log/kafka/server.log)으로 logs를 파일로 리디렉션해야 합니다.2
Kafka용 사용자 지정 OTel collector 구성 만들기
ClickStack에서는 사용자 지정 설정 파일을 마운트하고 환경 변수를 설정해 기본 OpenTelemetry Collector 구성을 확장할 수 있습니다. 사용자 지정 구성은 OpAMP를 통해 HyperDX가 관리하는 기본 구성과 머지됩니다.다음 내용으로kafka-logs-monitoring.yaml 파일을 만드세요:- 사용자 지정 구성에서는 새 수신기와 파이프라인만 정의합니다. 프로세서(
memory_limiter,transform,batch)와 익스포터(clickhouse)는 기본 ClickStack 구성에 이미 정의되어 있으므로 이름만 참조하면 됩니다. multiline구성은 스택 트레이스가 하나의 로그 항목으로 수집되도록 합니다.- 이 구성은 collector가 시작될 때 기존 로그를 모두 읽도록
start_at: beginning을 사용합니다. 운영 환경에 배포할 때는 collector가 다시 시작될 때 로그를 다시 수집하지 않도록start_at: end로 변경하십시오.
3
사용자 지정 구성을 로드하도록 ClickStack 구성하기
기존 ClickStack 배포에서 사용자 지정 collector 구성을 활성화하려면 다음을 수행해야 합니다.- 사용자 지정 구성 파일을
/etc/otelcol-contrib/custom.config.yaml에 마운트합니다. - 환경 변수
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml를 설정합니다. - collector가 Kafka 로그를 읽을 수 있도록 Kafka 로그 디렉터리를 마운트합니다.
- Docker Compose
- Docker Run (All-in-One Image)
ClickStack 배포 구성을 업데이트합니다.
ClickStack collector에 Kafka 로그 파일을 읽을 수 있는 적절한 권한이 있는지 확인하십시오. 운영 환경에서는 읽기 전용 마운트(
:ro)를 사용하고 최소 권한 원칙을 따르십시오.4
HyperDX에서 로그 확인
구성이 완료되면 HyperDX에 로그인하여 로그가 정상적으로 유입되는지 확인합니다:데모 데이터세트
1
2
대시보드 및 시각화
1
하여 대시보드 구성 파일을 받습니다
2
사전 구축된 대시보드 가져오기
- HyperDX를 열고 대시보드 섹션으로 이동합니다.
- 오른쪽 상단의 점 3개 메뉴에서 “Import Dashboard”를 클릭합니다.
- kafka-logs-dashboard.json 파일을 업로드한 다음 “Finish Import”를 클릭합니다.
3
모든 시각화가 사전 구성된 상태로 대시보드가 생성됩니다
데모 데이터세트를 사용하는 경우 시간 범위를 **2026-03-09 00:00:00 - 2026-03-10 00:00:00 (UTC)**를 포함하도록 설정합니다.문제 해결
regex_parser 정규식을 조정하세요.
다음 단계
- 중요한 이벤트(브로커 장애, 복제 오류, consumer group 관련 문제)에 대한 알림을 설정합니다
- 보다 포괄적인 Kafka 모니터링을 위해 Kafka 메트릭과 함께 사용합니다
- 특정 사용 사례(컨트롤러 이벤트, 파티션 재할당)를 위한 추가 대시보드를 생성합니다