欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

结合简聊的报警通知函数

程序员文章站 2024-04-04 13:48:29
...
当系统出现问题,或者想要报警或是通知的时候,可以通过该函数,向简聊的自定义hook发出请求,然后就可以在手机上面接收到报警。

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


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

thinkphp的实现函数,可以放在common/function.php里面,也可以随意,或者封装成class。/**
* 监控上报
* @param [type] $title [标题]
* @param [type] $text [详细内容]
* @param string $redirectUrl [跳转地址]
* @param string $imageUrl [图片地址]
* @param integer $time [过期时间,就是当积累的上报数据达到指定时间后,再发送报警,比如超过10分钟发送一次]
* @param boolean $now [是否立即发送]
* @return [type] [发送完成的true 或是false]
*/
function gtReport($title, $text, $redirectUrl = '', $imageUrl = '', $time = 600,$now = false) {
$content = S('report_' . $title);
if (empty($content)) {
//如果为首次报错,则记录首次过期时间
S('report_' . $title . '_expire', time());
}
$expire = S('report_' . $title . '_expire');

if (empty($content) || ($expire + $time) > time() || $now == false) {
//如果数量为空,或是首次过期时间没有超过10分钟,则进行累加
S('report_' . $title, $content . "\n" . $text . "[" . date('Y-m-d H:i:s') . "]");
return false;
}
S('report_' . $title, 0);

$data['authorName'] = '我的数据上报';
$data['title'] = $title;
$data['text'] = $content;
$data['redirectUrl'] = $redirectUrl;
$data['imageUrl'] = $imageUrl;

$query = array();
foreach ($data as $key => $value) {
if ($value === '') {
continue;
}
$query[] = $key . '=' . $value;
}
$query = implode('&', $query);
$url = 'https://talk.ai/v1/services/webhook/来自简报的key';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);

$result = curl_exec($ch);
\Think\Log::write("错误上报\t" . $query, 'WARN');
return true;
}
收到通知的效果如下:
结合简聊的报警通知函数

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

上一篇: PHP 删除内容中的链接地址

下一篇: