[ Slack - Webhook 이용 alert 설정]

애플리케이션 관련 문제 발생시 얼롯을 받기위해 Slack을 사용하였습니다. 

Slack 어플을 다운로드 후 얼롯팅 받을 새로운 워크 스페이스를 생성합니다.

 

▶ 새 워크스페이스 추가

 

 

 채널을 우클릭하여 세부정보를 open합니다.

 

통합 -> 앱 추가 클릭

 
 

 incoming-webhook 앱 설치

Incoming Webhook

  • 외부 소스로부터 Slack 으로 메시지를 게시할 수 있는 방법을 제공하는 Plugin 
  • HTTP 요청을 사용하여 원하는 형태의 메시지 (더불어 기타 세부 정보)를 JSON 페이로드와 함께 사용가능

 

 

 얼롯을 받고자하는 채널에 설치

 

 

 Webhook URL을 잘 저장해둡니다.

 

 

채널에 추가된것 확인

 

 

 서버에서 아래 명령어를 치면 slack으로 메시지가 보내집니다.

channel #<보내고자하는 채널명> , webhook봇에 메시지가 보내지며, 원하는 text 기입, webhook url 입력

curl -X POST --data-urlencode "payload={\"channel\": \"#dbalert\", \"username\": \"webhookbot\", \"text\": \"slack alert test success.\", \"icon_emoji\": \":ghost:\"}"  https://hooks.slack.com/services/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

 

 

메세지 확인

 

 

테스트용으로 mysql down시 slack 얼롯 설정

[root@mysql ~]# vi slack.sh
#!/bin/bash
flag=`ps -ef | grep -v grep | grep mysql`
if [ -z "$flag" ];then
        curl -X POST -H 'Content-type: application/json' --data '{"text":"'mysql_server_down_alert'"}' https://hooks.slack.com/services/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
fi


[root@mysql ~]# crontab -l
* * * * *  /bin/sh /root/slack.sh

 

alert 테스트

## mysql kill
[root@mysql bin]# ps -ef | grep mysql
mysql     7132 23840  1 13:51 pts/0    00:00:00 ./mysqld --user=mysql
root      7246 23840  0 13:52 pts/0    00:00:00 grep --color=auto mysql


[root@mysql bin]# kill -9 7132

 

 

 alert 메시지 확인