162 lines
4.5 KiB
Markdown
162 lines
4.5 KiB
Markdown
# 客户现场调试指南 — 第三方接口联调
|
||
|
||
## 前置:更新 Edge 设备可执行文件
|
||
|
||
将 safesightd、safesight-edge-agent、safesight-edge-server 替换为最新版本:
|
||
|
||
```bash
|
||
tar xzf safesight-update.tar.gz
|
||
cd safesight-update
|
||
sudo systemctl stop safesightd safesight-edge-agent safesight-edge-server
|
||
sudo cp safesightd /opt/safesightd/bin/
|
||
sudo cp safesight-edge-agent /opt/safesight-edge-agent/
|
||
sudo cp safesight-edge-server /opt/safesight-edge-server/bin/
|
||
sudo chmod +x /opt/safesightd/bin/safesightd \
|
||
/opt/safesight-edge-agent/safesight-edge-agent \
|
||
/opt/safesight-edge-server/bin/safesight-edge-server
|
||
sudo systemctl start safesightd safesight-edge-agent safesight-edge-server
|
||
```
|
||
|
||
> 本次更新修复了 agent 在 edge-server 热加载慢时错误回滚旧配置的问题。
|
||
|
||
---
|
||
|
||
## 接口清单
|
||
|
||
| 接口 | 地址 |
|
||
|------|------|
|
||
| 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`,说明管理端下发的配置未更新。
|
||
|
||
### 查看 edge-server 当前配置的第三方地址
|
||
|
||
```bash
|
||
grep -oP '"(getTokenUrl|putMessageUrl|endpoint|bucket|access_key|tenantCode|url)":"[^"]*"' \
|
||
/opt/safesight-edge-server/etc/safesight-edge-server.json \
|
||
| sort -u
|
||
```
|
||
|
||
预期看到 `180.51.12.2` 的地址。**如果全是空字符串**:
|
||
|
||
1. 确认管理端「第三方服务」中地址已改为 `180.51.12.2`
|
||
2. 用**向导**重新下发(不要用设备详情页的「下发当前设备分配」,那条路径不注入集成服务)
|
||
3. 下发后再次执行上述 grep 确认地址已写入
|
||
|
||
### 实时跟踪告警和接口调用
|
||
|
||
`journalctl -f` 效果等同于 `tail -f`,可持续滚动查看新日志:
|
||
|
||
```bash
|
||
journalctl -u safesight-edge-server -f \
|
||
| grep -E "alarm.*trigger|ExternalApi|token|send ok|send failed"
|
||
```
|
||
|
||
> 注意:日志写入 systemd journal,没有独立的应用日志文件。edge-server 支持热加载配置,下发后无需重启即可生效。
|
||
|
||
---
|
||
|
||
## 第三步:触发告警,观察完整链路
|
||
|
||
找人走到摄像头前触发告警,观察日志。
|
||
|
||
正常流程:
|
||
|
||
```
|
||
[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. 如有修改,保存后重新下发设备配置
|