-
스크립트 작성
- 1. /etc/zabbix/zabbix_server.conf 파일은 vi 편집기로 여신 후 아래 경로를 확인 합니다.
- 2. touch /usr/lib/zabbix/alertscripts/slack.sh
- 3. vi /usr/lib/zabbix/alertscripts/slack.sh 명령 실행 하신 뒤 아래 코드를 복사+붙여넣기 후 저장하고 나갑니다.
#!/bin/sh
webhook_url=$1
sendto=$2
subject=$3
message=$4
curl -k -X POST -d "payload={\"username\":\"zabbix\", \"text\":\"$sendto\n $subject\n $message\"}" $webhook_url
- 4. 아래 명령어를 입력하여 slack.sh 파일 권한을 수정 해줍니다.
chown zabbix.zabbix /usr/lib/zabbix/alertscripts/slack.sh
chmod 755 /usr/lib/zabbix/alertscripts/slack.sh
-
webhook URL 확인
Slack 홈페이지(https://my.slack.com/services/new/incoming-webhook) 에서 아래 화면을 참고하여 URL을 확인하고, 메모장 같은곳에 복사하여 보관 합니다. Slack 로그인이 필요하며 Choose a channel... 에서는 원하시는 채널을 선택하시면 됩니다.
-
자빅스 설정
- 1. 미디어 타입 생성
자빅스 웹페이지의 Administration → Media types → Create media type 클릭 후 아래와 같이 설정 해줍니다.
파라메터에 적힌 URL은 위에서 구했던 Webhook URL을 입력 해주시면 됩니다. (저는 미리 다 만들어 두었으므로 가장 아래가 Update로 표시되지만, 처음 생성시에는 Add로 보이니 참고하여 확인 해주세요.)
- 2. 유저 생성
Administration → Users → Create user 를 클릭하여 아래와 같이 유저를 생성 해줍니다.
아래 Use if severity는 알람 등급을 뜻하고, 체크한 등급의 알람이 발생할 경우 수신 받습니다.
이후 Add를 눌러서 유저 생성을 마무리 합니다.
최종적으로 생성된 미디어 타입의 우측 Test를 눌러서 Slack으로 알람이 발송 되는지 테스트해볼 수 있습니다.
- 3. 액션 생성
Configuration → Actions → Create action을 클릭 합니다.
Send to Users는 아까 생성했던 slack 계정을 선택한 후 가장 하단의 Add를 눌러서 생성을 완료 합니다.
그럼 아래와 같이 되는데, Recovery operations도 설정 후 최종적으로 설정 후 가장 하단의 Add를 클릭하여 생성 합니다.
-
최종 확인
현재 모니터링 서버의 트리거 설정을 변경하여 직접 알람을 발생 시키거나, 테스트 서버의 경우 서버 종료 또는 모니터링중인 포트를 다운시켜서 Slack에 알람이 발생하는지 확인할 수 있습니다.