알림
Telemetry 알림을 사용하면 쿼리 출력을 모니터링하고 지표가 임계값을 초과할 때 이메일로 알림을 받을 수 있습니다.
Alert API를 사용하여 이러한 알림 정의를 프로그래밍 방식으로 나열, 생성, 업데이트 또는 삭제합니다.
하나의 시계열 선으로 알림이 시작되는 이유
Telemetry는 의도적으로 좁은 결과 모양에 알림 만들기를 사용할 수 있도록 합니다. 즉, x축에 시간이 있는 선형 차트, y축에 하나의 숫자 메트릭, 그룹 기준또는분할 기준 차원이 없습니다. 이는 단순한 차트 제한이 아니라 알림 모델의 일부입니다.
단일 시계열 선은 사람이 설명하고 검토할 수 있는 정의를 알림에 제공합니다.
- 각 포인트는 연속적인 시간 버킷에 대해 동일한 질문을 합니다.
- 모든 값에는 동일한 메트릭, 단위, 필터 및 모집단이 있습니다.
- "마지막 N 데이터 포인트"는 정렬된 최근 버킷 세트에 매핑됩니다.
- 임계값은 하나의 상태, 즉 신호가 예상 범위 내에 있거나 그렇지 않은 상태를 생성합니다.
다중 계열 차트는 조사에 유용하지만 중요한 알림 동작을 정의되지 않은 상태로 둡니다. 어떤 라인이 임계값을 초과할 때 알림이 발생해야 합니까, 아니면 모든 라인이 임계값을 초과할 때만 발생해야 합니까? 각 경로, 고객, 지역 또는 릴리스에 별도의 상태와 알림이 있어야 합니까? 계열이 사라지거나, 새 값이 나타나거나, 하나의 임계값이 모든 그룹에 맞지 않으면 어떻게 해야 합니까? Telemetry는 이러한 의미를 자동으로 선택하지 않습니다.
대시보드는 여러 줄의 비교와 광범위한 컨텍스트를 보존할 수 있습니다. 알림은 하나의 소유자와 하나의 응답을 포함하는 작고 결정적인 어설션이어야 합니다. 해당 줄 뒤에 있는 쿼리에는 여전히 조인, 필터, 비율, 최소 볼륨 보호 또는 기타 복잡한 논리가 포함될 수 있습니다. 최종 결과는 해당 논리를 하나의 정렬된 신호로 줄여야 합니다.
그룹화된 차트를 알림으로 전환
유용한 대시보드 차트에 여러 줄이 있는 경우:
- 비교 및 진단을 위해 대시보드에 멀티 시리즈 버전을 보관하세요.
- 소유자와 응답이 있는 특정 조건을 선택합니다.
- 하나의 모집단으로 필터링하거나 의도적으로 SQL에서 그룹을 집계합니다.
- 각 버킷에 대해 명시적인 시간 버킷과 하나의 숫자 값을 반환합니다.
- 선차트를 선택하고그룹화 기준또는분할 기준을 삭제하세요.
- 그룹별로 서로 다른 임계값, 소유자 또는 대응 절차가 필요한 경우 별도의 알림을 생성하세요.
알림 생성이 보이지 않는 경우 먼저 결과 모양을 확인하세요. 탐색에서는 분할 기준이 없는 꺾은선형 차트를 사용합니다. SQL 결과의 경우 꺾은선형 차트를 사용하고 x축에 시간 열을 선택하고 y축에 숫자 값을 선택한 다음 그룹화 기준을 없음으로 설정합니다.
알림 작동 방식
각 알림 평가는 동일한 흐름을 따릅니다.
- 저장된 쿼리를 실행합니다(탐색 또는 SQL 쿼리에서).
- 타임스탬프를 기준으로 행을 정렬합니다(최신 항목부터).
- 최신 행을 제외하려면
Ignore the last data point를 켜세요. - 마지막
N데이터 포인트를 가져옵니다. - 집계(
avg,sum,p95등)를 계산합니다. - 값을 임계값과 비교하십시오.
- 상태가 변경되면(트리거되거나 해결됨) 알림을 보냅니다.
Explore에서 알림 만들기
/team/{team}/table/{table}?tab=explore를 엽니다.- 선 차트, 메트릭 1개, 기간 및 필터를 선택합니다.
- 결과가 한 줄이 되도록 분할 기준을 비워 두세요.
- 실행을 클릭합니다.
- 차트 위의 결과 툴바에서 알림 생성을 클릭합니다.
- 조건, 간격, 수신자를 구성합니다.
- 저장하려면 알림 만들기를 클릭하세요.
탐색 쿼리를 실행하면 결과 도구 모음 오른쪽에 대시보드에 추가 옆에 알림 버튼이 나타납니다.
사용 알림 생성 클릭한 후 결과 도구 모음에서 실행.
생성 후에는 상태 및 이벤트 기록을 검사할 수 있는 /team/{team}/alert/{alertSlug}에 접속하게 됩니다.
SQL 쿼리 결과에서 알림 만들기
- 하나의 시간 열과 하나의 숫자 신호를 반환하는 저장된 쿼리를 엽니다.
- 쿼리를 실행하고 차트 탭으로 전환합니다.
- 선차트를 선택하고 시간 열을 x축으로 설정하고 숫자 신호를 y축으로 설정하고그룹화 기준을 없음으로 그대로 둡니다.
- 결과또는차트탭에서알림 생성을 클릭합니다.
- 집계 및 임계값 논리를 선택합니다.
- 알림 세부정보 페이지를 저장하고 확인하세요.
알림 조건 필드
| 필드 | 의미 |
|---|---|
| 집계 | 값을 줄이는 방법(avg, max, p95 등) |
| 마지막 N개 데이터 포인트 | 평가를 위한 창 크기 |
| 마지막 데이터 포인트 무시 | 불완전한 버킷을 방지하기 위해 최신 행을 건너뜁니다. |
| 비교 | >, >=, <, <= |
| 임계값 | 비교 대상 수치 |
| 점검 간격 | 평가자가 실행되는 빈도 |
| 수신자 | 알림을 위한 이메일 주소 |
대화형 인라인 예
예시 1: API 대기 시간 회귀(p95)
이 탐색 URL 템플릿을 열고 자리 표시자를 바꿉니다.
/team/{team}/table/{table}?tab=explore&graphType=line&agg=p95&metric=latency_ms&time=7d
그런 다음 다음을 사용하여 알림을 만듭니다.
- 집계:
p95 - 마지막 N 포인트:
5 - 비교:
Greater than - 임계값:
850 - 간격:
Every minute
예 2: 오류 서지 감지기
SQL 편집기에서 다음 쿼리를 실행하세요.
SELECT
date_trunc('minute', timestamp_utc) AS time_bucket,
COUNT(*) AS errors
FROM
http_logs
WHERE
status_code >= 500
AND timestamp_utc >= now() - INTERVAL '2 hours'
GROUP BY
time_bucket
ORDER BY
time_bucket DESC;
알림을 생성합니다:
- 메트릭:
errors - 집계:
avg - 마지막 N 포인트:
3 - 비교:
Greater than - 임계값:
20
예시 3: 트래픽 감지기 누락
이벤트 볼륨이 예기치 않게 감소하는 경우 다음을 사용하십시오.
- 시간 경과에 따른 이벤트 수를 반환하는 차트나 쿼리를 작성하세요.
- 다음을 사용하여 알림을 만듭니다.
sum마지막으로10포인트. - 비교 설정:
Less than그리고 임계값50.
트리거되면 수집 서비스, 대기열 및 크론 작업자를 확인하세요.
문제 해결
- 알림 없음: 수신자 이메일이 유효하고 알림이 활성화되어 있는지 확인합니다.
- 거짓 긍정:
Last N data points를 늘리거나Ignore last data point를 활성화된 상태로 유지합니다. - 알림이 트리거되지 않습니다. 임계값을 낮추거나 선택한 메트릭 열이 숫자인지 확인하세요.