| method | option |
|---|---|
| POST | -d或-F |
| HEAD | -I |
| PUT | -T |
POST是HTTP中向服務(wù)端提交數(shù)據(jù)的一種方法。在瀏覽器中,可以在表單中填寫完數(shù)據(jù)后,瀏覽器就會(huì)默認(rèn)將填寫的數(shù)據(jù)使用key=value串的形式進(jìn)行轉(zhuǎn)化。在curl中,我們可以使用-d或--data選項(xiàng)來指定具體的數(shù)據(jù)。
3.2 釘釘使用curl工具主要相關(guān)的兩個(gè)參數(shù)
| 參數(shù)(短形式) | 參數(shù)(長(zhǎng)形式) | 解釋 | 具體描述 |
| -d | --data | HTTP POST data (H) | 把指定的數(shù)據(jù)發(fā)送到服務(wù)器上. |
| -H | --header | Custom header to pass to server (H) |
當(dāng)使用POST方法提交數(shù)據(jù)時(shí),對(duì)于提交的數(shù)據(jù)主要有如下四種形式:
Content-Type是一個(gè)Header,如果不指定的話,默認(rèn)使用application/x-www-form-urlencoded形式傳輸數(shù)據(jù),當(dāng)需要使用別的形式進(jìn)行數(shù)據(jù)傳輸?shù)脑挘枰付℉eader。 |
3.3 調(diào)用格式(案例)
curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{"msgtype": "text",
"text": {
"content": "我就是我, 是不一樣的煙火"
}
}'
測(cè)試過程中,請(qǐng)將上面命令直接復(fù)制到命令行,再將xxxxxxxx替換為真實(shí)access_token。
4.不一樣的markdown類型
官網(wǎng)中除markdown類型,其它的消息類型的 測(cè)試?yán)樱_本) 都可以直接在shell中演示
官網(wǎng)markdown類型的測(cè)試案例
{
"msgtype": "markdown",
"markdown": {
"title":"杭州天氣",
"text": "#### 杭州天氣 @156xxxx8827\n" +
"> 9度,西北風(fēng)1級(jí),空氣良89,相對(duì)溫度73%\n\n" +
"> \n" +
"> ###### 10點(diǎn)20分發(fā)布 [天氣](http://www.thinkpage.cn/) \n"
},
"at": {
"atMobiles": [
"156xxxx8827",
"189xxxx8325"
],
"isAtAll": false
}
}
在shell中執(zhí)行報(bào)錯(cuò)信息,錯(cuò)誤信息為:
{"errcode":40035,"errmsg":"缺少參數(shù) json"}

報(bào)錯(cuò)原因是 "text" 欄位對(duì)應(yīng)的 value 值中的 “+” 運(yùn)算符導(dǎo)致,將中間的
" +
"
刪除。
即可執(zhí)行代碼更新為:
{
"msgtype": "markdown",
"markdown": {
"title":"杭州天氣",
"text": "#### 杭州天氣 @156xxxx8827\n> 9度,西北風(fēng)1級(jí),空氣良89,相對(duì)溫度73%\n\n> \n> ###### 10點(diǎn)20分發(fā)布 [天氣](http://www.thinkpage.cn/) \n"
},
"at": {
"atMobiles": [
"156xxxx8827",
"189xxxx8325"
],
"isAtAll": false
}
}
執(zhí)行OK,錯(cuò)誤消失。
執(zhí)行情況如下:

成功收到的信息,內(nèi)容截圖如下:

5. 將釘釘機(jī)器人代碼放到文件中,方便調(diào)用
例如:創(chuàng)建用于監(jiān)控當(dāng)QQOrder_ERP集群的VIP漂移時(shí),調(diào)用用來發(fā)送釘釘告警的可執(zhí)行文件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>已漂移至節(jié)點(diǎn)$host>,請(qǐng)注意\n'
},
'at': {
'isAtAll': true
}
}"
}
SendMsgToDingding
此測(cè)試文件,調(diào)用執(zhí)行時(shí)需要傳入一個(gè)參數(shù)(VIP)。
觸發(fā)執(zhí)行,案例如下:

手機(jī)釘釘收到的告警信息

參考資料:
1.釘釘群機(jī)器人
https://ding-doc.dingtalk.com/doc#/serverapi2/krgddi
2.curl使用指南
https://www.jianshu.com/p/fc0eb6c60816
到此這篇關(guān)于shell 操作釘釘機(jī)器人實(shí)現(xiàn)告警提醒的方法的文章就介紹到這了,更多相關(guān)shell 釘釘告警提醒內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:河北 常州 通遼 黔南 隴南 黔南 淮南 河池
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《shell 操作釘釘機(jī)器人實(shí)現(xiàn)告警提醒的方法》,本文關(guān)鍵詞 shell,操作,釘釘,機(jī)器人,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。