이제 어떤 상황이 발생하면 알람을 보낼 수 있게 Alert rule을 정해보자
Grafana로 알람 보내기
MSA 환경에서는 각각의 서비스가 독립적으로 배포되고 운영됩니다. ex)유저 서비스, 결제 서비스, 주문 서비스 등.이때 발생할 수 있는 문제점에는 만약 서비스 수가 많아질수록 모니터링이 복잡
seungg8361.tistory.com
Alert rules에서 New alert rule을 클릭해준다.
간단하게 스프링 부트 애플리케이션을 종료되면 알람을 보낼 수 있도록 설정해보겠다. 2. Define query and alert condition 에서 Metrics를 클릭하고 Metrics explorer을 보면 여러가지 설정을 할 수 있다.
우선 애플리케이션의 문제 발생 시 알람을 보내기 위해 이전에 설정해 두었던 pormetheus로 설정한다. A는 첫 번째 쿼리라는 뜻으로 여러 쿼리를 추가할 경우 B, C 등으로 자동 할당된다.
up{job="gateway-service"}는 Prometheus에서 "gateway-service"라는 job에 대한 상태(UP/DOWN)를 나타내는 메트릭으로,
- 1이면 해당 서비스가 정상적으로 응답 중 (UP)
- 0이면 Prometheus가 해당 타겟에 접근할 수 없음 (DOWN)
Threshold는 실제로 알림이 발생할 조건을 정하는 곳으로, IS BELOW를 1로 설정하면 1보다 낮아지면 알람을 발생시킨다는 의미이다. 즉, gateway-service가 0이 되어서 다운된 상태면 알람을 보낸다는 뜻이다.
Folder는 Alert Rule을 논리적으로 그룹화하기 위해 사용한다. 알람폴더로 정리하면 Grafana Alert 탭에서 쉽게 관리할 수 있다. ex) infrastructure 폴더: 서버 상태 관련 알람, application 폴더: 마이크로서비스 상태 관련
Labels는 알림에 메타데이터를 태그처럼 추가하는 기능으로, env=prod, team=backend 같은 레이블로 검색할 수 있게 검색 필터링을 제공하며, 특정 레이블 조건에 대해 알림을 일시 중단 (예: env=dev는 알람 꺼둠)할 수 있게 Silence를 설정할 수 있다. 그리고 Alertmanager와 연동 시, 레이블에 따라 알림을 다른 채널로 전송이 가능하다. ex) team=frontend -> 슬랙 채널 #frontend
그리고 알람을 1분마다 확인하기 위해 1m으로 설정해주었다.
여기서는 간단하게 테스트만 진행할 것이기 때문에 prometheus라고 지정해주었다.
이제 알람을 받기 위해 저번에 Contact points의 설정을 가져온다.
이제 모든 준비가 끝났으니 실행되고 있는 gateway-service 애플리케이션을 종료한 뒤 잠시 기다려보면
pending 상태로 변하게 되고 다시 기다려보면
firing 으로 바뀌면서 알람을 보내게된다.
이렇게 직접 테스트를 진행해보니 서비스의 문제를 알람을 통해 신속하게 확인하고 대응하는게 중요하다는 것을 다시 한 번 느낄 수 있었다.
'🔥스파르타 TIL (MSA)' 카테고리의 다른 글
Grafana Alert Manager와 Kakao Open API 나에게 보내기 연동해보기 (feat. 좋지 않은 결과) (0) | 2025.04.22 |
---|---|
Grafana로 알람 보내기 (0) | 2025.04.20 |
Grafana에서 Loki로 로그를 모니터링 해보자 (feat. 로그 수집 전략) (1) | 2025.04.19 |
Grafana를 사용해보자 (1) | 2025.04.18 |
Prometheus를 사용해보자 (0) | 2025.04.17 |