• shell脚本实现飞书机器人告警通知——WGCLOUD


    1、在群聊中添加机器人
    进入群聊,打开群设置,找到群机器人,并点击添加机器人。选择自定义机器人加入群聊。

    添加该机器人进群,设置机器人头像、名称和描述(随便写就可以了),然后点击下一步。

    2、配置webhook,可根据需求选择一种及以上安全设置的方式(先不选,成功后再根据自己实际场景调整),复制并保存此页面的参数,最后点击完成。

    使用机器人发送消息
    请保管好 webhook 地址。 不要公布在 Github、博客等可公开查阅的网站上。地址泄露后可能被恶意调用发送垃圾信息

    3、新建/home/testmsg.sh文件,此处目录和文件名称是为测试方便,自己可以根据实际场景自定义,内容如下

    #!/bin/bash
    content=${@:1}
    content=${content//\<font color=\'red\'\>/}
    content=${content//\<\/font\>\<\/br\>/}
    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

  • 相关阅读:
    拯救者R720安装Ubuntu之后无法连接无线网络
    centos源码安装mysql5.7.25-boost
    mysql的报错
    Nginx配置文档
    centos6.5删除/boot后恢复
    Spring Boot 初体验(11)添加JSP支持
    Spring Boot 初体验(10)使用使用freemarker
    Spring Boot 初体验(9)使用thymeleaf
    Spring Boot 初体验(8)配置server信息
    Spring Boot 初体验(7)全局异常捕捉
  • 原文地址:https://www.cnblogs.com/wanghouhou/p/16110004.html
Copyright © 2020-2023  润新知