모니터링(Zabbix,Grafana)

Grafana 알람 메시지 Telegram으로 받기

기억보다는 기록을... 2024. 12. 17. 20:15

Grafana 대시보드 임계치 설정을 통해 알람 메시지를 Telegram으로 연동

기존에 생성한 텔레그램 봇 재활용

https://comengx.tistory.com/98

 

Telegram을 사용하여 Azure 알람 받기 1 (텔레그램 설정)

텔레그램을 사용하여 Azure VM 관련 알람 설정  1. Telegram에서 BotFather를 검색하고 대화 시작  2. "/newboot" 명령어로 새 봇을 생성  3. 봇 이름 생성봇의 이름은 bot 으로 끝나야 됨중복되지 않는 이

comengx.tistory.com


Grafana 대시보드에서 CPU와 메모리 임계치 알람 수신

  • CPU: 사용량 70% 초과 5분 지속 시
  • Memory: 사용량 80% 초과 5분 지속 시

Grafana 대시보드 접속 후 설정

 

Contact points 설정

1. Notification Templates 생성

  • 왼쪽 메뉴 "Alerting - Contact points" 선택 후 "Notification Templates" 클릭

 

  • "+ Add notification template" 클릭 후 "Template name"과 "Template" 내용 작성 후 "Save"
더보기
{{ define "telegram_alert_template.message" }}
  {{ if gt (len .Alerts.Firing) 0 }}
{{ len .Alerts.Firing }} [FIRING] GRAFANA ALERT(S)
    {{ range .Alerts.Firing }}
Summary: {{ .Annotations.summary }}
- Alert: {{ .Labels.alertname }}
- Item: {{ .Labels.item }}
- Hostname: {{ .Labels.host }}
- Values: {{ .Values }}
- Starts at: {{ .StartsAt }}
    {{ end }}
  {{ end }}
  {{ if gt (len .Alerts.Resolved) 0 }}
{{ len .Alerts.Resolved }} [RESOLVED] GRAFANA ALERT(S)
  {{ range .Alerts.Resolved }}
Summary: {{ .Annotations.summary }}
- Alert: {{ .Labels.alertname }}
- Item: {{ .Labels.item }}
- Hostname: {{ .Labels.host }}
- Values: {{ .Values }}
- Ends at: {{ .EndsAt }}
    {{ end }}
  {{ end }}
{{ end }}

 

 

2. Telegram 연동

  • 왼쪽 메뉴 "Alerting - Contact points" 선택 후 "Contact Points" 클릭

  • "+ Create contact point" 클릭 후 Telegram 연동
    • Name, Intergration, BOT API Token, Chat ID 입력 
  • 입력이 모두 완료 되었으면, "Optional Telegram settings" 클릭 후 미리 생성한 Template 연동
    • "Edit Message" 클릭 후 "telegram_alert_template.message" 선택 후 "Save"
  • Telegram 연동 테스트
    • "Test" 클릭하여 메시지 발송 확인
    • Telegram 메시지 확인

 

  • 등록 내역 확인 후 " Save contact point" 클


Alert rules 설정

왼쪽 메뉴 "Alerting - Alert rules" 클릭 후 "+ New alert rule" 선택 -> 내용 입력 후 "Save rule"

 

1. Enter alert rule name

 

 

2. Define query and alert condition

 

  • Group, Host 는 사용환경에 따라 설정 (테스트를 위해 1대만 설정)

 

  • 임계치 70% 설정

 

 

3. Set evaluation behavior

  • "Folder"와 "Evaluation group and interval" 설정은 환경에 따라 임의로 설정 

 

 

4. Configure labels and notifications

  • Contact points에서 생성한 Telegram 선택

 

 

5. Configure notification message

 


 

CPU 사용량이 70%를 초과를 5분 이상 지속 시 Telegram 을 통해 아래와 같은 메시지를 받을 수 있음.