이번 강의에서는 Grafana의 대시보드에서 직접 알림을 설정하고 트리거하는 방법을 배우겠습니다. 이전 강의에서는 Alert Rules를 통해 알림을 설정하는 방법을 배웠는데, 이번에는 대시보드 내에서 조건에 따라 알림을 트리거하는 방법을 살펴보겠습니다.
1. 새 대시보드 생성
1.1 대시보드 생성
- Grafana에서 Dashboards 메뉴로 이동합니다.
- New Dashboard 버튼을 클릭하여 새로운 대시보드를 생성합니다.
- 대시보드 이름을
AlertsDemo
로 지정하고 저장합니다.
1.2 시각화 패널 추가
- Visualization을 클릭하여 새로운 시각화 패널을 추가합니다.
- Time Series를 선택한 후, Data source로 Prometheus를 선택합니다.
- 이 패널에서는
cards
마이크로서비스에 대한 알림을 설정할 것입니다.
1.3 쿼리 작성 및 알림 설정
- Query A 섹션에서 Metric으로
up
을 선택합니다.
- Label로
job
을 선택하고, Value로 cards
를 선택합니다.
- 패널의 제목을
cards up
으로 지정합니다.
- 패널을 저장하고 Alert 탭으로 이동합니다.
- Create Alert rule을 클릭하여 알림 규칙을 설정합니다.
2. 알림 조건 설정
2.1 조건 정의
- Reduce 섹션에서 Last 함수를 선택하여 가장 최근 값에 따라 알림을 트리거하도록 설정합니다.
- Threshold에서
is below
와 1
을 설정하여 메트릭 값이 1 미만일 때 알림이 트리거되도록 합니다.
2.2 알림 그룹 및 폴더 설정
- Folder를
cards
로 설정하여 이 알림을 특정 폴더에 저장합니다.
- Group을
cards
로 설정하여 그룹화합니다.
- Evaluation interval을
10s
, For를 30s
로 설정하여 알림을 평가하는 빈도를 지정합니다.
2.3 알림 설명 추가
- Summary에는 "cards microservice is down"이라고 입력합니다.
- Description에는 "Please do something"이라고 입력하여 경고 메시지를 설명합니다.
3. 알림 테스트
3.1 마이크로서비스 중지
- Docker Desktop으로 이동하여
cards
마이크로서비스를 중지합니다.
- Grafana 대시보드로 돌아가 대시보드를 새로 고침합니다. 패널이
0
으로 업데이트되고, 하트 아이콘이 노란색으로 변경되면 알림이 대기 상태로 전환됩니다.
- 몇 초 후, 알림이 firing 상태로 전환되면, Grafana는 설정된 알림 채널로 알림을 전송합니다.
3.2 Webhook에서 알림 확인
- Webhook 페이지로 이동하여 알림이 수신되었는지 확인합니다.
- 알림 메시지에는 "cards microservice is down"과 같은 정보가 포함됩니다.
3.3 마이크로서비스 재시작
- Docker Desktop에서
cards
마이크로서비스를 다시 시작합니다.
- Grafana 대시보드를 새로 고침하여 알림이 resolved 상태로 변경되고 하트 아이콘이 녹색으로 돌아오는 것을 확인합니다.
4. 결론 및 요약
이번 강의에서는 Grafana 대시보드에서 직접 알림을 설정하고 트리거하는 방법을 배웠습니다. 이 방법을 사용하면 메트릭스 패널에 조건을 추가하여 대시보드에서 바로 알림을 받을 수 있습니다.
우리는 Grafana, Prometheus, Micrometer를 통해 마이크로서비스를 모니터링하고, 알림을 설정하며, 이러한 도구들의 강력한 기능을 활용해 실시간으로 마이크로서비스의 상태를 관리할 수 있습니다.
마이크로서비스를 개발하고 모니터링하는 전체 프로세스를 이해하는 것은 여러분이 프로젝트에서 중요한 역할을 수행하고, 마이크로서비스 관련 인터뷰를 준비하는 데 큰 도움이 될 것입니다.
다음 강의에서 더 자세히 알아보겠습니다. 감사합니다!