Laravel能用钉钉接收系统警报!

下面给大家介绍Laravel框架怎么使用钉钉聊天机器人接收系统警报 ,希望对大家有所帮助! 钉钉提供的聊天机器人功能,可以使用自定义机器人的 webhook 我们可以将错误日志及时…

下面给大家介绍Laravel框架怎么使用钉钉聊天机器人接收系统警报 ,希望对大家有所帮助!

Laravel能用钉钉接收系统警报!

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

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

在使用本扩展之前,你需要ding-doc.dingtalk.com/doc#/servera…获取相关信息。

2、所需知识

Carbon

GuzzleHttp

3、编写代码

<?phpnamespace所在命名空间;useCarbonCarbon;useGuzzleHttpClient;useGuzzleHttpExceptionGuzzleException;useIlluminateSupportFacadesLog;classDing{CONSTBASE_URI="https://oapi.dingtalk.com/";CONSTNOTICE_URL=["robot/send?access_token=*******",'robot/send?access_token=*********'];/***Description:钉钉文本通知*@param$data*@paramarray$at*@parambool$isAtAll*@throwsGuzzleException*/publicstaticfunctiontext($data,$at=[],$isAtAll=false){$notice_url=self::NOTICE_URL[rand(0,count(self::NOTICE_URL)-1)];$data="####异常触发时间".Carbon::now()->format('Y-m-dH:i:s')."n".$data;$pushData=['msgtype'=>'text','text'=>['content'=>$data],'at'=>['atMobiles'=>$at,'isAtAll'=>$isAtAll],];self::getData($notice_url,$pushData);}/***Description:钉钉预警markdown*@param$data*@paramarray$at*@parambool$isAtAll*@throwsGuzzleException*/publicstaticfunctionmarkdown($data,$at=[],$isAtAll=false){$notice_url=self::NOTICE_URL[rand(0,count(self::NOTICE_URL)-1)];$data['text']="####异常触发时间".Carbon::now()->format('Y-m-dH:i:s')."n".$data['text'];$pushData=['msgtype'=>'markdown','markdown'=>$data,'at'=>['atMobiles'=>$at,'isAtAll'=>$isAtAll],];self::getData($notice_url,$pushData);}/***Description:钉钉预警处理*@param$notice_url*@param$pushData*@throwsGuzzleException*/publicstaticfunctiongetData($notice_url,$pushData){try{$client=newClient(['base_uri'=>self::BASE_URI,'timeout'=>3.0]);$res=$client->request('POST',$notice_url,['headers'=>['Content-Type'=>'application/json;charset=utf-8',],'json'=>$pushData,'verify'=>false]);$result=json_decode($res->getBody()->getContents(),true);if($result['errmsg']!='ok'&&$result['errcode']!=0){Log::debug('钉钉推送数据失败',['result'=>$result,'url'=>$notice_url]);}}catch(Exception$e){Log::debug('钉钉推送异常!',['data'=>$pushData,'url'=>$notice_url,'env'=>App::environment()]);}}}

4、其他建议

推荐使用redis队列进行操作,具体需要Event,Listener,redis相关操作具体可查看laravel官方文档。

产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;

日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉

本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;

部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入

如若转载,请注明出处:https://www.chanpinyuan.cn/37309.html;
(0)
上一篇 2023年2月21日 下午4:18
下一篇 2023年2月21日 下午4:18

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部