method | option |
---|---|
POST | -d或-F |
HEAD | -I |
PUT | -T |
POST
是HTTP中向服務端提交數據的一種方法。在瀏覽器中,可以在表單中填寫完數據后,瀏覽器就會默認將填寫的數據使用key=value
串的形式進行轉化。在curl中,我們可以使用-d
或--data
選項來指定具體的數據。
3.2 釘釘使用curl工具主要相關的兩個參數
參數(短形式) | 參數(長形式) | 解釋 | 具體描述 |
-d | --data | HTTP POST data (H) | 把指定的數據發送到服務器上. |
-H | --header | Custom header to pass to server (H) |
當使用POST方法提交數據時,對于提交的數據主要有如下四種形式:
Content-Type是一個Header,如果不指定的話,默認使用application/x-www-form-urlencoded形式傳輸數據,當需要使用別的形式進行數據傳輸的話,需要指定Header。 |
3.3 調用格式(案例)
curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \ -H 'Content-Type: application/json' \ -d '{"msgtype": "text", "text": { "content": "我就是我, 是不一樣的煙火" } }'
測試過程中,請將上面命令直接復制到命令行,再將xxxxxxxx替換為真實access_token。
4.不一樣的markdown類型
官網中除markdown類型,其它的消息類型的 測試例子(腳本) 都可以直接在shell中演示
官網markdown類型的測試案例
{ "msgtype": "markdown", "markdown": { "title":"杭州天氣", "text": "#### 杭州天氣 @156xxxx8827\n" + "> 9度,西北風1級,空氣良89,相對溫度73%\n\n" + "> \n" + "> ###### 10點20分發布 [天氣](http://www.thinkpage.cn/) \n" }, "at": { "atMobiles": [ "156xxxx8827", "189xxxx8325" ], "isAtAll": false } }
在shell中執行報錯信息,錯誤信息為:
{"errcode":40035,"errmsg":"缺少參數 json"}
報錯原因是 "text" 欄位對應的 value 值中的 “+” 運算符導致,將中間的
" +
"
刪除。
即可執行代碼更新為:
{ "msgtype": "markdown", "markdown": { "title":"杭州天氣", "text": "#### 杭州天氣 @156xxxx8827\n> 9度,西北風1級,空氣良89,相對溫度73%\n\n> \n> ###### 10點20分發布 [天氣](http://www.thinkpage.cn/) \n" }, "at": { "atMobiles": [ "156xxxx8827", "189xxxx8325" ], "isAtAll": false } }
執行OK,錯誤消失。
執行情況如下:
成功收到的信息,內容截圖如下:
5. 將釘釘機器人代碼放到文件中,方便調用
例如:創建用于監控當QQOrder_ERP集群的VIP漂移時,調用用來發送釘釘告警的可執行文件ddalarm.sh。
其主要代碼如下:
#!/bin/bash webhook='https://oapi.dingtalk.com/robot/send?access_token=34XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' cluster='QQOrder_ERP' host=`hostname -I | awk '{print $1}'` vip=$1 function SendMsgToDingding() { curl $webhook -H 'Content-Type: application/json' -d " { 'msgtype': 'text', 'text': { 'content': '集群名稱:$cluster\n告警信息:虛擬IP$vip>已漂移至節點$host>,請注意\n' }, 'at': { 'isAtAll': true } }" } SendMsgToDingding
此測試文件,調用執行時需要傳入一個參數(VIP)。
觸發執行,案例如下:
手機釘釘收到的告警信息
參考資料:
1.釘釘群機器人
https://ding-doc.dingtalk.com/doc#/serverapi2/krgddi
2.curl使用指南
https://www.jianshu.com/p/fc0eb6c60816
到此這篇關于shell 操作釘釘機器人實現告警提醒的方法的文章就介紹到這了,更多相關shell 釘釘告警提醒內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!