안녕하세요 🙂
베스핀글로벌 SRE실 남원식 님이 작성해 주신 ‘awscurl를 이용한 AMP Alertmanager Mute 설정’에 대해 알아보겠습니다.
# 사전 준비 사항
1. awscurl 설치
$ pip3 install awscurl
2. accesskey 설정
[sre3-nws]
aws_access_key_id = {aws_access_Key_id}
aws_secret_access_key = {aws_secret_access_key}
# awscurl MuteList 조회
$ export AMP_ENDPOINT=https://aps-workspaces.{REGION}.amazonaws.com/workspaces/{WORKSPACE_ID}/alertmanager/api/v2/silences
$ awscurl -X GET –region {REGION} –profile {PROFILE} -H “Content-Type: application/json” –service aps $AMP_ENDPOINT | jq
– WORKSPACE_ID 값은 Amazon Managed Service for Prometheus 서비스에서 확인 가능
# awscurl Mute 설정
$ export AMP_ENDPOINT=https://aps-workspaces.{REGION}.amazonaws.com/workspaces/{WORKSPACE_ID}/alertmanager/api/v2/silences
$ awscurl -X POST –region {REGION} –profile {PROFILE} -H “Content-Type: application/json” \
-d ‘{
“matchers”:[
{
“name”:”alertname”, #알림 규칙에서의 Matcher의 이름을 지정
“value”:”ContainerStatusKilled”, #알림 규칙에서의 Matcher의 이름의 값을 지정
“isEqual”:true, #해당 옵션이 true로 설정 된 경우, Matcher의 Name 및 Value 값이 정확히 일치하는 알림 선택
“isRegex”:true #해당 옵션이 true로 설정 된 경우, Matcher의 Name 및 Value 값을 정규식 턴으로 사용하여 알림 선택
}
],
“startsAt”:”2023-07-05T00:00:00+00:00″, #알림 규칙 시작 시간을 UTC 형식으로 지정
“endsAt”:”2023-07-05T09:00:00+00:00″, #알림 규칙 종료 시간을 UTC 형식으로 지정
“createdBy”:”SRE3-NWS”, #알람 규칙을 생성한 사용자를 지정
“comment”:”MUTE” #알림규칙에 대한 주석을 지정
}’ \
–service aps –service aps $AMP_ENDPOINT | jq
# awscurl UnMute 설정
$ export AMP_ENDPOINT=https://aps-workspaces.{REGION}.amazonaws.com/workspaces/{WORKSPACE_ID}/alertmanager/api/v2/silences
$ awscurl -X DELETE –region {REGION} –profile {PROFILE} -H “Content-Type: application/json” –service aps $AMP_ENDPOINT/{SILENCE_ID}
– SILENCE_ID는 MuteList api 호출시 확인 가능
감사합니다 🙂
Written by 남 원식 / Wonsik Nam
Cloud Engineer