1069 words
5 minutes
[kafka]14. 모니터링

Overview#

모니터링 대상이 되는 가장 중요한 지표는 무엇인가?

1. 모니터링 대상 지표#

지표 출처에 따른 분류#

어떤 지표를 모니터링할 것인가?#

1. 경보 vs 디버깅#

  • 디버깅을 목적으로 하는 지표는 문제의 복잡성 및 원인 파악 때문에 경보를 위한 지표보다 더 많은 시간 범위가 필요
  • 디버깅을 목적으로 하는 지표는 문제의 복잡성 및 원인 파악 때문에 경보를 위한 지표보다 더 많은 시간 범위가 필요

2. 자동화 vs 수동#

  • 자동화를 목적으로 하는 지표을 경우 어차피 컴퓨터가 처리해야 하는 작업이므로 대량의 메트릭을 사용해 세부적인 부분까지 데이터를 수집해도 무방
  • 사람이 봐야 하는 지표는 일정 수준을 넘어서면 어떤지표를 보고 어떻게 심각도를 판단해야할지 알 수 없는 alert fatigue가 발생할 수 있으므로 주의

3. Health Check#

간단한 상태검사를 통해 어플리케이션이 살아있는지 여부 확인

보통 두 가지 방법 사용

  • 브로커 상태를 확인하는 외부 프로세스 사용
  • dfdf

2. Service Level Objectives (SLOs)#


Concept

  • SLI : Service Level Indicators. 서비스 수준 지표. 보통 전체 이벤트에 대한 성공적인 이벤트의 비율로 측정됨
  • SLO : Service Level Objectives. 서비스 수준 목표. 서비스 수준 한계선을 정의하는 지표. SLI에 목표값을 설정한 것. ex) 7일간 웹서버 요청 중 99%가 1초 이내에 응답해야 한다.
  • SLA : Service Level Agreement. 서비스 수준 계약. 서비스 제공자와 사용자 간의 계약으로, SLO를 충족해야 한다.
  • Burn Rate : SLO를 초과하는 지표의 비율. SLO를 초과하는 비율을 계산하여 얼마나 빨리 SLO를 초과하는지 알 수 있음

일반적인 지표들#

  • latency : 응답이 얼마나 빨리 반환되는가?
  • quality : 응답의 내용이 적절한가?
  • security : 요청과 응답이 적절히 보호되는가?
  • throughput : 단위시간당 처리량은 얼마인가?

Alert 에 SLO 적용#

  • SLO는 직접적인 Alert의 기준이 되기 어려움
  • burn rate

3. 브로커 모니터링#

클러스터 문제 진단#

  • 단일 브로커에서 발생하는 경우
  • 오버로딩된 클러스터에서 발생하는 경우
  • 컨트롤러 문제

Troubleshooting : Cluster Monitoring#


Concept

  • Cruise Control : 카프카 클러스터의 자동화된 리소스 관리 도구. 파티션 리밸런싱 지원

불완전한 복제 파티션#


Concept

  • UnderReplicatedPartitions : 불완전 복제 파티션. 기본적으로 리더 레플리카를 잡고 있는 파티션 중 팔로워 레플리카가 따라오지 못하고 있는 파티션의 수를 나타냄

불완전 복제 파티션이 단일 브로커에 몰려있을 경우#

  • 상대적으로 대응하기 쉬움
  • 개별 지표값이 튀는 경우만 확인하면 됨
  • 기본적으로 각각서버의 가용성, 저장장치, OS 사용률 또한 모니터링 필요

불완전 복제 파티션이 클러스터 전체에 걸쳐 분산되어 있을 경우#

4. 컨슈머 지표#

fetch manager#

브로커별, 토픽별 지표#

컨슈머 코디네이터 지표#

쿼터 관련 지표#

5. 랙 모니터링#

6. 종단 모니터링#

end-to-end monitoring

특정 지연의 증가 원인이 무엇인가?

  • 카프카 클러스터에 메시지를 쓸 수 있는가?
  • 카프카 클러스터에서 메시지를 읽을 수 있는가?

Key Takeaway#


Key Takeaway

  • 하드웨어나 운영체제 수준에서 발생하는 문제를 제외한다면 대부분의 문제는 카프카 클러스터 안에서 요청이 몰려서 발생한다.
  • 카프카 모니터링에서 가장 자주 쓰이는 지표 중 하나는 불완전 복제 파티션이다. 이 측정값은 클러스터에 속한 브로커 단위로 집계된다.

Further Reading#

Reference#

  • 카프카 핵심 가이드
[kafka]14. 모니터링
https://yjinheon.netlify.app/posts/02de/kafka/de-kafka-14_kafka_monitoring/
Author
Datamind
Published at
2025-02-14