利用Serverchan進行微信告警推送
Serverchan實現微信告警推送
「Server醬」,英文名「ServerChan」,是一款「程式設計師」和「伺服器」之間的通訊軟體。
說人話?就是從伺服器推報警和日誌到手機的工具。官方連結:首頁 | Server醬 http://sc.ftqq.com/3.version
之前實現推送告警資訊到微信的方法有如下幾種:
1、通過企業公眾號實現—-收費:
2、通過QQ郵箱,在微信平臺上開啟收到郵件進行提醒;
3、第三方告警平臺API,一般也是收費的;
不過最近看文件時,發現serverchan應用,其原理屬於第三種,不過其是免費的,而且操作步驟非常簡單。先看下效果:
Serverchan配置步驟
- 登入:用GitHub賬號登入網站,就能獲得一個SCKEY(在「傳送訊息」頁面)
- 繫結:點選「微信推送」,掃碼關注同時即可完成繫結
- 發訊息:往 http://sc.ftqq.com/SCKEY.send 發GET請求,就可以在微信裡收到訊息啦
傳送訊息非常簡單,只需要向以下URL發一個GET或者POST請求:https://sc.ftqq.com/SCKEY.send
接受兩個引數:
- text:訊息標題,最長為256,必填。
- desp:訊息內容,最長64Kb,可空,支援MarkDown。
最簡單的訊息傳送方式是通過瀏覽器,在位址列輸入以下URL,回車後即可傳送,例如:
- https://sc.ftqq.com/SCKEY.send?text=恭喜發財&desp=www.361way.com站點還是不錯的
在具體呼叫的時候可以直接curl 直接呼叫該URL,也可以使用 shell 做一個簡單的函式封裝,例如:
- send(){
- key=your key id
- title=運維之路可用性監控
- content=www.361way.com暫時不可用,趕快檢查
- curl "http://sc.ftqq.com/$key.send?text=$title&desp=$content" >/dev/null 2>&1 &
- }
在使用的時候,直接send呼叫就行了。
serverchan官方頁面也提供了php呼叫的示例。本身get方法無論在任何語言裡呼叫都不復雜。其很方便的可以在任何語言下進行介面連線。
sererchan也提供了一對多的傳送服務 —— PushBear ,不過其每天只有1000條傳送的上限。
來個示意圖:
為什麼
是的是的,有很多的客戶端都可以做到這個功能,比如Slack。那為什麼我還要寫一個呢?因為它們總是給得太多,我只是要一個簡簡單單的訊息接收器而已。
這也成為了「Server醬」的設計目標:功能越少越好。
- 只有一個介面:每次呼叫介面,我們都要去讀N長的API說明文件,看得頭昏眼花。所以ServerChan只有一個介面,只要會輸入網址,你就會用。
- 一分鐘完工:註冊賬號是狠麻煩的事情,所以我們用GitHub賬號;輸入賬號是狠討厭的事情,所以我們用繫結二維碼。所有這些流程都保證了一個程式設計師可以在一分鐘內配置好「Server醬」,並收到第一條推送訊息。你問沒有GitHub賬號的怎麼辦?沒GitHub賬號的還能叫程式設計師麼?
- 可免客戶端:安裝客戶端對很多使用者來說是一種痛苦,但申請微信公號是更大的痛苦,所以我們直接申請好了給你用,就什麼痛苦都沒了。
應用場景
「Server醬」本質上是一個有著GET介面的可程式設計訊息接收器,所以你可以創造出各種玩法來。
伺服器異常報警
在寫程式碼的時候,我們往往會遇到一些可能出現的異常。比如我們的簡歷分析系統,每隔幾天就會出現一份不能分析的簡歷、我們的郵件傳送系統,每發100份啟用郵件總有幾個被彈回。原來這種時候我們都是在伺服器上打下一些日誌,然後就再也沒有然後了。現在你可以用一行程式碼把訊息推送到「Server醬」。
file_get_contents('http://sc.ftqq.com/SCKEY.send?text='.urlencode('主人第250號簡歷分析失敗啦~'));
除錯無法在網頁顯示回撥內容
比如在除錯微信介面時,微信伺服器會回撥我們的伺服器。這時候頁面的輸出是無法看見的。但你可以輕鬆的把它通過「Server醬」傳送到手機上。
向手機傳送內容
有時候需要往手機傳送一些備用資訊,比如電話、地址、網址和圖片。因為「Server醬」支援Markdown,所以可以很輕鬆的完成。
我們在「傳送訊息」頁面提供了一個線上傳送工具。
這樣你就不用總是在位址列發訊息了。訊息內容中填入
[方糖氣球](http://ftqq.com)
就可以推送連結;填入
![logo](http://sc.ftqq.com/static/image/bottom_logo.png)
就可以推送圖片。在「Server醬」中,直接點選連結和圖片,可以在系統瀏覽器中開啟。
注:在 Markdown 語法中,兩個空行才是換行,不能換行的同學多加個回車應該就好啦。
TalkAdmin
TalkAdmin 是一套為通過微信來管理後臺的解決方案。
FAQ
Q:為什麼介面返回OK,微信收不到
A:不要在text引數中傳遞引號、點、花括號等字元。因為微信的介面不支援一系列的特殊字元,但沒有詳細列表,所以我只簡單的過濾掉了一些。如果需要傳送特殊字元,請放到 desp欄位中。
Q:你怎麼規劃這個專案的?
A:因為自己想用所以寫了。因為寫了所以順便分享出來給有同樣需求的人。如果用的人多,會慢慢迭代一些功能上去。但應該不會商業化。
Q:iOS版在哪裡麼?
A:iOS的使用量非常小,於是不續費了。
Q:這個平臺穩定麼?我可以長期使用麼?
A:依賴於SAE和LeanCloud的穩定性。因為花不了多少雲豆和推送配額,所以應該會一直維護著她。
Q: 訊息的儲存規則是怎樣的?
A:雲端的訊息存一週,客戶端只從雲端拉取最新的100條。客戶端列表不分頁,如果卡,可以在「設定」中「清空本地儲存」。這些規則有些簡單粗暴,以後會優化。
Q:對傳送訊息有什麼限制?
A:每人每天傳送上限500條,相同內容5分鐘內不能重複傳送,
不同內容10秒內不能連續傳送不同內容一分鐘只能傳送30條。主要是防止程式出錯的情況。
Q:Server醬開源麼?
A:不開源,因為就算開源也不是部署完就能用的,要配置各種證照、購買認證服務、編譯打包和釋出。我沒有精力把這些都整理成文件,所以不會發布成開源專案,但如果你想要客戶端的原始碼,直接解壓就好了。另外,我把所有用到的開源專案、雲服務和遇到的坑都寫出來了,看這裡:http://ftqq.com/2015/09/serverchan-server-alert-pusher/
順便插播一條最新安全AD:
公安部研發中小網站安全防護系統 為您的網站保駕護航
此服務是由公安部第三研究所牽頭主持的,實際上為阿里雲的付費 WAF 服務,目前註冊可以免費獲取 1 年使用權,後續未知。 服務為基礎版。 阿里雲官網售賣的,一年要好幾千RMB。
地址:https://waf.islab.cn/signup.html
相關文章
- 使用redis進行訊息推送Redis
- 21.Prometheus告警之Alertmanager告警(一)-郵件釘釘微信Prometheus
- 利用perf進行效能分析
- 手把手教你當微信運動第一名 – 利用Android Hook進行微信運動作弊AndroidHook
- 利用WebClient進行資料抓取Webclient
- 利用kvo對集合進行操作
- nagios 呼叫webhook 給微信發告警資訊iOSWebHook
- 微信小程式服務推送微信小程式
- 免費呼叫微信推送介面
- Grafana新手教程-實現儀表盤建立和告警推送Grafana
- 告警系統郵件引擎 執行告警系統
- 利用JSONP進行水坑攻擊JSON
- 利用Kettle進行資料同步(下)
- 利用PCA進行資料降維PCA
- Markdown 利用HTML進行優雅排版HTML
- 利用Kettle進行資料同步(上)
- 利用Xcode進行重簽名XCode
- 利用 Bootstrap 進行快速 Web開發bootWeb
- python:利用asyncio進行快速抓取Python
- 利用HFS工具進行檔案共享
- 如何利用排班實現告警的靈活分派?
- 利用外部表讀取告警日誌檔案
- [譯] Node.js 能進行 HTTP/2 推送啦!Node.jsHTTP
- Prometheus+Grafana+Alertmanager實現告警推送教程 ----- 圖文詳解PrometheusGrafana
- java實現 微信公眾號推送訊息 ,cv 就可執行!!!Java
- 微信開發推送訊息案例
- 利用DNS日誌進行MySQL盲注DNSMySql
- 利用sklearn進行字典&文字的特徵提取特徵
- 利用jmeter進行資料庫測試JMeter資料庫
- 【MySQL】利用sysbench進行基準測試MySql
- 利用 Java dump 進行 JVM 故障診斷JavaJVM
- 利用corba進行顯示書目列表ORB
- 利用電話線進行WindowsNT RAS(轉)Windows
- Zabbix使用微信傳送告警(附上Python程式碼)Python
- 5行程式碼實現微信小程式模版訊息推送 (含推送後臺和小程式原始碼)行程微信小程式原始碼
- 利用機器學習進行惡意程式碼分類機器學習
- 薦書 | 《利用Python進行資料分析》Python
- python利用ffmpeg進行rtmp推流直播Python