고급 필터링
Datadog에서 메트릭을 조회할 때 태그 기반으로 기본 필터링을 적용할 수 있을 뿐 아니라, 불리언(Boolean) 문법이나 와일드카드(Wildcard) 기법을 활용해 더 정밀한 고급 필터링도 할 수 있어요. 이 문서에서는 태그를 조합하거나 부분 문자열로 일치시키는 방법과, 제외(Exclusion) 함수로 시각화의 범위를 좁히는 방법을 함께 살펴봐요.
출처: 문서
본문
개요
Metrics Explorer, 모니터(Monitor) 또는 대시보드(Dashboard)에서 메트릭 데이터를 조회할 때 필터를 적용해 반환되는 타임시리즈의 범위를 좁힐 수 있어요. 모든 메트릭은 메트릭 이름 오른쪽에 있는 from 필드를 통해 태그로 필터링할 수 있답니다.
또한 불리언(Boolean) 또는 와일드카드(Wildcard) 태그 값 필터를 사용해 고급 필터링을 수행할 수도 있어요. 로그, 트레이스, 네트워크 모니터링, 실제 사용자 모니터링, 신서틱(Synthetics), 보안 등 메트릭 데이터가 아닌 조회에 대한 설정은 Log Search Syntax 문서를 참고해 주세요.
불리언 필터링 쿼리
불리언 필터링 메트릭 쿼리에서 지원되는 문법은 다음과 같아요.
!,NOT,notAND,andOR,orIN,inNOT IN,not in
여러 태그를 포함하거나 제외할 때는 다음 규칙이 적용돼요.
- 포함(Include)은
AND로직을 사용해요. - 제외(Exclude)는
OR로직을 사용해요.
태그에 대한 자세한 내용은 Getting Started With Using Tags 가이드를 참고해 주세요.
참고: 기호식 불리언 문법(!, ,)은 함수식 문법 연산자(NOT, AND, OR, IN, NOT IN)와 함께 쓸 수 없어요. 다음 쿼리는 유효하지 않은 쿼리로 간주됩니다. avg:mymetric{env:prod AND !region:us-east}
불리언 필터링 쿼리 예시
아래의 예시를 사용하려면 코드 아이콘 </>을 클릭해 UI에서 쿼리 편집기를 열고, 쿼리 예시를 복사해 쿼리 편집기에 붙여넣으면 돼요.
avg:system.cpu.user{env:staging AND (availability-zone:us-east-1a OR availability-zone:us-east-1c)} by {availability-zone}
{% video url="https://docs.dd-static.net/images/metrics/advanced-filtering/graph_editor_code_option.mp4" /%}
avg:system.cpu.user{env:shop.ist AND availability-zone IN (us-east-1a, us-east-1b, us-east4-b)} by {availability-zone}
{% image source="https://docs.dd-static.net/images/metrics/advanced-filtering/boolean_and_in.4ffaf8fa1a12dc6ce84b64a5673e7187.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/metrics/advanced-filtering/boolean_and_in.4ffaf8fa1a12dc6ce84b64a5673e7187.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Boolean example AND IN" /%}
avg:system.cpu.user{env:prod AND location NOT IN (atlanta,seattle,las-vegas)}
{% image source="https://docs.dd-static.net/images/metrics/advanced-filtering/boolean_not_in.4188e6532f99d471cc236e230214528a.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/metrics/advanced-filtering/boolean_not_in.4188e6532f99d471cc236e230214528a.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Boolean example NOT IN" /%}
와일드카드 필터링 쿼리
접두사(prefix), 접미사(suffix), 부분 문자열(substring) 와일드카드 태그 필터링이 지원돼요.
pod_name: web-*cluster:*-tracenode:*-prod-*
와일드카드 필터링 쿼리 예시
avg:system.disk.in_use{!device:/dev/loop*} by {device}
{% image source="https://docs.dd-static.net/images/metrics/advanced-filtering/wildcard_suffix_example.18f7a5b5b262632d1d7c884fcde7ec3b.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/metrics/advanced-filtering/wildcard_suffix_example.18f7a5b5b262632d1d7c884fcde7ec3b.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Wildcard used as suffix" /%}
sum:kubernetes.pods.running{service:*-canary} by {service}
{% image source="https://docs.dd-static.net/images/metrics/advanced-filtering/wildcard_prefix_example.c80b88ab29c5f96ef743f1ae70586610.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/metrics/advanced-filtering/wildcard_prefix_example.c80b88ab29c5f96ef743f1ae70586610.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Wildcard used as prefix" /%}
avg:system.disk.utilized{region:*east*} by {region}
{% image source="https://docs.dd-static.net/images/metrics/advanced-filtering/wildcard_infix.609f406f4c5a9c48fc54fecc69616a22.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/metrics/advanced-filtering/wildcard_infix.609f406f4c5a9c48fc54fecc69616a22.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Wildcard used as infix" /%}
제외(Exclusion) 함수
제외 함수를 쿼리에 추가하면 다음 작업을 할 수 있어요.
- N/A 값을 제외할 수 있어요.
- 임계값을 충족하는 메트릭에 최솟값 또는 최댓값을 적용할 수 있어요.
- 임계값보다 높거나 낮은 값을 제외할 수 있어요.
함수는 Datadog에서 datapoint를 삭제하진 않지만, 시각화에서는 해당 datapoint를 제거해요.
더 알아보기 (Learn more)
추가로 도움이 되는 문서, 링크, 글: