와일드카드 위젯
와일드카드 위젯 (Wildcard Widget)
출처: 문서
본문
개요 (Overview)
Datadog의 와일드카드(Wildcard) 위젯은 오픈소스 Vega-Lite "그래픽의 문법(Grammar of Graphics)" 언어의 유연성을 확장해 Datadog 플랫폼과 통합해요. 와일드카드 위젯을 사용하면 기본 Datadog 위젯과 쿼리 시스템에서는 만들 수 없는 그래프를 만들 수 있어요.
와일드카드 위젯은 대시보드(Dashboards)와 노트북(Notebooks)에서 사용할 수 있어요.
모범 사례 (Best Practices)
Datadog은 사용 사례를 충족하기 위해 기존 대시보드 위젯을 사용할 것을 권장해요. 모든 기본 위젯에는 와일드카드 위젯에는 없는 디자인 및 성능 최적화가 적용되어 있어요. 알려진 제한 사항은 추가 정보(Additional information) 섹션을 참고하세요.
하지만 어떤 Datadog 위젯도 시각화 요구를 충족하지 못한다면, 와일드카드 위젯은 새 기능이나 그래프 유형이 추가될 때까지 기다리지 않고 대시보드에 새 기능을 빠르게 추가하는 방법이에요.
- 처음부터 시작하지 마세요. Vega-Lite는 150개 이상의 공식 예시가 있는 공개 갤러리를 유지해요. 어떤 그래프 유형을 사용할지 확실하지 않으면 기존 예시를 포크해서 시각화를 테스트해 보세요. 단순성과 디버깅 용이성을 위해 Vega보다 Vega-Lite를 사용하세요.
- 와일드카드 위젯을 테스트하세요. 와일드카드 위젯의 유연성은 느리거나 매력적이지 않거나 일관성 없는 시각화를 만들 위험을 수반해요. 프로덕션에 와일드카드 위젯을 추가하기 전에 스크래치패드나 빈 대시보드에서 테스트해 보세요.
- 쿼리를 검증하세요. Datadog 위젯은 데이터 시각화가 쿼리와 의미적으로 정렬되도록 보장해서, 구성이 예상된 그래프를 만들 수 있게 해요. 와일드카드 위젯에서는 요청이 시각 요소에 어떻게 매핑되는지 정의하는 사용자 지정 Vega-Lite 스펙을 추가하므로, 시각화에서 사용되지 않는 데이터 필드를 가져올 가능성이 생겨요. 데이터 미리보기(Data Preview)를 사용해서 불일치를 디버깅하세요.
설정 (Setup)
와일드카드 위젯을 만든 후에는 새 구성으로 구성하거나 기존 위젯에서 구성을 가져와서 구성할 수 있어요.
새 와일드카드 위젯 구성 (Configure a new Wildcard widget)
- 기본 위젯을 확인하세요. Datadog 위젯이 요구 사항을 충족할 수 있는지 확인해요.
- 어떤 Datadog 위젯도 요구 사항을 충족하지 못하면, 새 대시보드 또는 기존 대시보드에서 위젯 추가(Add Widgets)를 클릭해요.
- 위젯 트레이에서 와일드카드 위젯(Wildcard Widget) 아이콘을 클릭하고 드래그해요.
- 요청 유형(Request Type) 드롭다운에서 선택해요. Scalar 및 Timeseries 유형에 대한 자세한 내용은 이 페이지의 Formulas Scalar와 Formulas Timeseries 섹션을 참고하세요.
- 공개 갤러리에서 Vega-Lite 정의를 복사해서 시작용 Vega-Lite 스펙을 찾아요.
- 와일드카드 위젯 전체 화면 편집기를 열고 시각화 정의(Define Visual)를 클릭해요.
- 복사한 Vega-Lite 정의를 붙여넣어요.
- 실행(Run)을 클릭해서 구성 변경을 적용하고 시각화 미리보기를 확인하며 디자인을 반복해요. 참고: 변경 사항을 적용하려면 실행을 클릭해야 하지만, 이는 구성을 저장하지 않아요.
- (선택) 데이터 미리보기(Data Preview)로 Vega-Lite 스펙 불일치를 디버깅해요. Vega-Lite 스펙의 쿼리가 Datadog 쿼리에 매핑되는지 확인하세요.
- 저장(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)
- 기존 Datadog 위젯에서
cmd+c로 복사해요. - 와일드카드 위젯 전체 화면 편집기를 열어요.
cmd+v로 붙여넣어요.- 저장(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 그래픽 표현.