쿼리 및 조건 - Amazon Managed Grafana

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

쿼리 및 조건

이 설명서 항목은 Grafana 버전 10.x를 지원하는 Grafana 작업 영역을 위해 설계되었습니다.

Grafana 버전 9.x를 지원하는 Grafana 작업 영역에 대한 내용은 을 참조하십시오. Grafana 버전 9에서 작업하기

Grafana 버전 8.x를 지원하는 Grafana 작업 영역에 대한 내용은 을 참조하십시오. Grafana 버전 8에서 작업하기

Grafana에서 쿼리는 MySQL 및 PostgreSQL과 같은 데이터베이스, Prometheus, InfluxDB 및 Graphite와 같은 시계열 데이터베이스, Amazon, Azure Monitor 및 Google Cloud Monitoring과 같은 서비스를 포함하는 지원되는 데이터 소스에서 데이터를 가져오고 변환하는 데 중요한 역할을 합니다. OpenSearch CloudWatch

지원되는 데이터 소스에 대한 자세한 내용은 을 참조하십시오. 데이터 소스 및 Grafana 알림

쿼리를 실행하는 프로세스에는 데이터 원본을 정의하고, 검색하려는 데이터를 지정하고, 관련 필터 또는 변환을 적용하는 과정이 포함됩니다. 선택한 데이터 소스와 관련된 쿼리 언어 또는 구문은 이러한 쿼리를 구성하는 데 사용됩니다.

알림에서는 측정하려는 데이터를 가져오기 위한 쿼리와 경고 규칙이 실행되기 전에 충족해야 하는 조건을 정의합니다.

알림 규칙은 측정할 데이터를 선택하는 하나 이상의 쿼리와 표현식으로 구성됩니다.

쿼리 및 표현식에 대한 자세한 내용은 을 참조하십시오데이터 쿼리 및 변환.

데이터 소스 쿼리

Grafana의 쿼리는 사용 중인 데이터 소스 및 쿼리 언어에 따라 다양한 방식으로 적용될 수 있습니다. 각 데이터 소스의 쿼리 편집기는 고유한 기능을 활용하는 쿼리를 작성하는 데 도움이 되는 사용자 지정 사용자 인터페이스를 제공합니다.

쿼리 언어 간의 차이로 인해 각 데이터 원본 쿼리 편집기는 모양과 기능이 다릅니다. 데이터 원본에 따라 쿼리 편집기는 자동 완성 기능, 지표 이름, 변수 제안 또는 시각적 쿼리 작성 인터페이스를 제공할 수 있습니다.

몇 가지 일반적인 유형의 쿼리 구성 요소는 다음과 같습니다.

지표 또는 데이터 필드 - CPU 사용량, 네트워크 트래픽 또는 센서 판독값과 같이 검색하려는 특정 지표 또는 데이터 필드를 지정합니다.

시간 범위 - 최근 1시간, 특정 날짜 또는 사용자 지정 시간 범위와 같이 데이터를 가져올 시간 범위를 정의합니다.

필터 - 필터를 적용하여 특정 기준 (예: 특정 태그, 호스트 또는 애플리케이션별 데이터 필터링) 에 따라 데이터 범위를 좁힐 수 있습니다.

집계 — 데이터에 대한 집계를 수행하여 지정된 기간 동안의 평균, 합계 또는 개수와 같은 지표를 계산합니다.

그룹화 — 특정 측정기준 또는 태그별로 데이터를 그룹화하여 집계된 보기 또는 분류를 생성합니다.

참고

Grafana는 템플릿 변수를 사용한 경고 쿼리를 지원하지 않습니다. 자세한 내용은 Grafana Labs 포럼에서 확인할 수 있습니다.

표현식 쿼리

Grafana에서 표현식은 데이터 소스 쿼리 데이터에 대한 계산, 변환 또는 집계를 수행하는 데 사용됩니다. 이를 통해 수학 연산, 함수 또는 논리적 표현식을 기반으로 사용자 지정 메트릭을 만들거나 기존 메트릭을 수정할 수 있습니다.

표현식 쿼리를 활용하여 사용자는 두 값 간의 백분율 변화를 계산하고, 로그 또는 삼각 함수와 같은 함수를 적용하고, 특정 시간 범위 또는 차원에 대한 데이터를 집계하고, 다양한 시나리오를 처리하기 위한 조건부 논리를 구현하는 등의 작업을 수행할 수 있습니다.

알림에서는 Grafana에서 관리하는 알림 규칙에 대한 표현식만 사용할 수 있습니다. 각 표현식에 대해 수학, 축소 및 리샘플링 식 중에서 선택할 수 있습니다. 각 시리즈에 대해 별도의 알림을 생성하므로 이를 다차원 규칙이라고 합니다.

조건이 충족될 때 단일 알림을 트리거하는 경고 규칙을 생성하는 클래식 조건을 사용할 수도 있습니다. 따라서 Grafana는 여러 시리즈의 알림 조건이 충족되는 경우에도 단일 알림만 전송합니다.

참고

클래식 조건은 주로 호환성을 이유로 존재하므로 가능하면 피해야 합니다.

줄이십시오

선택한 시간 범위의 시계열 값을 단일 값으로 집계합니다.

수학 연산

시계열 및 숫자 데이터에 대해 자유형 수학 함수/연산을 수행합니다. 시계열 데이터를 전처리하거나 숫자 데이터에 대한 경고 조건을 정의하는 데 사용할 수 있습니다.

리샘플링

시간 범위를 새로운 타임스탬프 세트에 맞게 재정렬합니다. 다른 방법으로는 타임스탬프가 정렬되지 않는 여러 데이터 소스의 시계열 데이터를 비교할 때 유용합니다.

Threshold

시계열 데이터가 임계값 조건과 일치하는지 확인합니다.

임계값 식을 사용하면 두 개의 단일 값을 비교할 수 있습니다. 조건이 거짓이고 1 조건이 참일 0 때 반환됩니다. 다음과 같은 임계값 함수를 사용할 수 있습니다.

  • (x > y) 이상입니다.

  • 미만입니다 (x < y)

  • 아래에 있음 (x y1 및 x < y2)

  • < y1 AND x >범위를 벗어났습니다 (x y2)

클래식 상태

시계열 데이터가 경고 조건과 일치하는지 확인합니다.

참고

클래식 조건 표현식 쿼리는 조건을 충족하는 시계열 수에 관계없이 항상 알림 인스턴스를 하나만 생성합니다. 클래식 조건은 주로 호환성을 이유로 존재하므로 가능하면 사용하지 않는 것이 좋습니다.

집계

Grafana Alerting은 쿼리를 더욱 세분화할 수 있도록 다음과 같은 집계 함수를 제공합니다.

이러한 함수는 Reduce 및 Classic 조건 표현식에만 사용할 수 있습니다.

함수 표현식 하는 일
avg 리듀스/클래식 값의 평균을 표시합니다.
min 리듀스/클래식 가장 낮은 값을 표시합니다.
최대 리듀스/클래식 가장 높은 값을 표시합니다.
sum 리듀스/클래식 모든 값의 합계를 표시합니다.
count 리듀스/클래식 결과의 값 수를 계산합니다.
last 리듀스/클래식 마지막 값을 표시합니다.
median 리듀스/클래식 중앙값을 표시합니다.
DIFF 클래식 최신 값과 가장 오래된 값의 차이를 표시합니다.
diff_abs 클래식 diff의 절대값을 표시합니다.
퍼센트_diff 클래식 최신 값과 가장 오래된 값 간의 차이에 대한 백분율 값을 표시합니다.
퍼센트_diff_abs 클래식 백분율_diff의 절대값을 표시합니다.
개수_비_null 클래식 결과 집합에서 그렇지 않은 값의 개수를 표시합니다. null

경고 조건

알림 조건은 생성되는 값에 따라 알림 발생 여부를 결정하는 쿼리 또는 표현식입니다. 알림 트리거를 결정하는 조건은 하나뿐일 수 있습니다.

쿼리 및/또는 표현식을 정의한 후 그 중 하나를 알림 규칙 조건으로 선택합니다.

쿼리된 데이터가 정의된 조건을 충족하면 Grafana는 관련 알림을 트리거합니다. 이 알림은 이메일, Slack 등과 같은 다양한 채널을 통해 알림을 보내도록 구성할 수 있습니다. PagerDuty 알림을 통해 조건 충족 여부를 알려주므로 적절한 조치를 취하거나 근본적인 문제를 조사할 수 있습니다.

기본적으로 마지막으로 추가된 표현식이 알림 조건으로 사용됩니다.

복구 임계값

펄럭이는 경고의 소음을 줄이기 위해 복구 임계값을 경고 임계값과 다르게 설정할 수 있습니다.

플래핑 경보는 지표가 경보 임계값 조건을 벗어날 때 발생하며, 이로 인해 상태가 자주 변경되어 너무 많은 알림이 생성될 수 있습니다.

Grafana에서 관리하는 알림 규칙은 특정 시간 간격 동안 평가됩니다. 각 평가 중에 쿼리 결과는 알림 규칙에 설정된 임계값과 비교하여 확인됩니다. 지표 값이 임계값을 초과하면 경고 규칙이 실행되고 알림이 전송됩니다. 값이 임계값 아래로 떨어지고 이 지표에 대한 활성 경고가 있는 경우 경고가 해결되고 다른 알림이 전송됩니다.

잡음이 많은 지표에 대한 알림 규칙을 만드는 것은 까다로울 수 있습니다. 즉, 지표의 값이 계속해서 임계값을 초과하거나 하회하는 경우입니다. 이를 플래핑이라고 하며, 이로 인해 일련의 실행 (해결됨) 알림과 잡음이 발생하는 경고 상태 기록이 발생합니다.

예를 들어, 임계값이 1000ms인 지연 시간에 대한 알림이 있고 숫자가 1000 부근에서 변동하는 경우 (예: 980 ->1010 -> 990 -> 1020 등), 각 알림은 알림을 트리거합니다.

이 문제를 해결하려면 (사용자 지정) 복구 임계값을 설정할 수 있습니다. 즉, 기본적으로 1개가 아닌 두 개의 임계값을 설정해야 합니다. 경고는 첫 번째 임계값을 초과할 때 트리거되고 두 번째 임계값을 초과할 때만 해결됩니다.

예를 들어 임계값을 1000ms로 설정하고 복구 임계값을 900ms로 설정할 수 있습니다. 이렇게 하면 알림 규칙이 900ms 미만이 될 때만 실행을 중지하고 플래핑이 줄어듭니다.