>  기사  >  php教程  >  结合简聊的报警通知函数

结合简聊的报警通知函数

WBOY
WBOY원래의
2016-06-07 11:37:412119검색

当系统出现问题,或者想要报警或是通知的时候,可以通过该函数,向简聊的自定义hook发出请求,然后就可以在手机上面接收到报警。

当系统出现问题,或者想要报警或是通知的时候,可以通过该函数,向简聊的自定义hook发出请求,然后就可以在手机上面接收到报警。


简聊地址:https://jianliao.com
注册登录后,可以看到一个聚合服务 ,在里面找到自定义,Incoming Webhook,然后把里面的key替换到代码中的位置即可。
结合简聊的报警通知函数

thinkphp的实现函数,可以放在common/function.php里面,也可以随意,或者封装成class。/**<br>  * 监控上报<br>  * @param  [type]  $title       [标题]<br>  * @param  [type]  $text        [详细内容]<br>  * @param  string  $redirectUrl [跳转地址]<br>  * @param  string  $imageUrl    [图片地址]<br>  * @param  integer $time        [过期时间,就是当积累的上报数据达到指定时间后,再发送报警,比如超过10分钟发送一次]<br>  * @param  boolean $now         [是否立即发送]<br>  * @return [type]               [发送完成的true 或是false]<br>  */<br> function gtReport($title, $text, $redirectUrl = '', $imageUrl = '', $time = 600,$now = false) {<br>     $content = S('report_' . $title);<br>     if (empty($content)) {<br>         //如果为首次报错,则记录首次过期时间<br>         S('report_' . $title . '_expire', time());<br>     }<br>     $expire = S('report_' . $title . '_expire');<br> <br>     if (empty($content) || ($expire + $time) > time() || $now == false) {<br>         //如果数量为空,或是首次过期时间没有超过10分钟,则进行累加<br>         S('report_' . $title, $content . "\n" . $text . "[" . date('Y-m-d H:i:s') . "]");<br>         return false;<br>     }<br>     S('report_' . $title, 0);<br> <br>     $data['authorName'] = '我的数据上报';<br>     $data['title'] = $title;<br>     $data['text'] = $content;<br>     $data['redirectUrl'] = $redirectUrl;<br>     $data['imageUrl'] = $imageUrl;<br> <br>     $query = array();<br>     foreach ($data as $key => $value) {<br>         if ($value === '') {<br>             continue;<br>         }<br>         $query[] = $key . '=' . $value;<br>     }<br>     $query = implode('&', $query);<br>     $url = 'https://talk.ai/v1/services/webhook/来自简报的key';<br> <br>     $ch = curl_init();<br>     curl_setopt($ch, CURLOPT_URL, $url);<br>     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);<br>     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);<br>     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);<br>     curl_setopt($ch, CURLOPT_POST, true);<br>     curl_setopt($ch, CURLOPT_POSTFIELDS, $query);<br> <br>     $result = curl_exec($ch);<br>     \Think\Log::write("错误上报\t" . $query, 'WARN');<br>     return true;<br> }收到通知的效果如下:
结合简聊的报警通知函数

AD:真正免费,域名+虚机+企业邮箱=0元

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.