实战模拟│企业微信机器人实时报错预警

一、创建机器人

  • 选择群右键管理聊天信息添加群机器人
  • 完善机器人基本信息,包括头像、名称等

实战模拟│企业微信机器人实时报错预警_第1张图片

实战模拟│企业微信机器人实时报错预警_第2张图片

实战模拟│企业微信机器人实时报错预警_第3张图片

二、机器人配置说明

  • 创建好的机器人都有一个唯一的 webhook 地址
  • 一定要保护好自己的 webhook 地址,如果一旦泄露,可以通过移除机器人,再重新创建一个去处理
  • 点击 webhook 地址,可以看到文档说明,也可以进行普通的推送消息配置
  • 其中的自定义推送消息,在机器人配置说明栏目里面有详细说明,但是需要自己开发

实战模拟│企业微信机器人实时报错预警_第4张图片

实战模拟│企业微信机器人实时报错预警_第5张图片

三、机器人信息推送

  • 当前自定义机器人 支持文本(text)、markdown(markdown)、图片(image)、图文(news)四种消息类型
  • 我们只要根据它的文档说明,将指定类型的消息发送给 webhook 地址即可实现消息推送
// 文本消息类型
{
    "msgtype": "text",
    "text": {
        "content": "广州今日天气:29度,大部分多云,降雨概率:60%",
        "mentioned_list":["wangqing","@all"],
        "mentioned_mobile_list":["13800001111","@all"]
    }
}

// markdown消息类型
{
    "msgtype": "markdown",
    "markdown": {
        "content": "实时新增用户反馈132例,请相关同事注意。\n
         >类型:用户反馈
         >普通用户反馈:117例
         >VIP用户反馈:15例"
    }
}

// 图片消息类型
{
    "msgtype": "image",
    "image": {
        "base64": "DATA",
        "md5": "MD5"
    }
}

// 图文消息类型
{
    "msgtype": "news",
    "news": {
       "articles" : [
           {
               "title" : "中秋节礼品领取",
               "description" : "今年中秋节公司有豪礼相送",
               "url" : "www.qq.com",
               "picurl" : "http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png"
           }
        ]
    }
}

四、错误预警推送

  • 这里以 Thinkphp 框架为例,将错误预警整合到项目中,实现实时错误推送
  • 首先在 config 配置文件添加错误处理类,执行哪个文件来处理错误
  • 配置完成后,项目只要遇到错误,程序都会走指定的文件去处理
  • 然后在该文件中完善错误推送预警逻辑即可,一般错误预警都是用 markdown 类型进行推送
'exception_handle'       => '\app\common\exception\WorkWx',
 'markdown',
                'markdown' => [
                    'content' => "来自 **天眼** 的温馨提醒,请相关同事注意。
                             >**描述:** 参数验证错误
                             >**端IP:** {$clientIP}
                             >**地址:** {$ipAddress}
                             >**状态:** {$e->getCode()}
                             >**行数:** {$e->getLine()}
                             >**文件:** {$e->getFile()}
                             >**提示:** {$e->getError()}
                             >**信息:** {$e->getMessage()}"
                ]
            ];

            return Helper::postCurl(self::WEBHOOK, json_encode($data));
        }

        // 请求异常
        if ($e instanceof HttpException) {
            $data = [
                'msgtype' => 'markdown',
                'markdown' => [
                    'content' => "来自 **天眼** 的温馨提醒,请相关同事注意。
                             >**描述:** 请求异常
                             >**端IP:** {$clientIP}
                             >**地址:** {$ipAddress}
                             >**状态:** {$e->getCode()}
                             >**行数:** {$e->getLine()}
                             >**文件:** {$e->getFile()}
                             >**信息:** {$e->getMessage()}"
                ]
            ];

            return Helper::postCurl(self::WEBHOOK, json_encode($data));
        }


        // 其他错误交给系统处理
        return parent::render($e);
    }
}

实战模拟│企业微信机器人实时报错预警_第6张图片

你可能感兴趣的:(实时推送实时监控机器人企业微信)