반응형
#Main.
Amtool은 Alertmanager API와 상호작용하기 위한 CLI 도구. Alertmanager의 모든 릴리스와 함께 제공.
주로 경고 관리와 관련된 다양한 작업을 수행하는 데 사용.
설치 방법은 Github에 아주 자세히 나와 있으니 도움되었던 Scripts 몇 개 언급하겠다.
Scripts 1
#!/bin/bash
am_url="http://localhost:9093"
silence_comment="xx1xx" # 사용자가 지정하기 나름.
current_hour=$(date +%H)
current_day=$(date +%u)
echo "xx1xx" <== silence_comment.
if [[ $current_day -lt 6 ]]; then
if [[ $current_hour -ge 18 || $current_hour -lt 9 ]]; then
echo "Weekday scheduling.. silenced for 15h"
duration="15h" #주중이며 현재 시간이 오후 9시 이후 or 오전 6시 이전인 경우 15시간으로 설정.
else
echo "Weekday scheduling.. silenced for 0h" # 그게 아니면 주중 0시간 동안 Silence.
duration="0h"
fi
else
echo "Weekend scheduling.. silenced for 24h" #주말에는 24시간 동안 Silence.
duration="24h"
fi
docker exec alert amtool --alertmanager.url=$am_url silence add alertname="EC2-CPU-High" instance="sample" --duration=$duration --comment=$silence_comment
#alertname은 alertmanager.yml에 naming된 alertname.
#instance는 alertname에 영향 받는 실제 EC2.
Scripts 2
!/bin/bash
am_url="http://localhost:9093"
silence_comment="xxxxx"
echo "xxxxx everyday(07:00 ~ 07:30)"
duration="30m"
docker exec alert amtool --alertmanager.url=$am_url silence add alertname="xxxxxx" job="xxxxx" --duration=$duration --comment=$silence_comment
docker exec alert amtool --alertmanager.url=$am_url silence add alertname="xxxxxx" app="xxxxx" --duration=$duration --comment=$silence_comment
docker exec alert amtool --alertmanager.url=$am_url silence add alertname="xxxxxx" app="xxxxx" --duration=$duration --comment=$silence_comment
#alertname은 alertmanager.yml에 naming된 alertname.
#job은 alertmanager.yml에 지정한 matcher에 활용되는 app, 즉 구분자.
반응형
'#Monitoring > #Prometheus' 카테고리의 다른 글
Alertmanager Silence Check Scripts (0) | 2024.04.02 |
---|