123 lines
2.9 KiB
Markdown
123 lines
2.9 KiB
Markdown
# 客户现场调试指南 — 第三方接口联调
|
||
|
||
## 接口清单
|
||
|
||
| 接口 | 地址 |
|
||
|------|------|
|
||
| Token | `POST http://180.51.12.2/api/appsys/sso/httpheader/login/v1?username_=szls` |
|
||
| 告警推送 | `POST http://180.51.12.2/api/edge/edgecallmanages/vi-alarm/v1` |
|
||
| MinIO | `http://180.51.12.2:9000` |
|
||
|
||
---
|
||
|
||
## 第一步:确认三个接口可达
|
||
|
||
在能访问 `180.51.12.2` 的机器上执行。
|
||
|
||
### 1. Token 接口
|
||
|
||
```bash
|
||
curl -s -X POST \
|
||
"http://180.51.12.2/api/appsys/sso/httpheader/login/v1?username_=szls"
|
||
```
|
||
|
||
预期返回 JSON,`responseBody.token` 有值。
|
||
|
||
### 2. 告警推送接口
|
||
|
||
把上一步拿到的 token 替换 `TOKEN_VALUE`:
|
||
|
||
```bash
|
||
curl -s -X POST \
|
||
"http://180.51.12.2/api/edge/edgecallmanages/vi-alarm/v1" \
|
||
-H "Content-Type: application/json" \
|
||
-H "X-Access-Token: TOKEN_VALUE" \
|
||
-d '{"tenantCode":"32","channelNo":"test","alarmContent":"test","alarmTime":"2026-01-01 00:00:00","picInfo":[],"videoInfo":[]}'
|
||
```
|
||
|
||
预期返回 200。
|
||
|
||
### 3. MinIO 存储
|
||
|
||
```bash
|
||
curl -s "http://180.51.12.2:9000"
|
||
```
|
||
|
||
预期返回 MinIO XML 响应。
|
||
|
||
---
|
||
|
||
## 第二步:查看 Edge-Server 日志
|
||
|
||
在 Edge 设备上执行。
|
||
|
||
### 查看启动时加载的第三方地址
|
||
|
||
```bash
|
||
journalctl -u safesight-edge-server --no-pager \
|
||
| grep -E "ExternalApiAction initialized|HttpAction initialized"
|
||
```
|
||
|
||
预期看到 `token_url=http://180.51.12.2/...` 和 `msg_url=http://180.51.12.2/...`。
|
||
|
||
如果 IP 不是 `180.51.12.2`,说明管理端下发的配置未更新。
|
||
|
||
### 实时跟踪告警和接口调用
|
||
|
||
```bash
|
||
journalctl -u safesight-edge-server -f \
|
||
| grep -E "alarm.*trigger|ExternalApi|token|send ok|send failed"
|
||
```
|
||
|
||
---
|
||
|
||
## 第三步:触发告警,观察完整链路
|
||
|
||
找人走到摄像头前触发告警,观察日志。
|
||
|
||
正常流程:
|
||
|
||
```
|
||
[alarm] trigger event_id=xxx rule=unknown_face
|
||
[ExternalApiAction] token fetched successfully
|
||
[ExternalApiAction] send ok http=200 event_id=xxx
|
||
```
|
||
|
||
异常对照:
|
||
|
||
| 日志 | 对策 |
|
||
|------|------|
|
||
| 没有 `[alarm] trigger` | 检查阈值、摄像头、RTSP |
|
||
| 无 `token fetched successfully` | 回到第一步验证 token 接口 |
|
||
| `send failed http=401` | token 过期,检查 SSO 账号 |
|
||
| `send failed http=500` | 第三方内部错误,找客户排查 |
|
||
| 日志里完全没有 `ExternalApiAction` | 管理端集成服务未启用 external_api |
|
||
| `minio upload failed` | 检查 MinIO 凭据和 bucket |
|
||
| `curl_easy_perform` 错误 | Edge 到 180.51.12.2 网络不通 |
|
||
|
||
---
|
||
|
||
## 第四步:验证 Agent 本地告警
|
||
|
||
```bash
|
||
journalctl -u safesight-edge-agent --no-pager -n 200 \
|
||
| grep -i "alarm\|report"
|
||
```
|
||
|
||
---
|
||
|
||
## 快速诊断
|
||
|
||
```bash
|
||
journalctl -u safesight-edge-server --no-pager -n 500 \
|
||
| grep -E "ExternalApi|HttpAction|alarm.*trigger|token|send ok|send failed"
|
||
```
|
||
|
||
---
|
||
|
||
## 管理端配置检查
|
||
|
||
1. 登录管理端 → 资产管理 → 第三方服务
|
||
2. 确认告警服务和对象存储地址为 `180.51.12.2`
|
||
3. 如有修改,保存后重新下发设备配置
|