[Grafana] Springboot 서버가 꺼지면 Slack 으로 알림받기
카프카 개발 및 운영을 시작하면서 그라파나와 연동을 하게 되었다.
그라파나의 강력한 기능인 알림기능을 사용하고 싶어서 먼저 스프링부트 서버가 꺼지면 슬랙으로 알림을 받는 과정을 먼저 연습하며 정리해보았다.
목차
1. 슬랙 웹훅 URL 생성
2. 그라파나 연동
1. Contact points 추가
2. Alert rules 설정
3. Notification policies 설정
3. 테스트
1. 슬랙 웹훅 URL 생성
슬랙에 먼저 가입하고 워크스페이스를 생성해준다. (이 과정은 설명 생략)
우클릭 → 채널 세부정보 보기
통합 → 앱 → 앱추가
webhook 검색하여 Incoming WebHooks 설치
Slack에 추가 클릭
아까 만들었던 워크스페이스 명을 선택하고 수신 웹후크 통합 앱 추가
웹후크 URL이 생성이 된다.
맨 아래 '설정 저장' 버튼 클릭 !
웹훅 URL
https://hooks.slack.com/services/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
curl -X POST --data-urlencode "payload={\"channel\": \"#test\", \"username\": \"webhookbot\", \"text\": \"이 항목은 #개의 my-channel-here에 포스트되며 webhookbot이라는 봇에서 제공됩니다.\", \"icon_emoji\": \":ghost:\"}" https://hooks.slack.com/services/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
mobaXterm 터미널에 위 명령어를 그대로 넣어보았다.
wow..
바로 슬랙에 알림이 온다!!
2. 그라파나 연동
이제 그라파나에 알림 설정을 해보자.
1. Contact points 추가
그라파나 Alerting - Manage contact points - Add contack points 클릭
이름 test , 슬랙, 웹훅 url만 넣어주고 Test
메시지 전송 실패 ...;;;;
Failed to send test alert.: failed to send Slack message : failed incoming webhook......
아래 브라우저 알림 허용해주고, 웹훅 url을 재발급 받았다.
🔽 브라우저 알림 허용 하는 법 🔽
슬랙 환경설정을 보니 이렇게 경고창이 떠있다.
크롬 우측 더보기 - 설정 - 개인 정보 보호 및 보안 - 사이트 설정 - 알림 에 들어가서 알림 허용으로 바꿔준다.
슬랙 화면 새로고침하니 경고창이 사라지고 '데스크톱 알림 활성화' 버튼이 노출된다. 클릭.
다시 Test 하니, Test alert sent. 메시지가 뜨며 메시지가 슬랙으로 전송이 됐다.
슬랙에서 그라파나에서 온 메시지를 확인할 수 있다!!!
잘 전송이 된 것을 확인했으면 그라파나에서 Save contact point를 클릭하여 저장을 해준다.
2. Alert rules 설정
스프링부트가 up이 아닐경우에 알림을 전송하도록 설정해보겠다.
아래 Expressions에 A값 (스프링부트 up의 개수) 가 1 미만일 경우에 알람을 받는다고 설정하고, Preview 클릭
우측에 초록버튼으로 Normal이 뜨는 것을 확인한다.
다음으로 Set evaluation behavior 설정
폴더와 그룹 각각 만들어준다.
5분마다 평가를 할 것이다.
그룹 만들기
몇 분 동안 상태를 지켜볼 것인지 설정한다. 지금은 10분동안 상태를 지켜보기로 하자.
스프링부트가 꺼지면 10분뒤에 알람이 오는 것이다.
다 설정했으면, 우측 상단에 Save rule and exit 클릭
3. Notification policies 설정
설정을 저장한 뒤에는 위에서 생성한 Default contact point인 'test'를 Notification policy 에 적용
3. 테스트
잘 돌고있는 스프링부트 서버를 꺼보았다.
잠시 후, 1Normal 상태였는데 1Pending 상태로 바뀌었다.
2분뒤에 1firing 으로 바뀌었다.
firing으로 바뀌고 30초 가량 뒤에 슬랙으로 알람이 왔다.
스프링부트를 재시작하니 2분뒤에 다시 해결 알림이 왔다.
끝!
이제 카프카 서버에 문제가 생겼을 때 그라파나 알림을 활용하여 수월한 운영을 해보도록 해야겠다 😊
출처
https://shanepark.tistory.com/430
https://shanepark.tistory.com/m/476