Zabbix 에서 발생하는 알림이벤트를 Slack 의 API 을 전달하는 방법을 설명합니다.
Slack App 추가
https://api.slack.com/apps 에 로그인 한 후에 새로운 app을 추가합니다.
이때 워크스페이스는 가지고 있어야 합니다. 없으면 생성하고 시작하세요.
1. Create New APP 선택
2. Bot 추가 및 범위 지정
추가한 APP이 Slack 사용자 채널에서 활동범위 지정
아래 4개 아이템 추가 후 설치 ("Install to Workspace")
3. Bot User OAuth Token Key 보관 (뒤에서 사용)
추후라도 App > Features > OAuth&Permissions 에서 확인 가능
4. 새로운 App 추가 확인
Slack 에 App 추가
(선행) 기존 채널이 있으면 활용해도 되고, 알림 메시지 전용 채널을 생성해도 됩니다.
채널 생성후 진행하세요.
1. 채널 설정 > 통합 > 앱 추가
위에서 생성한 App (zabbix_check)을 검색해서 추가합니다.
Slack에 Webhooks 설치
1. 채널 설정 > 통합 > 앱 추가
incoming-webhook 검색하여 설치
2. incoming webhook 설정
3. 저장하면 아래와 같습니다.
Webhook 테스트
정상으로 설정되면 CMD 창에서 다음과 같이 실행시 채널에 메시지가 발송됩니다.
(예시) curl -s -d "payload={\"text\":\"buddy_test wow\"}" "웹hook URL"
Zabbix 에서 Media types 수정
1. Alters > Media types 에서 기존 slack 이름 변경 (slack_temp)
2. Import (첨부 media_slack.yaml 파일)
3. slack 수정
Zabbix 에서 Trigger Action 수정
Alerts > Action > Triggers actions 에서 Report problem to Zabbix administrator 수정
Zabbix 에서 User 수정
특정이슈 (Average, High, Disaster) 발생시에만 buddy에게 발송
최종 Test
모니터링 서버 중 서비스를 종료시 Zabbix 에 이벤트 발생하는지 확인하고 slack 에도 전달되는지 확인합니다.
slack으로 오류 발생하면 다음과 이미지와 같이 확인할 수 있습니다.
Slack API: Applications | Slack
Your Apps Don't see an app you're looking for? Sign in to another workspace.
api.slack.com