Yii2框架使用钉钉聊天机器人接收系统警报

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

  • yiilogDbTarget : 使用数据库收集日志
  • yiilogEmailTarget: 使用邮件收集日志
  • yiilogSyslogTarget: 使用系统的 Syslog 收集日志 上面的几个工具除了邮件外,都不能及时的通知到运维人员或开发者。

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

  1. 获取钉钉聊天机器人 Access Token

在使用本扩展之前,你需要去https://ding-doc.dingtalk.com/doc#/serverapi2/krgddi获取相关信息。

  1. 安装扩展
    composer require saviorlv/yii2-dingtalk-exception

或者在 composer.json 中添加 saviorlv/yii2-dingtalk-exception 再此之前建议您使用阿里云composer镜像。

阿里云镜像地址为https://developer.aliyun.com/composer按步骤安装即可。安装完成后进行下一步。

  1. 配置 Yii 2 应用

在配置文件中修改组件 log

'components' => [
    ......
    'log' => [
                'traceLevel' => YII_DEBUG ? 3 : 0,
                'targets' => [
                    [
                        'class' => 'yiilogFileTarget',
                        'levels' => ['error', 'warning'],
                    ],
                    [
                        'class' => 'SaviorlvLogExceptionTarget',//或者把里面的代码拉出来进行自己封装,使用数组可以达到多个机器人轮换着发送避免次数过多被钉钉屏蔽+使用redis队列进行处理
                        'levels' => ['error', 'warning'],
                        'options' => [
                            'accessToken' => 'xxxxxxxx',
                            'isAtAll' => false,
                            'atMobiles' => ['136xxxx5134']
                        ],
                    ],
                ],
            ],
    ......
]
  1. 参数

'isAtAll' => true @所有人

'atMobiles' => ['136xxxx5134','136xxxx5133'] @部分人员 此时当 Yii 2 程序出现 error 级别的错误时,钉钉群就会收到机器人发送的错误日志。

  1. 其他建议

建议除了监控系统报警外,可以自定义封装钉钉发送,达到特殊的业务处理出现问题时指定报错信息

5.相关扩展地址

zhaohao

大家好,欢迎来到赵豪博客!赵豪,94年生人,PHP程序员一枚,因为对PHP开发有着相对比较浓厚的兴趣,所以现在从事着PHP程序员的工作。 今天再次开通这个博客,这里将记录我的职业生涯的点点滴滴,感谢来访与关注!如果我的博客能给您带来一些帮助那真是一件非常荣幸的事情~

相关推荐

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

Yii2框架使用钉钉聊天机器人接收系统警报
返回顶部

显示

忘记密码?

显示

显示

获取验证码

Close