본문으로 건너뛰기

2. Slack 이벤트 설정

이 장에서 하는 일

APM 이벤트를 Slack 채널로 받도록 설정합니다. 장애가 나면 팀이 이미 보고 있는 채널에 메시지가 올라옵니다.

두 가지 방식이 있습니다. 하나만 고르면 됩니다.

방식무엇이 다른가언제 고르나
Webhook채널 하나에 보낼 주소(URL)를 발급받아 APM 에 넣습니다대부분의 경우 — 설정이 단순합니다
Bot(봇)앱을 워크스페이스에 설치하고 토큰으로 보냅니다여러 채널에 보내거나 봇 이름·아이콘을 바꾸고 싶을 때

필요한 것 — Slack 워크스페이스와 앱을 추가할 수 있는 권한입니다. 워크스페이스가 없다면 아래 절차대로 새로 만들 수 있습니다.

설정을 마치면 — APM 에서 이벤트가 생길 때마다 지정한 채널에 메시지가 올라옵니다.

전체 흐름

단계하는 일
1Slack 워크스페이스와 채널 준비 (이미 있으면 건너뜁니다)
2Webhook 주소 발급 또는 봇 토큰 발급
3APM 콘솔의 이벤트 설정에 그 값을 입력
4테스트 발송으로 채널에 도착하는지 확인

Webhook 방식

채널 하나에 보낼 주소를 발급받아 APM 에 넣는 방식입니다. 대부분 이 방식이면 충분합니다.

1) Slack 앱 만들기

https://api.slack.com/apps 에 접속해 Create New App 으로 앱을 만들고 워크스페이스를 고릅니다.

Slack API 사이트에서 새 앱을 만드는 화면

2) Incoming Webhook 켜고 채널 고르기

앱 설정에서 Incoming Webhooks 메뉴로 들어가 Activate Incoming Webhooks 를 켠 뒤, Add New Webhook to Workspace 로 이벤트를 받을 채널을 고릅니다.

Incoming Webhooks 를 켜는 화면

3) Webhook URL 복사

채널을 고르면 Webhook URL 이 만들어집니다. 이 주소를 복사해 APM 이벤트 설정하기WebHook URL 칸에 넣습니다.

발급된 Webhook URL
Webhook URL 은 비밀입니다

이 주소를 아는 사람은 누구나 그 채널에 글을 올릴 수 있습니다. 문서나 코드 저장소에 그대로 남기지 마십시오.

Bot(봇) 방식

Webhook 은 채널 하나에 고정되지만, 봇은 여러 채널에 보낼 수 있고 이름·아이콘을 바꿀 수 있습니다. 그만큼 단계가 조금 더 많습니다.

1) 봇 추가하고 토큰 받기

Slack 앱 목록에서 Bots 를 찾아 워크스페이스에 추가하고, 봇의 사용자 이름을 정한 뒤 봇 통합 앱 추가를 클릭합니다.

Slack 앱 목록에서 Bots 를 찾아 추가하는 화면

다음 화면에서 API Token 이 나옵니다.

봇 설정 화면의 API Token
API Token 을 복사해 두십시오

이 값이 APM 과 연동하는 열쇠입니다. 화면을 벗어나면 다시 찾기 번거로우므로 지금 복사해 두고, 통합 앱 저장을 눌러 마칩니다.

2) 이벤트를 받을 채널 만들기

채널 추가 > 새 채널 생성으로 채널을 만들고 이름을 정합니다. 알림을 함께 볼 사람을 사용자 추가로 넣습니다.

새 채널을 만드는 화면

3) 봇을 채널에 초대

만든 채널에서 /invite @<봇 이름> 을 입력해 봇을 초대합니다. 초대하지 않으면 토큰이 맞아도 메시지가 오지 않습니다.

APM 이벤트 설정하기

OPENMARU APM 콘솔에서 설정 > 모니터링 설정 으로 들어가 이벤트 연동 탭을 선택하면 Slack 이벤트 설정을 할 수 있습니다. 모든 채널 설정이 이 한 화면에 모여 있습니다.

Slack 이벤트 설정 항목

Slack 부분에서 표시된 값으로 변경합니다.

항목설명
① 사용여부slack Integration 을 사용할 것인지를 설정합니다. 이벤트 알림을 받고자 할 경우, "TRUE"로 설정합니다.
② API Typeslack 연동 설정 방식을 선택합니다. (Webhook 또는 Bot)
③ WebHook URLWebhook 방식을 선택한 경우 앞서 생성한 Webhook URL 을 입력합니다.
④ BotAPITokenBot 방식을 선택한 경우 앞서 발급받은 Bot API Token 값을 입력합니다.
⑤ 채널명앞서 만든 APM의 이벤트를 수신할 채널명을 입력합니다.
⑥ 메세지 지역/메세지 언어KR/KO로 설정하면 한글 메시지를 전송하고, US/EN로 설정하면 영문 메시지를 전송합니다.

Slack의 채널에 이벤트 전송 확인

이제 APM 서버를 재시작하면, Slack의 openmaru-apm 채널에 연결한 Webhook 또는 @openmaru_apm 봇(bot)을 통해 APM 의 이벤트들을 확인할 수 있습니다.

이벤트를 받아 보고 싶은 사용자를 openmaru-apm 채널에 추가하면 됩니다.

iOS나 Android앱, 브라우저, Windows 애플리케이션등 다양한 클라이언트를 통해 Slack 의 이벤트를 공지 받을 수 있게 됩니다.

기본적으로 브라우저를 통해 접근할 수 있고, MacOS, Windows, Linux등 데스크탑 애플리케이션이나 iOS, Android, Windows Phone의 모바일 앱을 사용하여 Slack 에 접속할 수 있습니다.