添加 接口调用
This commit is contained in:
@@ -0,0 +1,167 @@
|
|||||||
|
# 项目全部接口汇总(完整可用,含调用地址、作用、参数)
|
||||||
|
## 公共说明
|
||||||
|
1. 基础域名:`http://10.150.117.190:8080/api/index.php`
|
||||||
|
2. instance 带端口时 `:` 必须编码为 `%3A`,例 `10.150.10.82%3A389`
|
||||||
|
3. 所有接口均需要登录会话,未登录返回 `code:401`
|
||||||
|
4. 数字 `insert_data_num` / `affected_rows` 代表数据库操作行数,0=无匹配数据
|
||||||
|
|
||||||
|
## 1. clear_single_instance 清除单个实例告警(生成恢复记录,隐藏告警)
|
||||||
|
### 作用
|
||||||
|
删除该机器旧恢复日志,强制插入最新恢复记录,前端不再展示这条告警;机器下次故障上报会重新告警。
|
||||||
|
### 完整代码
|
||||||
|
```php
|
||||||
|
if($act === "clear_single_instance"){
|
||||||
|
$rule = $_GET['rule_name'] ?? '';
|
||||||
|
$inst = $_GET['instance'] ?? '';
|
||||||
|
if(empty($rule) || empty($inst)){
|
||||||
|
echo json_encode(["code"=>400,"msg"=>"缺少rule_name或instance参数"],JSON_UNESCAPED_UNICODE);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$ruleEsc = mysqli_real_escape_string($conn, $rule);
|
||||||
|
$instEsc = mysqli_real_escape_string($conn, $inst);
|
||||||
|
|
||||||
|
// 先删除旧恢复记录,避免重复调用失效
|
||||||
|
$delOldRecSql = "DELETE FROM alert_log WHERE alert_type=2 AND alert_name='$ruleEsc' AND instance='$instEsc'";
|
||||||
|
mysqli_query($conn, $delOldRecSql);
|
||||||
|
|
||||||
|
// 强制插入恢复记录
|
||||||
|
$insertSql = "
|
||||||
|
INSERT INTO alert_log (alert_type,alert_name,instance,severity,starts_at,receive_time)
|
||||||
|
SELECT DISTINCT 2,alert_name,instance,severity,NOW(),NOW()
|
||||||
|
FROM alert_log
|
||||||
|
WHERE alert_name='$ruleEsc' AND instance='$instEsc'
|
||||||
|
";
|
||||||
|
mysqli_query($conn, $insertSql);
|
||||||
|
$insertCount = mysqli_affected_rows($conn);
|
||||||
|
|
||||||
|
echo json_encode([
|
||||||
|
"code"=>0,
|
||||||
|
"msg"=>"单实例告警清理完成",
|
||||||
|
"insert_data_num" => $insertCount
|
||||||
|
],JSON_UNESCAPED_UNICODE);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
### 调用示例
|
||||||
|
```
|
||||||
|
http://10.150.117.190:8080/api/index.php?act=clear_single_instance&rule_name=Port_Down&instance=10.150.10.82%3A389
|
||||||
|
```
|
||||||
|
### 返回示例
|
||||||
|
```json
|
||||||
|
{"code":0,"msg":"单实例告警清理完成","insert_data_num":1}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 2. clear_offline_rule 下线整条告警规则(所有实例批量清除)
|
||||||
|
### 作用
|
||||||
|
整条规则标记下线,批量生成所有机器恢复记录,页面隐藏该规则全部告警。
|
||||||
|
### 调用示例
|
||||||
|
```
|
||||||
|
http://10.150.117.190:8080/api/index.php?act=clear_offline_rule&rule_name=Host_Ping_Offline
|
||||||
|
```
|
||||||
|
|
||||||
|
## 3. restore_rule 恢复整条下线规则
|
||||||
|
### 作用
|
||||||
|
修改 monitor_rule 表 status=1,重新放行该规则所有机器告警。
|
||||||
|
### 调用示例
|
||||||
|
```
|
||||||
|
http://10.150.117.190:8080/api/index.php?act=restore_rule&rule_name=Host_Ping_Offline
|
||||||
|
```
|
||||||
|
|
||||||
|
## 4. restore_single_instance 恢复单台下线实例
|
||||||
|
### 作用
|
||||||
|
仅修改单台机器 monitor_rule status=1,单独放开该实例告警。
|
||||||
|
### 调用示例
|
||||||
|
```
|
||||||
|
http://10.150.117.190:8080/api/index.php?act=restore_single_instance&rule_name=Host_Ping_Offline&instance=10.150.10.118
|
||||||
|
```
|
||||||
|
|
||||||
|
## 5. delete_single_instance_log 删除单实例全部告警日志(彻底清空)
|
||||||
|
### 作用
|
||||||
|
直接删除该机器所有告警记录,无残留,推荐彻底清理垃圾告警使用。
|
||||||
|
### 代码
|
||||||
|
```php
|
||||||
|
if($act === "delete_single_instance_log"){
|
||||||
|
$rule = $_GET['rule_name'] ?? '';
|
||||||
|
$inst = $_GET['instance'] ?? '';
|
||||||
|
if(empty($rule) || empty($inst)){
|
||||||
|
echo json_encode(["code"=>400,"msg"=>"缺少rule_name或instance参数"],JSON_UNESCAPED_UNICODE);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$ruleEsc = mysqli_real_escape_string($conn, $rule);
|
||||||
|
$instEsc = mysqli_real_escape_string($conn, $inst);
|
||||||
|
$delSql = "DELETE FROM alert_log WHERE alert_name='$ruleEsc' AND instance='$instEsc'";
|
||||||
|
mysqli_query($conn, $delSql);
|
||||||
|
$aff = mysqli_affected_rows($conn);
|
||||||
|
echo json_encode(["code"=>0,"msg"=>"单实例告警日志已删除","affected_rows"=>$aff],JSON_UNESCAPED_UNICODE);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
### 调用示例
|
||||||
|
```
|
||||||
|
http://10.150.117.190:8080/api/index.php?act=delete_single_instance_log&rule_name=Port_Down&instance=10.150.10.82%3A389
|
||||||
|
```
|
||||||
|
|
||||||
|
## 6. clear_rule_all_log 一键清空整条规则所有告警日志
|
||||||
|
### 作用
|
||||||
|
删除该规则下全部机器告警记录,废弃规则时批量清理。
|
||||||
|
### 代码
|
||||||
|
```php
|
||||||
|
if($act === "clear_rule_all_log"){
|
||||||
|
$rule = $_GET['rule_name'] ?? '';
|
||||||
|
if(empty($rule)){
|
||||||
|
echo json_encode(["code"=>400,"msg"=>"缺少rule_name参数"],JSON_UNESCAPED_UNICODE);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$ruleEsc = mysqli_real_escape_string($conn, $rule);
|
||||||
|
$delSql = "DELETE FROM alert_log WHERE alert_name='$ruleEsc'";
|
||||||
|
mysqli_query($conn, $delSql);
|
||||||
|
$aff = mysqli_affected_rows($conn);
|
||||||
|
echo json_encode(["code"=>0,"msg"=>"规则全部告警日志已清空","delete_rows"=>$aff],JSON_UNESCAPED_UNICODE);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
### 调用示例
|
||||||
|
```
|
||||||
|
http://10.150.117.190:8080/api/index.php?act=clear_rule_all_log&rule_name=Host_Ping_Offline
|
||||||
|
```
|
||||||
|
|
||||||
|
## 7. day_total 首页统计卡片数据
|
||||||
|
### 作用
|
||||||
|
获取今日触发告警数、恢复数、故障机器总数。
|
||||||
|
### 调用
|
||||||
|
```
|
||||||
|
http://10.150.117.190:8080/api/index.php?act=day_total
|
||||||
|
```
|
||||||
|
|
||||||
|
## 8. top_alert 今日告警TOP10图表数据
|
||||||
|
### 调用
|
||||||
|
```
|
||||||
|
http://10.150.117.190:8080/api/index.php?act=top_alert
|
||||||
|
```
|
||||||
|
|
||||||
|
## 9. log_list 今日全量告警明细表格
|
||||||
|
### 调用
|
||||||
|
```
|
||||||
|
http://10.150.117.190:8080/api/index.php?act=log_list
|
||||||
|
```
|
||||||
|
|
||||||
|
## 10. active_firing 当前未恢复活跃告警列表(页面核心告警表格)
|
||||||
|
### 调用
|
||||||
|
```
|
||||||
|
http://10.150.117.190:8080/api/index.php?act=active_firing
|
||||||
|
```
|
||||||
|
|
||||||
|
## 11. export_csv 导出今日告警CSV报表(下载文件)
|
||||||
|
### 调用
|
||||||
|
```
|
||||||
|
http://10.150.117.190:8080/api/index.php?act=export_csv
|
||||||
|
```
|
||||||
|
|
||||||
|
# 接口用途快速区分
|
||||||
|
1. 临时隐藏单条告警(保留日志):`clear_single_instance`
|
||||||
|
2. 彻底删除单机器所有告警:`delete_single_instance_log`
|
||||||
|
3. 整条规则下线屏蔽:`clear_offline_rule`
|
||||||
|
4. 恢复下线规则/机器告警:`restore_rule` / `restore_single_instance`
|
||||||
|
5. 废弃规则批量清库:`clear_rule_all_log`
|
||||||
|
6. 页面展示数据:`day_total` / `top_alert` / `log_list` / `active_firing`
|
||||||
|
7. 导出报表:`export_csv`
|
||||||
Reference in New Issue
Block a user