以前管機器的時候累積了很多雜七雜八的 Script,常在系統出問題的時候透過 Email 進行通知,比如什麼空間滿了、備份失敗、攻擊偵測等等鳥事。Email 久了常被忽略,後來發現整合 Slack 可以在 App 進行推播,蠻好用的,趕快記錄一下用法。
首先登入你的 Slack 管理者帳戶,選擇 Apps 並搜尋 Incoming WebHooks 進行安裝,如下:
按下「Add Configuration」進行安裝
再來設定「Integration Settings」中的「Post to Channel」選擇我們預計要推送資訊的 Channel,如下:
完成後出現一個「Webhook URL」網址,可以透過 HTTP 推送資訊到我們設定的 Channel 中,使用的方法很間單,可以直接透過 CURL 命令完成,如下:
curl -X POST \
--data-urlencode 'payload={"channel": "#server", "username": "webhookbot", "text": "I am test!!", "icon_emoji": ":ghost:"}' \
https://hooks.slack.com/services/T5K0Exxxx/B5K0Hxxxx/xxxxxxxxxxxxx
提醒一下,這個 HTTP Request 不需要認證就可以呼叫,因此請好好收藏這個 URL,不然拿到的人都可以直接發訊息進來鬧。CURL 執行的畫面如下:
執行後馬上就可以在 Slack 收到囉,如下:
再加上手機的 Slack App 就可以順時收到 Server Script 發出的訊息,是不是很方便呢?