[TOC]
報警是監控系統的重要組成部分,通過對系統的運行情況設置閾值,例如成功率,失敗率,請求數等,當達到閾值時,可以及時獲得通知。本系統提供了靈活和完善報警功能,可以使用自定義http接口來接收報警消息
## 報警方式
### 添加報警方式
>[danger] `http://notifyapi.swoole-cloud.com?appid=123&type=mp` 此地址為我司默認推送地址,已廢棄。**請自行處理報警信息。**
填寫對應的名稱,以及接口地址

提交接口地址后,發送報警消息的方式為向此地址發送`POST`請求,請求的格式為`json`字符串,包括`msg`和`userinfo`字段,請自行處理報警信息,`json`格式如下:
```json
{
"msg":
{
"level":2,
"alert_id":"409",
"obj_type":"1",
"obj_id":"1000402",
"obj_name":"User應用",
"alert_event":"[{"time":6,"index":"total_count","condition":"lt","value":5000,"level":2}]",
"msg":"[2018-11-29] \u544a\u8b66\u7b49\u7ea7:\u8f83\u91cd, \u5e94\u7528User, 11:20-11:50\u65f6\u95f4\u6bb5\u768430\u5206\u949f\u5185, \u8bf7\u6c42\u6570 < 5000;\u8bf7\u5c3d\u5feb\u5904\u7406\u3002"
},
"userinfo":
{
"94":{
"id":"94",
"uid":"0",
"email":"",
"mp_openid":"",
"project_id":"",
"mobile":"",
"gid":"0",
"usertype":"0",
"username":"admin",
"weixinid":"",
"dingdingid":""
}
}
}
```
> 如果有`ext-swoole`擴展的話,可以啟動一個`HTTP Server`進行轉發處理:
```php
$http = new Swoole\Http\Server('0.0.0.0', 9501);
$http->on('Request', function ($request, $response) {
$data = $request->getContent();
var_dump($data); // 上文的json信息
$response->end('');
});
$http->start();
```
### 刪除報警方式
無需刪除,將此方式設置為無效即可
## 報警組
報警組為設置需要給`那些人員`通過`哪種方式`推送報警消息

報警人員可設置多個,用戶從用戶列表中獲取
報警類型也可設置多個,報警類型為上方添加的報警方式
## 報警模板
報警模板是來設置報警規則的,支持監控應用、接口、以及客戶端機器

* 應用&接口
應用和接口支持設置成功率、失敗率、響應時間、請求數,可同時配置多條規則
* 機器
目前機器監控支持`CPU`使用率、可用內存剩余率、磁盤容量
## 報警列表
報警列表為最終的報警設置,選擇需要監控的類型(應用、接口、機器),選擇后再選擇對應的監控對象,選擇對應的報警模板,報警組即可
