개요
2022.10.13 - [ZABBIX] 설치 및 실행에서 Zabbix 설치까지 해봤는데, 모니터링 알람을 받기 위해 Ms Teams와 연동해보려고 한다.
알람을 수신할 채널의 Webhook URL을 생성해야 하는데, Zabbix Webhook 커넥터 또는 Incoming Webhook 커넥터를 이용할 수 있다. 이 글에서는 Incoming Webhook 커넥터를 구성하여 사용할 것이다.
MS Teams에 Webhook 구성
Webhook 구성 방법은 접은 글로 작성해둔다.
알람을 수신받을 채널의 메뉴에서 커넥터를 클릭한다.
사용할 수 있는 커넥터 목록 중 Incoming Webhook 구성을 클릭한다.
커넥터 이름을 지정하고 만들기를 클릭한다.
만들어진 Webhook URL을 잘 복사해두고 완료 버튼을 클릭한다.
Zabbix에 Webhook 설정
1. 글로벌 매크로 설정
왼쪽 메뉴바 Administration > General > Macros로 접근
글로벌 매크로 {$ZABBIX.URL}을 설정한다. 값은 IP, 도메인 또는 localhost여야 한다. http://zabbix.com, https://zabbix.lan/, http://server.zabbix.lan/. http://localhost, http://127.0.0.1:8080 등이 예시가 될 수 있다. 프로토콜이 반드시 지정되어야 한다.
2. 왼쪽 메뉴바 Administration > Media Types > MS Teams로 접근
만약 MS Teams를 찾을 수 없다면 오른쪽 상단의 Import 버튼으로 가져와야 한다.
Import 소스 : media_msteams.yaml
3. MS Teams 매개변수 중 teams_endpoint에 Webhook URL 설정
복사해둔 Incoming Webhook URL을 붙여 넣고 하단의 Update 버튼을 클릭한다.
테스트
설정이 유효한지 테스트해보자. Media Types 화면의 오른쪽 Test 버튼을 클릭한다.
Test 창에서 Test 버튼을 클릭하면 설정에 이상이 없는지 기본 테스트 메시지를 보낼 수 있다.
기본 설정 변경 없이 테스트를 시도하면 아래와 같이 event_source 값이 일치하지 않는다는 에러 메시지를 만날 수 있다. 이 값은 0 ~ 3 범위의 값이어야 한다.
event_source가 어떤 매개변수인지는 잘 모르겠지만 일반적으로는 자동으로 채워지는 필수 매개변수라고 한다.
1로 설정해서 다시 보내도록 한다.
이상이 없다면 테스트 성공 메시지가 보인다.
Teams에서도 메시지가 잘 왔는지 확인해보자. notification 형태는 아래와 같다.
메시지 형태는 다음과 같이 왔다.
참고 문서
https://www.zabbix.com/integrations/msteams
https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/412458-ms-teams-test-problem
https://stackoverflow.com/questions/66997501/zabbix-5-x-and-ms-teams-integration
https://github.com/Shubhamjain6197/zabbix-Ms-teams-integration/blob/main/README.md