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

와일드카드 위젯

원문 보기 위키 갱신

와일드카드 위젯 (Wildcard Widget)

출처: 문서

본문

개요 (Overview)

Datadog의 와일드카드(Wildcard) 위젯은 오픈소스 Vega-Lite "그래픽의 문법(Grammar of Graphics)" 언어의 유연성을 확장해 Datadog 플랫폼과 통합해요. 와일드카드 위젯을 사용하면 기본 Datadog 위젯과 쿼리 시스템에서는 만들 수 없는 그래프를 만들 수 있어요.

와일드카드 위젯은 대시보드(Dashboards)와 노트북(Notebooks)에서 사용할 수 있어요.

모범 사례 (Best Practices)

Datadog은 사용 사례를 충족하기 위해 기존 대시보드 위젯을 사용할 것을 권장해요. 모든 기본 위젯에는 와일드카드 위젯에는 없는 디자인 및 성능 최적화가 적용되어 있어요. 알려진 제한 사항은 추가 정보(Additional information) 섹션을 참고하세요.

하지만 어떤 Datadog 위젯도 시각화 요구를 충족하지 못한다면, 와일드카드 위젯은 새 기능이나 그래프 유형이 추가될 때까지 기다리지 않고 대시보드에 새 기능을 빠르게 추가하는 방법이에요.

  1. 처음부터 시작하지 마세요. Vega-Lite는 150개 이상의 공식 예시가 있는 공개 갤러리를 유지해요. 어떤 그래프 유형을 사용할지 확실하지 않으면 기존 예시를 포크해서 시각화를 테스트해 보세요. 단순성과 디버깅 용이성을 위해 Vega보다 Vega-Lite를 사용하세요.
  2. 와일드카드 위젯을 테스트하세요. 와일드카드 위젯의 유연성은 느리거나 매력적이지 않거나 일관성 없는 시각화를 만들 위험을 수반해요. 프로덕션에 와일드카드 위젯을 추가하기 전에 스크래치패드나 빈 대시보드에서 테스트해 보세요.
  3. 쿼리를 검증하세요. Datadog 위젯은 데이터 시각화가 쿼리와 의미적으로 정렬되도록 보장해서, 구성이 예상된 그래프를 만들 수 있게 해요. 와일드카드 위젯에서는 요청이 시각 요소에 어떻게 매핑되는지 정의하는 사용자 지정 Vega-Lite 스펙을 추가하므로, 시각화에서 사용되지 않는 데이터 필드를 가져올 가능성이 생겨요. 데이터 미리보기(Data Preview)를 사용해서 불일치를 디버깅하세요.

설정 (Setup)

와일드카드 위젯을 만든 후에는 새 구성으로 구성하거나 기존 위젯에서 구성을 가져와서 구성할 수 있어요.

새 와일드카드 위젯 구성 (Configure a new Wildcard widget)

  1. 기본 위젯을 확인하세요. Datadog 위젯이 요구 사항을 충족할 수 있는지 확인해요.
  2. 어떤 Datadog 위젯도 요구 사항을 충족하지 못하면, 새 대시보드 또는 기존 대시보드에서 위젯 추가(Add Widgets)를 클릭해요.
  3. 위젯 트레이에서 와일드카드 위젯(Wildcard Widget) 아이콘을 클릭하고 드래그해요.
  4. 요청 유형(Request Type) 드롭다운에서 선택해요. Scalar 및 Timeseries 유형에 대한 자세한 내용은 이 페이지의 Formulas Scalar와 Formulas Timeseries 섹션을 참고하세요.
  5. 공개 갤러리에서 Vega-Lite 정의를 복사해서 시작용 Vega-Lite 스펙을 찾아요.
  6. 와일드카드 위젯 전체 화면 편집기를 열고 시각화 정의(Define Visual)를 클릭해요.
  7. 복사한 Vega-Lite 정의를 붙여넣어요.
  8. 실행(Run)을 클릭해서 구성 변경을 적용하고 시각화 미리보기를 확인하며 디자인을 반복해요. 참고: 변경 사항을 적용하려면 실행을 클릭해야 하지만, 이는 구성을 저장하지 않아요.
  9. (선택) 데이터 미리보기(Data Preview)로 Vega-Lite 스펙 불일치를 디버깅해요. Vega-Lite 스펙의 쿼리가 Datadog 쿼리에 매핑되는지 확인하세요.
  10. 저장(Save)을 클릭해요.

Formulas Scalar vs. Formulas Timeseries

Datadog 대시보드에서 시각화는 스칼라(scalar)와 시계열(timeseries)을 포함한 여러 요청 유형으로 구동돼요. 각 요청 유형은 와일드카드 위젯의 데이터에 사용 가능한 필드의 수와 유형을 변경해요.

Timeseries

이 데이터 형식은 데이터가 시간에 따라 어떻게 변하는지 표시하도록 설계됐어요.

  • 사용 사례: CPU 사용량, 메모리 소비, 요청 비율처럼 변동하는 메트릭을 모니터링하는 데 이상적이에요. 지정된 시간 범위에서 트렌드, 패턴, 이상 징후를 식별하는 데 도움을 줘요.

Scalar

이 데이터 형식은 데이터를 집계해서 "그룹"당 1개의 값을 생성해요. 스칼라 형식은 toplist, treemap, 파이 차트, 테이블 위젯에 사용되며, 여기서 각 그룹은 그래프의 모양 1개(각각 막대, 사각형, 조각, 행)를 나타내요.

  • 사용 사례: 핵심 성과 지표(KPI)나 평균, 합계, 백분위 같은 요약 통계를 표시하는 데 가장 적합해요. 현재 상태 또는 특정 메트릭의 요약 뷰를 제공해요. 시간에 따른 변화를 설명하지 않는다면 Scalar를 사용하세요.

Timeseries 데이터 형식은 시간에 따른 데이터 트렌드를 강조하고, Scalar 형식은 빠른 평가를 위한 단일 계산 값을 제시하는 데 초점을 맞춰요. 축에 시간을 시각화해야 하거나 개별 시간 버킷이 필요하면 Timeseries 유형을 선택하세요. 시간에 대해 시각화하지 않는다면 성능을 위해 Scalar 유형을 선택하세요.

참고: "Formulas" 접두사는 Scalar와 Timeseries 형식이 Functions API와 호환되기 때문에 특별히 사용돼요. Histogram 및 List 같은 다른 형식은 이 API를 지원하지 않아요.

기존 위젯에서 데이터 가져오기 (Import data from an existing widget)

  1. 기존 Datadog 위젯에서 cmd+c로 복사해요.
  2. 와일드카드 위젯 전체 화면 편집기를 열어요.
  3. cmd+v로 붙여넣어요.
  4. 저장(Save)을 클릭해요.

명령 팔레트 (Command palette)

명령 팔레트는 와일드카드 위젯 도구에 빠르게 접근할 수 있게 해줘요. cmd + shift + p로 활성화하거나 페이지 상단의 정보 아이콘을 클릭해요.

데이터 미리보기 (Data Preview)

데이터 미리보기 테이블은 데이터 요청에서 Vega-Lite 스펙에 사용할 수 있는 응답, 필드, 값을 보여줘요. 접근하려면 와일드카드 위젯 편집기 하단의 화살표를 클릭해서 데이터 미리보기 표시(Show data preview)를 열어요. 미리보기에는 세 가지 유형의 테이블이 있어요.

  • 요청 행(Request Rows): 실제 데이터를 표시해요.
  • 요청 열(Request Columns): 열 요약 통계와 데이터 타입을 표시해요.
  • 내부 테이블(Internal Tables): Vega-Lite가 저장한 변환된 데이터를 표시해요.

Datadog 데이터를 Vega-Lite 스펙에 매핑 (Map Datadog data to Vega-Lite specifications)

Datadog 기본 위젯은 쿼리 결과를 시각화 요소에 자동으로 매핑하지만, 와일드카드 위젯은 Datadog 쿼리가 시각 요소에 어떻게 매핑되는지 정의하는 사용자 지정 Vega-Lite 스펙을 추가해야 해요. 이로 인해 불일치가 발생할 수 있어요. 데이터 미리보기를 사용하면 Vega-Lite 스펙이 올바른 쿼리 응답에 매핑되는지 확인할 수 있어요.

Datadog 값이 Vega-Lite 스펙에 어떻게 매핑되는지 보려면 env별로 평균을 낸 system.cpu.user 메트릭 쿼리 예시로 시작해 보세요.

시각화 정의(Define Visual) 탭을 클릭해서 이 쿼리가 Vega-Lite에 어떻게 매핑되는지 확인해요. 데이터 미리보기 패널을 열고 Vega-Lite 스펙과 데이터 미리보기 열에 일치하는 query1 및 env 필드가 나열된 것을 확인해요.

  {
    "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
    "data": {
      "name": "table1"
    },
    "encoding": {
      "x": {
        "field": "env",
        "type": "nominal"
      },
      "y": {
        "field": "query1",
        "type": "quantitative"
      }
    },
    "mark": {
      "type": "rect",
      "tooltip": {
        "content": "data"
      }
    }
  }

Datadog 데이터와 Vega-Lite 스펙 사이의 불일치를 보여주려면 쿼리에 별칭(alias)을 추가해 보세요. Vega-Lite 스펙이 여전히 "query1"을 가리키지만 데이터 미리보기 열은 새 쿼리가 이제 새 별칭 "example"임을 보여주므로 시각화가 작동하지 않아요. 이 시각화를 수정하려면 field:"query1"을 field:"example"로 바꿔야 해요.

호환 데이터 형식 (Compatible data formats)

와일드카드 위젯은 기본 위젯에서 지원하는 모든 데이터 소스의 데이터 요청을 지원해요.

요청 유형 이 요청 유형을 사용하는 위젯
Scalar 요청 Change, Pie Chart, Query Value, Scatter Plot, Table, Treemap, Top List, Distribution (of groups), Geomap
Timeseries 요청 Timeseries, Heatmap
Distribution 요청 Distribution (of points)
List 요청 List 위젯의 모든 "이벤트" 지향 데이터

추가 정보 (Additional information)

Vega와 Vega-Lite 선택 (Choosing Between Vega and Vega-Lite)

단순성과 간결함을 위해 Vega-Lite를 선택하세요. 시스템은 Vega-Lite 버전 5.18.1을 지원해요. 더 복잡하거나 고급 시각화 요구에는 Vega를 사용하세요.

Terraform 통합 (Terraform Integration)

Terraform 대시보드에서 와일드카드 위젯을 사용할 때는 datadog_dashboard_json 리소스를 사용하세요.

알려진 제한 사항 (Known Limitations)

다음 시나리오에는 와일드카드 위젯을 사용하지 마세요.

  • 높은 카디널리티의 시각화. 요청당 5,000개 이상의 행이 있는 시각화라면 그래프로 그리기 전에 백엔드에서 데이터를 사전 집계(pre-aggregate)하는 것을 고려하세요.
  • 네트워크 또는 계층적 시각화.
  • 물리 기반 레이아웃이 필요한 시각.
  • 고급 지리 매핑.
  • 3D 그래픽 표현.

더 알아보기 (Learn more)