오류 예산의 소진율에 대한 알림 정책은 SLO 데이터 검색에 설명된 시계열 선택기 select_slo_burn_rate
를 기반으로 합니다. 다른 시계열 선택기가 있으며 이 중 일부를 알림 정책의 기반으로 사용할 수 있습니다. SLO 기반 알림 정책에 대한 자세한 내용은 소진율 알림을 참조하세요.
alertPolicies.create
메서드를 사용하여 알림 정책을 만듭니다. 이 메서드의 일반적인 사용 방법은 알림 정책 관리에 설명되어 있습니다.
SLO에 대한 알림 정책은 다른 측정항목 임곗값 알림 정책과 비슷하지만 한 가지 구체적인 차이점이 있습니다. MetricThreshold
사양의 filter
는 측정항목 및 모니터링 리소스 유형 쌍 대신 시계열 선택기를 사용합니다.
SLO 기반 알림 정책 조건
알림 정책에는 하나 이상의 조건이 있어야 합니다. SLO 기반 조건의 경우 MetricThreshold
유형 조건을 사용합니다.
측정항목 임곗값 조건에는 filter
와 aggregations
, 두 쌍의 시계열 구성이 포함됩니다. SLO 데이터는 다른 시계열 데이터와 다르게 검색되므로 SLO 조건에서만 사용되는 필드는 filter
필드입니다.
SLO 조건은 comparison
, thresholdValue
, duration
, trigger
필드입니다.
이 예시에서는 소진율이 정상 속도의 2배를 초과할 때 위반되는 조건을 만듭니다. 구조는 다음과 같습니다.
"conditions": [ { "displayName":"SLO burn rate alert for ${SLO_ID} exceeds 2", "conditionThreshold": { "filter": DATA_RETRIEVAL_FILTER_FOR_SLO, "comparison":"COMPARISON_GT", "thresholdValue": 2, "duration": { "seconds":"0", }, }, } ],
filter
필드를 설정하려면 특정 SLO의 리소스 이름이 필요합니다. 이 값은 projects/${PROJECT}/services/${SERVICE_ID}/serviceLevelObjectives/${SLO_ID}
형식입니다.
SLO ID 찾기에 대한 자세한 내용은 SLO 나열을 참조하세요.
소진율에 대한 알림을 만들려면 시계열 선택기 select_slo_burn_rate
를 사용합니다. 이 선택기는 대상 SLO와 전환 확인 기간, 이 2개 값을 취합니다. 자세한 내용은 select_slo_burn_rate
를 참조하세요.
예를 들어, 다음 필터는 1시간의 전환 확인 기간이 있는 대상 SLO의 소진율을 가져옵니다.
"filter":"select_slo_burn_rate(\"projects/${PROJECT}/services/${SERVICE_ID}/serviceLevelObjectives/${SLO_ID}\", \"60m\")"
나머지 알림 정책
알림 정책을 완료하려면 나머지 필드에 값을 지정합니다.
displayName
: 알림 정책에 대한 설명입니다.combiner
: 조건 결합 로직을 설명합니다. 이 정책에는 하나의 조건만 있으므로AND
또는OR
이 작동합니다.notificationChannels
: 알림 정책이 트리거될 때 사용할 기존 알림 채널의 배열입니다. 알림 채널을 찾고 만드는 방법에 대한 자세한 내용은 알림 채널을 참조하세요.documentation
: 수신자가 문제를 진단하는 데 도움이 될 수 있도록 조건을 위반할 때 전송되는 정보입니다. 자세한 내용은Documentation
를 참조하세요.
알림 정책 만들기
다음 예에서는 API를 사용하여 소진율 알림 정책을 만듭니다. 알림 정책 나열, 수정 및 삭제에 대한 자세한 내용은 API를 통한 알림 정책 관리를 참조하세요.
프로토콜
curl
을 사용하여 알림 정책을 만들려면 https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/alertPolicies
엔드포인트에 POST
메시지를 보내고 요청 본문에 알림 정책을 제공합니다. 요청 본문의 JSON은 1시간의 전환 확인 기간이 있는 select_slo_burn_rate
시계열 선택기를 기준으로 임곗값 조건을 사용하는 알림 정책을 설명합니다.
요청 본문을 저장할 변수를 만듭니다.
CREATE_ALERT_POST_BODY=$(cat <<EOF { "displayName":"SLO burn-rate alert for ${SLO_ID} with a threshold of 2", "combiner":"AND", "conditions": [ { "displayName":"SLO burn rate alert for ${SLO_ID} exceeds 2", "conditionThreshold": { "filter":"select_slo_burn_rate(\"projects/${PROJECT}/services/${SERVICE_ID}/serviceLevelObjectives/${SLO_ID}\", \"60m\")", "comparison":"COMPARISON_GT", "thresholdValue": 2, "duration": { "seconds":"0", }, }, } ], "notificationChannels": ["${NOTIFICATION_CHANNEL}", ], "documentation": { "content": "SLO burn for the past 60m exceeded twice the acceptable budget burn rate.", "mime_type": "text/markdown", }, } EOF )
엔드포인트에 요청을 게시합니다.
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" --header "Content-Type: application/json" -X POST -d "${CREATE_ALERT_POST_BODY}" https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/alertPolicies