最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shell 操作釘釘機器人實現(xiàn)告警提醒的方法

 更新時間:2020年05月08日 14:54:12   作者:東山絮柳仔  
這篇文章主要介紹了shell 操作釘釘機器人實現(xiàn)告警提醒的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

我們知道,之前的運維告警多通過mail 等方式通知到相應的人員,難以實現(xiàn)隨時隨地的查看。隨著手機APP的發(fā)展,很多告警開始發(fā)送到IM軟件上去。目前比較常用的是發(fā)送到微信和釘釘上,今天我們將重點放在釘釘上。群機器人是釘釘群的高級擴展功能,群機器人可以將第三方服務的信息聚合到群聊中,實現(xiàn)自動化的信息同步。借助釘釘機器人,通過官方提供的API,可以很方便的post數據到相應的接收人 。群機器人支持Webhook協(xié)議的自定義接入,支持更多可能性,例如:你可將運維報警通過自定義機器人聚合到釘釘群實現(xiàn)提醒功能。

Shell 腳本語言是實現(xiàn)Linux系統(tǒng)管理及自動化所必須的重要工具。熟練地編寫Shell語言可以提升運維人員的工作效率,適應復雜的工作環(huán)境。

在本文,我們聚焦通過shell腳本語言實現(xiàn)借助釘釘機器人發(fā)送告警信息。

1: 了解更多群機器人的信息,大家可登入官網學習

https://ding-doc.dingtalk.com/doc

2.給自己的機器人起個好聽的名字

操作如下:

3.使用命令行工具curl

curl是一個命令行工具,通過指定的URL來上傳或下載數據,并將數據展示出來。curl中的c表示client,而URL,就是URL。

3.1 與curl一起使用的協(xié)議,最多的還是HTTP

在每一個HTTP請求中,都有一個對應的方法,常用的方法有:GET、POSTHEADPUT。如果在一個curl命令中不指定具體的方法,那么默認的就是使用GET方法。對于其它的方法,可以在curl命令中指定:

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) 把指定的數據發(fā)送到服務器上.
-H --header Custom header to pass to server (H)

當使用POST方法提交數據時,對于提交的數據主要有如下四種形式:

  • application/x-www-form-urlencoded:默認的形式,即key1=value1&key2=value2的形式;
  • multipart/form-data:使用表單上傳文件時使用這個形式;
  • application/json:提交JSON格式的數據;
  • text/xml:提交XML格式的數據。

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" +
         "> ![screenshot](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png)\n" +
         "> ###### 10點20分發(fā)布 [天氣](http://www.thinkpage.cn/) \n"
   },
  "at": {
    "atMobiles": [
      "156xxxx8827",
      "189xxxx8325"
    ],
    "isAtAll": false
  }
 }

在shell中執(zhí)行報錯信息,錯誤信息為:

{"errcode":40035,"errmsg":"缺少參數 json"}

報錯原因是 "text" 欄位對應的 value 值中的 “+” 運算符導致,將中間的

" +
"

刪除。

即可執(zhí)行代碼更新為:

{
   "msgtype": "markdown",
   "markdown": {
     "title":"杭州天氣",
     "text": "#### 杭州天氣 @156xxxx8827\n> 9度,西北風1級,空氣良89,相對溫度73%\n\n> ![screenshot](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png)\n> ###### 10點20分發(fā)布 [天氣](http://www.thinkpage.cn/) \n"
   },
  "at": {
    "atMobiles": [
      "156xxxx8827", 
      "189xxxx8325"
    ], 
    "isAtAll": false
  }
 }

執(zhí)行OK,錯誤消失。

執(zhí)行情況如下:

成功收到的信息,內容截圖如下:

 

5. 將釘釘機器人代碼放到文件中,方便調用

例如:創(chuàng)建用于監(jiān)控當QQOrder_ERP集群的VIP漂移時,調用用來發(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é)點<$host>,請注意\n'
    },
    'at': {
      'isAtAll': true
    }
  }"
}
SendMsgToDingding

此測試文件,調用執(zhí)行時需要傳入一個參數(VIP)。

觸發(fā)執(zhí)行,案例如下:

手機釘釘收到的告警信息

參考資料:

1.釘釘群機器人

https://ding-doc.dingtalk.com/doc#/serverapi2/krgddi

2.curl使用指南

https://www.jianshu.com/p/fc0eb6c60816

到此這篇關于shell 操作釘釘機器人實現(xiàn)告警提醒的方法的文章就介紹到這了,更多相關shell 釘釘告警提醒內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Shell循環(huán)語句及中斷語句的使用

    Shell循環(huán)語句及中斷語句的使用

    本文主要介紹了Shell循環(huán)語句及中斷語句的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • script_tool_for_linux.bash: Linux 環(huán)境下的 hosts 一鍵部署腳本

    script_tool_for_linux.bash: Linux 環(huán)境下的 hosts 一鍵部署腳本

    這篇文章主要介紹了script_tool_for_linux.bash: Linux 環(huán)境下的 hosts 一鍵部署腳本,需要的朋友可以參考下
    2016-04-04
  • jenkins 實現(xiàn)shell腳本化定時執(zhí)行任務的方法

    jenkins 實現(xiàn)shell腳本化定時執(zhí)行任務的方法

    這篇文章主要介紹了jenkins 實現(xiàn)shell腳本化定時執(zhí)行任務,解決訪問是jenkins構建好之后將jar遠程推送到生產服務器,提前退出后臺執(zhí)行服務器遠程腳本,腳本通過ngnx提前切走nginx代理auction sleep 1800s,半小時后執(zhí)行更新重啟,具體操作過程跟隨小編一起看看吧
    2022-01-01
  • Linux?中?tar?命令詳解

    Linux?中?tar?命令詳解

    這篇文章主要,給大家?guī)淼氖?Linux?命令系列,要介紹的是一個常用且強大的命令:tar,文中代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • Shell中變量作用域的介紹與使用命令

    Shell中變量作用域的介紹與使用命令

    作用域是我們在日常學習或者工作中經常會遇到的一個問題,下面這篇文章主要給大家介紹了關于Shell中變量作用域的相關資料,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面跟著小編來一起學習學習吧。
    2017-08-08
  • shell實現(xiàn)多級菜單腳本編寫的示例代碼

    shell實現(xiàn)多級菜單腳本編寫的示例代碼

    本文主要介紹了shell實現(xiàn)多級菜單腳本編寫,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • 三分鐘學會Linux基本指令

    三分鐘學會Linux基本指令

    本文小馬將把Linux一般比較常見的指令給大家一一列舉出來,為了大家忘記某些指令后,可以方便查詢記憶,再次小馬建議,Linux指令并不需要去特別花時間專門記憶,只需要多進行操作實現(xiàn)就行,這篇文章主要介紹了Linux基本指令,需要的朋友可以參考下
    2022-12-12
  • bash 循環(huán)中變量作用范圍的問題分析

    bash 循環(huán)中變量作用范圍的問題分析

    大家在bash編寫中,經常需要用到循環(huán),但循環(huán)中變量作用范圍的問題有些朋友不是很懂,這里簡單分享下,方便需要的朋友
    2013-01-01
  • linux動態(tài)鏈接庫使用方法分享

    linux動態(tài)鏈接庫使用方法分享

    這篇文章主要介紹了linux動態(tài)鏈接庫使用方法,大家參考使用吧
    2014-01-01
  • shell隨機定時修改密碼change_passwd.sh

    shell隨機定時修改密碼change_passwd.sh

    這篇文章主要介紹了shell隨機定時修改密碼change_passwd.sh,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12

最新評論

香河县| 图木舒克市| 海伦市| 普洱| 湘西| 海淀区| 周至县| 隆回县| 金堂县| 锦屏县| 富阳市| 呼图壁县| 兴安县| 大渡口区| 岳阳县| 佛冈县| 祁阳县| 和平区| 界首市| 奉贤区| 建瓯市| 巴彦淖尔市| 嘉鱼县| 理塘县| 平泉县| 宝应县| 湘乡市| 宁强县| 保靖县| 米泉市| 临夏县| 池州市| 台江县| 深水埗区| 安国市| 上栗县| 博客| 沐川县| 孝昌县| 南部县| 沙河市|