서비스 장애 알림
스프링부트 액추에이터, 프로메테우스, 그라파나를 이용하여 메트릭을 수집 및 시각화하였다.
이렇게 메트릭을 수집하면 비즈니스적인 인사이트를 얻을 수도 있지만, 특정 메트릭의 이상 수치 또한 파악할 수 있다.
만약, 이상 수치 또는 비정상적인 응답 값을 보일 때 경고 메시지를 보내도록 알림 설정을 하면 좀 더 빠르게 대처할 수 있을 것이다.
경고 메시지를 전송하도록 설정할 수 있는 방법은 Alert manager, 그라파나 등 여러가지가 있다.
이 중 그라파나가 제공하는 알림 기능을 이용해 디스코드로 경고 메시지를 보내도록 설정해보려 한다.
사실 프로메테우스의 Alert manager로 알림 설정을 해보려 했지만 실패했다.
그 대안으로 선택한게 그라파나이고, 이번 글에서는 디스코드 웹 훅을 만들고 그라파나와 연동을 해볼것이다.
사용 기술
- Spring Boot 3.2.4 / gradle-kotlin
- Java 17
- Spring Boot Actuator, Prometheus, Grafana, Discord
구현하기
순서는 아래와 같다.
- 디스코드 웹 훅 생성
- 그라파나와 디스코드 연동
- 디스코드 연동 확인
1. 디스코드 웹 훅 생성
디스코드와 연동하려면 디스코드의 웹 훅을 만들어둬야 한다.
웹 훅을 만들려면 디스코드 서버 권한이 있어야 하기 때문에 본인은 연습용으로 디스코드 서버를 하나 만들었다.
1-1. 채널 설정창으로 이동
권한이 있는 상태에서 아래처럼 알람을 설정하고자 하는 채널의 톱니 모양 버튼을 누른다.
1-2. 웹 후크 만들기
채널 설정 창에서 연동 탭으로 이동하면 웹 후크 만들기 버튼이 보인다.
1-3. 웹 후크 URL 복사
만들기 버튼으로 들어가면 자동으로 해당 채널에 웹 훅을 생성해준다.
이제 여기서 복사한 웹 후크 URL를 그라파나와 연동한다.
2. 그라파나와 디스코드 연동
1에서 만든 디스코드 웹 훅을 그라파나와 연동할것이다.
2-1. Contact point 추가 페이지로 이동
그라파나의 기본 포트인 localhost:3000으로 접속하고 Alerting 탭에서 Contact point 페이지로 이동하면 아래와 같다.
여기서 Add contact point 버튼을 눌러서 Contact point 추가 페이지로 이동한다.
2-2. 새로운 Contact point 추가
Contact point 이름을 설정해주고, Integration에서 디스코드를 선택한다.
Webhook URL 에 1-3에서 복사한 웹 훅 URL을 넣어준다.
바로 저장을 해도 되지만 Test를 눌러서 원하는대로 연동이 되는지 확인할 수도 있다.
3. 디스코드 연동 확인
3-1. 테스트 연동 메시지 확인
연동이 되었다면 테스트를 눌렀을 때 아래처럼 메시지가 잘 온다
3-2. Contact point 등록 확인
저장 후 Contact points 페이지로 이동하면 우리가 추가한 디스코드 웹 훅이 등록되었음을 확인할 수 있다.
'백엔드 > 연습' 카테고리의 다른 글
애플리케이션 로그를 파일로 저장하기 (0) | 2024.06.18 |
---|---|
서비스 장애 알림 2: Grafana의 Alert rules 설정 (0) | 2024.06.16 |
Grafana로 애플리케이션 상태 확인해보기 (0) | 2024.06.08 |
Grafana를 이용하여 메트릭 시각화 (0) | 2024.06.07 |
Prometheus를 이용하여 메트릭 수집 (0) | 2024.06.06 |