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 메시지의 titlebody를 커스터마이즈할 수 있지만, 커스텀 블록으로 시각적 형태를 수정할 수는 없어요. 봇 모양, 멘션, 메시지 형식을 커스터마이즈하는 추가 선택 설정이 있습니다. 자세한 내용은 Optional settings 섹션을 참고하세요.

시작하기 전에 (Before you begin)

Slack API 토큰을 사용한다면:

  1. Slack API Quickstart의 1단계를 따라 앱을 만듭니다.
  2. Quickstart의 두 번째 단계로 계속 진행하고, 설명대로 chat:write.public 스코프를 추가해 앱이 참여하지 않고도 모든 공개 채널에 게시할 수 있게 합니다.
  3. OAuth Tokens for Your Workspace 에서 Bot User OAuth Token 을 복사합니다.
  4. Slack 워크스페이스를 엽니다.
  5. 알림을 받으려는 채널을 마우스 오른쪽 버튼으로 클릭합니다.
  6. View channel details 를 클릭합니다.
  7. 아래로 스크롤해 Channel ID 를 복사합니다.

(이 단계를 진행하는 동안 Slack이 변경 사항을 적용하기 위해 앱을 재설치하라고 요청할 수 있어요.)

Webhook URL을 사용한다면:

  1. Slack API Quickstart의 Creating an app 섹션을 따라 앱을 만듭니다.
  2. Slack Incoming Webhooks 가이드Create an incoming webhook 섹션을 따라 앱의 incoming webhook을 활성화하고 워크스페이스용 웹훅을 만듭니다.
  3. https://hooks.slack.com/services/ 로 시작하는 Webhook URL 을 복사합니다. Grafana Alerting에서 연락처 포인트 통합을 설정할 때 필요해요.

절차 (Procedure)

  1. Alerts & IRMAlertingNotification configuration 으로 이동한 다음 Contact points 탭을 선택합니다.
  2. + Add contact point 를 클릭합니다.
  3. 연락처 포인트 이름을 입력합니다.
  4. Integration 목록에서 Slack 을 선택합니다.
  5. Slack API 토큰을 사용한다면:
    • Recipient 필드에 채널 ID를 붙여넣습니다.
    • Token 필드에 xoxb- 로 시작하는 Bot User OAuth Token을 붙여넣습니다.
  6. Webhook URL을 사용한다면 Webhook 필드에 Slack 앱 Webhook URL을 붙여넣습니다.
  7. Test 를 클릭해 통합이 작동하는지 확인합니다. (Grafana Alertmanager 전용.)
  8. 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 연락처 포인트가 알림을 받을 준비가 되었습니다. 알림에 추가하려면:

  1. Grafana에서 Alerting > Alert rules 로 이동합니다.
  2. 알림 규칙을 편집하거나 새로 만듭니다.
  3. Configure labels and notifications 섹션까지 스크롤합니다.
  4. Notifications 아래에서 Select contact point 를 클릭합니다.
  5. 드롭다운 메뉴에서 앞서 만든 연락처 포인트를 선택합니다.
  6. Save rule and exit 를 클릭합니다.

더 알아보기 (Learn more)