Grafana에서 알림 및 알림 규칙 설정하기

날아올라돼지야·2024년 8월 30일
0

이번 강의에서는 특정 조건이 충족될 때 Grafana에서 알림을 트리거하는 방법을 배웁니다.

Grafana를 사용하면 Prometheus 메트릭을 기반으로 시스템의 상태를 모니터링하고, 특정 임계값에 도달하면 자동으로 알림을 보낼 수 있습니다.

1. 알림 규칙 설정

1.1 알림 메뉴로 이동

  • Grafana 홈 화면에서 Alerting 메뉴로 이동합니다.
  • Alert Rules 섹션을 선택하고 Create Alert Rule 버튼을 클릭합니다.

1.2 알림 규칙 생성

  • Rule Name 필드에 알림 규칙의 이름을 입력합니다. 예: accounts (이 규칙을 통해 Accounts 마이크로서비스를 모니터링).
  • Grafana managed alert 옵션을 선택하여 Grafana가 알림을 관리하도록 설정합니다.

1.3 조건 설정

  • Data source에서 Prometheus를 선택합니다.
  • Metric으로 up 메트릭을 선택합니다. 이 메트릭은 애플리케이션이 정상적으로 작동 중인지 확인하는 데 사용됩니다.
  • Label 필드에서 job을 선택하고, Valueaccounts를 입력하여 Accounts 마이크로서비스에 대한 알림을 설정합니다.

1.4 알림 트리거 설정

  • Reduce 섹션에서 Last 옵션을 선택하여 가장 최근의 값에 기반하여 알림을 트리거하도록 설정합니다.
  • Threshold 섹션에서는 임계값을 설정합니다. 예를 들어, 값이 1 미만일 때 알림을 트리거하도록 설정합니다.

1.5 알림 폴더 및 그룹 설정

  • Folder 필드에 accounts라는 폴더를 생성하여 이 규칙을 관리합니다.
  • Group 필드에 accounts라는 그룹을 생성하여 이 규칙을 그룹화합니다.
  • Evaluation interval10s로 설정하여 10초마다 이 규칙을 평가하도록 설정합니다.
  • For 필드에서 30s를 설정하여 30초 동안 문제가 지속되면 알림을 보내도록 설정합니다.

1.6 요약 및 설명 추가

  • Summary 필드에 "Account service is down"이라는 요약을 입력합니다.
  • Description 필드에 "Please do something"이라는 설명을 추가합니다.

2. 연락처 설정

2.1 Webhook 설정

  • Contact Points 섹션에서 Add contact point를 클릭하여 새로운 연락처를 추가합니다.
  • Webhook 옵션을 선택하고, EasyBankWebhook이라는 이름을 입력합니다.
  • HockyDB 웹사이트에서 Webhook URL을 생성하고, 이 URL을 입력합니다.
  • Test 버튼을 클릭하여 Webhook이 제대로 작동하는지 확인합니다.

2.2 알림 정책 설정

  • Notification policies 섹션에서 EasyBankWebhook을 기본 연락처로 설정합니다.
  • 테스트를 위해 시간 간격을 모두 10s로 설정하여 빠르게 알림이 트리거되도록 합니다.

3. 알림 테스트

3.1 마이크로서비스 중지

  • Docker Desktop으로 이동하여 accounts 마이크로서비스를 중지합니다.
  • Grafana에서 알림 규칙이 pending 상태로 변경되었는지 확인합니다. 일정 시간이 지나면 firing 상태로 변경되어 알림이 전송됩니다.

3.2 Webhook 확인

  • Webhook 페이지로 이동하여 알림이 수신되었는지 확인합니다.
  • 알림에는 "Account service is down"이라는 요약과 "Please do something"이라는 설명이 포함됩니다.

3.3 마이크로서비스 재시작

  • accounts 마이크로서비스를 다시 시작하면 Grafana에서 알림 상태가 resolved로 변경됩니다.
  • Webhook 페이지에서도 알림 상태가 resolved로 업데이트되는 것을 확인할 수 있습니다.

4. 결론

이 강의에서는 Grafana를 사용하여 마이크로서비스 상태를 모니터링하고, 특정 조건이 충족될 때 자동으로 알림을 트리거하는 방법을 배웠습니다. 또한 Webhook을 설정하여 알림을 외부 시스템으로 전송하는 방법도 살펴보았습니다.

다음 강의에서는 Grafana의 대시보드를 사용하여 알림을 설정하는 또 다른 방법을 탐구해 보겠습니다.

profile
무슨 생각하며 사니

0개의 댓글