Yii 2 使用钉钉聊天机器人接收系统警报

Yii 2 的日志管理提供了多个日志收集工具:

  • yii\log\DbTarget: 使用数据库收集日志
  • yii\log\EmailTarget: 使用邮件收集日志
  • yii\log\SyslogTarget: 使用系统的 Syslog 收集日志

上面的几个工具除了邮件外,都不能及时的通知到运维人员或开发者。

好在钉钉提供了聊天机器人功能,使用自定义机器人的 webhook 我们可以将错误日志及时的推送到相关人员。

  1. 获取钉钉聊天机器人 Access Token
    根据钉钉官方文档为群聊添加自定义机器人 https://open-doc.dingtalk.com/docs/doc.htm?&treeId=257&articleId=105735&docType=1,得到 Webhook 地址 https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx
    , 聊天机器人 Access Token 即 ?access_token= 后面的内容。

  2. 配置 Yii 2 应用
    在配置文件中修改组件 log

'log' => [
    'traceLevel' => YII_DEBUG ? 3 : 0,
    'targets' => [
        // ...
        [
            'class' => 'iPaya\DingTalk\Log\DingTalkTarget',
            'levels' => ['error'],
            'robot' => [
                'accessToken' => '<你的钉钉聊天机器人 Access Token>'                        
            ]
        ],
        // ...
    ],
],

此时当 Yii 2 程序出现 error 级别的错误时,钉钉群就会收到机器人发送的错误日志。

相关 Yii 2 扩展

  • https://github.com/iPaya/yii2-dingtalk-robot
  • https://github.com/iPaya/yii2-dingtalk-robot

你可能感兴趣的:(Yii 2 使用钉钉聊天机器人接收系统警报)