본문 바로가기
WIKI 기술 지식 베이스

Datadog에서 백분위수(percentile)를 그래프로 그리는 방법

원문 보기 위키 갱신

Datadog에서 백분위수를 얻으려면 DogStatsD를 통해 데이터를 히스토그램 메트릭으로 제출하면 돼요. Agent에 내장된 DogStatsD 서버가 DogStatsD 패킷을 받아 데이터 집계를 수행한 뒤, 최종 백분위수 메트릭을 Datadog으로 보내줍니다.

출처: 문서

본문

DogStatsD 구현

Datadog에서 백분위수를 얻으려면 DogStatsD를 통해 데이터를 히스토그램 메트릭으로 제출하면 돼요. Agent에 내장된 DogStatsD 서버가 DogStatsD 패킷을 수신하고, 데이터 집계를 수행한 뒤 최종 백분위수 메트릭을 Datadog으로 보내줘요.

이 집계는 수집 측에서 처리되기 때문에, GUI의 그래프 함수로는 이 기능을 사용할 수 없어요.

히스토그램 데이터에서 얻을 수 있는 값: 95번째 백분위수, 50번째 백분위수, avg, max, count.

추가 백분위수

Agent 설정 파일의 "histogram_percentiles" 줄을 통해 추가 백분위수를 얻을 수 있어요. 예:

  • histogram_percentiles: 0.95, 0.75

히스토그램에 대해 더 알아보기

로컬 집계

히스토그램은 Datadog Agent가 호스트별로 10초마다 계산해요. 이 수집 모델에는 장점과 한계가 함께 있어요.

장점

  • 히스토그램 메트릭을 계산하는 데 사용된 원시 데이터포인트는 Datadog 사이트에 노출되거나 중계되지 않아요.
  • StatsD가 관련 집계를 처리하고 계산된 데이터 패키지를 Datadog 서버에 직접 제출해요.

단점

  • 집계된 데이터의 두 스트림이 있다면, 두 스트림의 원시 데이터포인트에 걸쳐 집계하는 것은 현재 불가능하고 집계 결과에 대해서만 집계할 수 있어요.

    • 예: 모든 리전의 <METRIC_NAME>.avg를 평균내면, 각 리전의 평균 스트림 값을 가져와 평균의 평균을 계산해요.
  • 태그 복잡성을 높이는 변경(더 세분화하기 위해 태그를 추가하는 것)은 롤업된 메트릭 시각화의 동작을 바꿀 수 있어요.

    • 예: 변경 전에는 <METRIC_NAME>.avg(태그 없음)가 모든 원시 포인트에 걸쳐 집계됐다면(StatsD가 모든 원시 데이터포인트를 받아 집계한 뒤 단일 메트릭 스트림으로 전송), region(US, EU) 같은 태그를 추가하면 StatsD가 원시 데이터포인트를 두 개의 region 버킷으로 나눠 집계한 뒤 두 개의 스트림으로 전송하게 돼요. 즉 <METRIC_NAME>.avg를 AVG by *로 그래프를 그리면 단일 스트림이 아니라 두 스트림에 걸친 집계가 된다는 뜻이에요.

Datadog 히스토그램의 특성에 대해 더 읽어보기

더 알아보기 (Learn more)

도움이 되는 추가 문서, 링크, 아티클이에요: