shell腳本實現飛書機器人告警通知 - WGCLOUD


此文是Linux部署server用shell實現飛書告警,windows部署server用bat實現飛書告警點擊此處

1、在群聊中添加機器人
進入群聊,打開群設置,找到群機器人,並點擊添加機器人。選擇自定義機器人加入群聊。

 

添加該機器人進群,設置機器人頭像、名稱和描述(隨便寫就可以了),然后點擊下一步。

 

 

 

2、配置webhook,可根據需求選擇一種及以上安全設置的方式(先不選,成功后再根據自己實際場景調整),復制並保存此頁面的參數,最后點擊完成。

 

 

使用機器人發送消息
請保管好 webhook 地址。 不要公布在 Github、博客等可公開查閱的網站上。地址泄露后可能被惡意調用發送垃圾信息

 

3、新建/home/testmsg.sh文件,此處目錄和文件名稱是為測試方便,自己可以根據實際場景自定義,內容如下

#!/bin/bash
content=$1
content=${content//\ /}
content=${content//\"/}
time3=$(date "+%H:%M:%S")
content="$time3,$content"
echo "warn content is : $content"

#飛書機器人webhook 地址
api=https://open.feishu.cn/open-apis/bot/v2/hook/58298exxxxxxxxxxxxxxxxxxxxxx


curl -X POST \
  $api \
  -H 'Content-Type: application/json' \
    -d '{
    "msg_type": "post",
    "content": {
        "post": {
            "zh_cn": {
                "title": "WGCLOUD告警",
                "content": [
                    [
                        {
                            "tag": "text",
                            "text": "'$content'"
                        }
                    ],
                    [

                    ]
                ]
            }
        }
    }
}'

 

記得給testmsg.sh文件添加可執行權限

chmod +x testmsg.sh

測試過程中,將xxxxxxxx那行內容,替換為自己的實際webhook地址

sh /home/testmsg.sh 測試告警

 

4、然后在/server/config/application.yml里,修改配置項,然后重啟server生效

  #告警腳本文件的完整路徑,注意是完整的路徑,可以為空,參考:/server/template/sendMsg.sh
  warnScript: /home/testmsg.sh

 注意告警腳本文件需要填寫完整的路徑

 

 5、注意windows編輯shell腳本后,上傳到linux下執行可能出現\r錯誤

 

因為Windows系統中的換行符是**\n\r**,Linux系統中的換行符是**\n**,因此需要將**\r**替換為空白。

運行如下命令即可

    sed -i 's/\r$//' /home/testmsg.sh

 

6、關於告警內容沒有空格的說明

因為微信發送的消息,如果有空格,會截斷,空格后內容不會發送顯示,因此將空格替換為空,shell腳本中的content=${content//\ /}就是將空格替換為空,

如果想顯示空格,可以將content=${content//\ /}這行注釋掉,然后修改server/config/application.yml文件中的配置項warnToUnicode改為yes,如下

#是否將告警內容轉為unicode,yes是,no否,在windows執行告警腳本時,一般需要轉碼,否則接受到會是亂碼
  warnToUnicode: yes

修改完后,重啟下server


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM