Slack 알람 설정
Slack 알람 설정 (Configure Slack for Alerting)
Grafana Alerting - Slack 통합을 사용하면 알림이 발생할 때 Slack 알림을 보낼 수 있어요. Slack을 Grafana Alerting에 통합하는 방법은 Slack API 토큰 사용과 Webhook URL 사용 두 가지가 있습니다.
출처: 문서
본문
Grafana Alerting - Slack 통합을 사용하면 알림이 발생할 때 Slack 알림을 보낼 수 있어요. 두 가지 통합 방식이 있습니다:
- Slack API 토큰 사용 — 앱이 Slack API에 접근하도록 합니다. 권한을 더 세밀하게 제어하거나, 프로젝트가 정기적으로 확장되어 새 채널이 생기는 경우에 가장 좋은 옵션이에요.
- Webhook URL 사용 — Slack에 메시지를 게시하는 더 간단한 방법. Slack은 선택한 특정 채널 하나에 메시지를 게시할 수 있는 모든 필요 권한을 가진 봇 사용자를 자동 생성합니다.
참고: 연락처 포인트당 Slack 채널 하나만 설정할 수 있어요. 알림 템플릿으로 Slack 메시지의 title과 body를 커스터마이즈할 수 있지만, 커스텀 블록으로 시각적 형태를 수정할 수는 없어요. 봇 모양, 멘션, 메시지 형식을 커스터마이즈하는 추가 선택 설정이 있습니다. 자세한 내용은 Optional settings 섹션을 참고하세요.
시작하기 전에 (Before you begin)
Slack API 토큰을 사용한다면:
- Slack API Quickstart의 1단계를 따라 앱을 만듭니다.
- Quickstart의 두 번째 단계로 계속 진행하고, 설명대로
chat:write.public스코프를 추가해 앱이 참여하지 않고도 모든 공개 채널에 게시할 수 있게 합니다. - OAuth Tokens for Your Workspace 에서 Bot User OAuth Token 을 복사합니다.
- Slack 워크스페이스를 엽니다.
- 알림을 받으려는 채널을 마우스 오른쪽 버튼으로 클릭합니다.
- View channel details 를 클릭합니다.
- 아래로 스크롤해 Channel ID 를 복사합니다.
(이 단계를 진행하는 동안 Slack이 변경 사항을 적용하기 위해 앱을 재설치하라고 요청할 수 있어요.)
Webhook URL을 사용한다면:
- Slack API Quickstart의 Creating an app 섹션을 따라 앱을 만듭니다.
- Slack Incoming Webhooks 가이드의 Create an incoming webhook 섹션을 따라 앱의 incoming webhook을 활성화하고 워크스페이스용 웹훅을 만듭니다.
https://hooks.slack.com/services/로 시작하는 Webhook URL 을 복사합니다. Grafana Alerting에서 연락처 포인트 통합을 설정할 때 필요해요.
절차 (Procedure)
- Alerts & IRM → Alerting → Notification configuration 으로 이동한 다음 Contact points 탭을 선택합니다.
- + Add contact point 를 클릭합니다.
- 연락처 포인트 이름을 입력합니다.
- Integration 목록에서 Slack 을 선택합니다.
- Slack API 토큰을 사용한다면:
- Recipient 필드에 채널 ID를 붙여넣습니다.
- Token 필드에
xoxb-로 시작하는 Bot User OAuth Token을 붙여넣습니다.
- Webhook URL을 사용한다면 Webhook 필드에 Slack 앱 Webhook URL을 붙여넣습니다.
- Test 를 클릭해 통합이 작동하는지 확인합니다. (Grafana Alertmanager 전용.)
- Save contact point 를 클릭합니다.
선택 설정 (Optional settings)
필수 필드 외에 Slack 알림을 커스터마이즈하는 추가 설정을 구성할 수 있어요.
봇 모양 커스터마이즈 (Customize bot appearance):
| 옵션 | 설명 |
|---|---|
| Username | Slack에 표시되는 기본 봇 사용자명을 재정의. username 필드로 표시 이름 커스터마이즈 |
| Icon emoji | 메시지 아이콘으로 사용할 이모지. icon_emoji 필드 설정 (예: :rocket:). 아이콘 URL을 재정의함 |
| Icon URL | 메시지 아이콘으로 사용할 이미지 URL. icon_url 필드에 이미지 URL 설정 |
멘션 구성 (Configure mentions):
| 옵션 | 설명 |
|---|---|
| Mention users | 알림에서 한 명 이상의 특정 사용자 멘션. mentionUsers 필드에 사용자 ID를 쉼표로 구분해 설정 (예: U024BE7LH,U024BE7LJ). 사용자 ID를 찾는 방법은 Slack의 멤버 ID 문서 참고 |
| Mention groups | 알림에서 하나 이상의 사용자 그룹 멘션. mentionGroups 필드에 그룹 ID를 쉼표로 구분해 설정. 그룹 ID는 그룹의 Slack 프로필 URL에서 복사할 수 있음 |
| Mention channel | 전체 채널 또는 활성 멤버 멘션. mentionChannel 필드를 다음 중 하나로 설정: 비워두면 채널 멘션 비활성화, here 는 모든 활성 채널 멤버 멘션, channel 은 모든 채널 멤버 멘션 |
메시지 내용 커스터마이즈 (Customize message content): 알림 템플릿을 사용해 알림 메시지를 커스터마이즈할 수 있어요.
| 옵션 | 설명 |
|---|---|
| Title | Slack 메시지의 커스텀 제목 설정. 템플릿 변수와 함께 title 필드 사용 (예: {{ template "slack.default.title" . }}) |
| Text body | Slack 메시지의 커스텀 본문 텍스트 설정. text 필드를 템플릿 변수와 함께 사용 (예: {{ template "slack.default.text" . }}) |
| Color | 메시지 첨부파일 왼쪽 세로 막대의 색상 설정. color 필드 사용 |
고급 구성 (Advanced configuration):
| 옵션 | 설명 |
|---|---|
| Endpoint URL | non-webhook 요청용 커스텀 Slack API 엔드포인트 지정. endpointUrl 필드를 커스텀 엔드포인트로 설정. 기본값은 https://slack.com/api/chat.postMessage |
다음 단계 (Next steps)
Slack 연락처 포인트가 알림을 받을 준비가 되었습니다. 알림에 추가하려면:
- Grafana에서 Alerting > Alert rules 로 이동합니다.
- 알림 규칙을 편집하거나 새로 만듭니다.
- Configure labels and notifications 섹션까지 스크롤합니다.
- Notifications 아래에서 Select contact point 를 클릭합니다.
- 드롭다운 메뉴에서 앞서 만든 연락처 포인트를 선택합니다.
- Save rule and exit 를 클릭합니다.