본문으로 건너뛰기

03 · 우리가 보는 자기감시 메트릭

  • 전송 상태는 네 지표로 봅니다 — retries(재시도), packets_dropped(드랍), bytes_sent(전송량), pending_data_bytes(대기 큐).
  • bytes_sent로 forceVMProto 효과를 판정합니다 — 적용 후 뚝 떨어졌으면 여태 snappy로 나갔고 그대로면 이미 zstd였습니다. 둘 다 정상입니다.
  • pending_data_bytes가 평시 0 근처를 벗어나 계속 증가하면 목적지 병목 신호입니다.
  • 카디널리티 감시(churn rate · slow insert)는 D2 개념을 계승합니다 → 실전 01 카디널리티. 인벤토리는 vmui + metric_names_stats로 뽑습니다.

Phase 1이 제대로 적용됐는지 전송이 건강한지 판정할 때 보는 자기감시(self-monitoring) 메트릭을 정리합니다. 02의 적용 후 확인이 여기로 이어집니다.

관련 문서: 02 vmagent 전송 튜닝 · 실전 01 카디널리티 · 04 스케일링·용량 기준치 · 우리의 운영 허브

전송 상태 4지표

  • vmagent_remotewrite_retries_count_total — 전송 재시도 횟수. 정상 기준: rate(...[5m]) ≈ 0 유지. 값이 오르면 목적지가 불안정하거나 write가 반복 실패하는 중입니다.
  • vmagent_remotewrite_packets_dropped_total — 버려진 패킷 수. 정상 기준: increase(...[1h]) = 0 유지. 0이 아니면 데이터가 실제로 유실됐습니다(큐 상한 초과·포맷 거부 등).
  • vmagent_remotewrite_bytes_sent_total — URL별 전송 바이트. 정상 기준: 안정적 추세. forceVMProto 효과 판정용(아래 참고).
  • vmagent_remotewrite_pending_data_bytes — 아직 못 보낸 대기 큐 크기. 정상 기준: 평시 0 근처. 계속 증가하면 목적지 병목입니다(큐가 계속 쌓임).

PromQL 예제

# ① 재시도 — 0 근처 유지
rate(vmagent_remotewrite_retries_count_total[5m])

# ② 드랍 — 0 유지 (0이 아니면 유실 발생)
increase(vmagent_remotewrite_packets_dropped_total[1h])

# ③ URL별 전송량 — forceVMProto 효과 판정
sum(rate(vmagent_remotewrite_bytes_sent_total[10m])) by (url)

# ④ 대기 큐 — 지속 증가하면 목적지 병목
vmagent_remotewrite_pending_data_bytes

bytes_sentforceVMProto 효과 판정

forceVMProto 적용 전후로 URL별 전송량을 비교합니다.

  • 뚝 떨어짐 → 여태 snappy로 나갔습니다. zstd 고정으로 절감이 확정됐습니다.
  • 그대로 → 이미 zstd였다는 뜻입니다. 이번 변경은 다운그레이드 방지 보장만 추가했습니다.

둘 다 정상입니다. 떨어졌다면 절감 효과를 얻었고 그대로라면 원래 최적이던 상태를 고정했습니다. 나빠질 시나리오는 없습니다.

카디널리티 감시 — D2 개념 계승

전송 지표와 별개로 수집하는 시계열 자체가 건강한지도 확인해야 합니다. 원리는 D2 발표에서 정리한 그대로입니다 — churn rate(24시간 내 신규 시계열 생성 속도)와 slow insert rate(지속 10% 초과 시 메모리 부족 경고)를 봅니다. 개념과 임계의 근거는 실전 01 카디널리티에서 다룹니다. slow insert 임계를 운영에 어떻게 적용하는지는 04에도 정리했습니다.

인벤토리 도구

지금 어떤 지표가 카디널리티를 먹고 있는지는 다음으로 뽑습니다.

  • vmui 카디널리티 익스플로러 — /vmui/#/cardinality
  • 메트릭 이름별 통계 API — /api/v1/status/metric_names_stats

이 인벤토리로 무엇을 drop/keep 할지는 실측한 뒤 정할 예정입니다(TODO). 규칙을 성급하게 넣기보다 실제 분포를 먼저 봅니다.

마지막 수정 일자