Grafana 를 사용하여 알람을 구성 하였는데, 그라파나 알람 에서 DatasuourceError 가 자주 발생한다
- 위 알람은 Grafana 의 DataSource 가 정상적로 연동되지 않았을 경우 발생
- 저의 경우 EKS 에서 기동중인 Prometheus가 Datasource 인데 EKS를 주기적으로 재기동 하는경우가 이에 해당 한다
만약 위 알람이 주기적으로 발생하고 알람에 대한 조치가 필요 없는 경우 아래와 같이 처리할 수 있다
1. Grafana 에서 주기적으로 발생하는 알람에 대하여 silence 를 걸어서 알람 제어
2. Grafana 에서 SNS를 발송하기 전에 Lambda 코드를 통해 DataSourceError 일경우는 SNS 발송을 하지 않기
1번 의 경우 silence 를 매일 다시 수정 해 주어야 하는 번거로움이 있어서 2번을 통해 진행
관련된 코드는 아래와 같으니 참고하여 적절한 내용으로 수정해서 도움이 되었으면 좋겠습니다
import json
import boto3
def lambda_handler(event, context):
#send_sns(event)
alerts_info(event)
print(event)
##alert 정보 변수 설정
def alerts_info(event):
for i in event['detail']['alerts']:
alert_name = i['labels']['alertname']
alert_time = i['startsAt']
if alert_name != "DatasourceError":
alert_value = i['values']['C']
sns_main = "Alert Name : " + alert_name + "\n" + "Alert Time : " + alert_time + "\n" + "Alert Value :" + json.dumps(alert_value)
client = boto3.client('sns')
client.publish(
TopicArn='arn:aws:sns:ap-northeast-2:#########:cloudwatch',
Message = sns_main,
Subject = alert_name
)
'Grafana, Keycloak' 카테고리의 다른 글
Grafana / Prometheus / Thanos 개요 (0) | 2023.11.13 |
---|---|
Prometheus 와 Thanos 연계를 위한 Thanos 설치 (1) | 2023.11.12 |
Prometheus 에서 Thanos 사용을 위한 kube-prometheus-stack 설치 (0) | 2023.11.12 |
Prometheus Install (0) | 2023.11.11 |
Grafana 보안 취약점 TLS 알고리즘 조치(AWS EKS) (0) | 2023.09.29 |