添加 接口调用
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