4.5 KiB
4.5 KiB
客户现场调试指南 — 第三方接口联调
前置:更新 Edge 设备可执行文件
将 safesightd、safesight-edge-agent、safesight-edge-server 替换为最新版本:
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 接口
curl -s -X POST \
"http://180.51.12.2/api/appsys/sso/httpheader/login/v1?username_=szls"
预期返回 JSON,responseBody.token 有值。
2. 告警推送接口
把上一步拿到的 token 替换 TOKEN_VALUE:
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 存储
curl -s "http://180.51.12.2:9000"
预期返回 MinIO XML 响应。
第二步:查看 Edge-Server 日志
在 Edge 设备上执行。
查看启动时加载的第三方地址
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 当前配置的第三方地址
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 的地址。如果全是空字符串:
- 确认管理端「第三方服务」中地址已改为
180.51.12.2 - 用向导重新下发(不要用设备详情页的「下发当前设备分配」,那条路径不注入集成服务)
- 下发后再次执行上述 grep 确认地址已写入
实时跟踪告警和接口调用
journalctl -f 效果等同于 tail -f,可持续滚动查看新日志:
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 本地告警
journalctl -u safesight-edge-agent --no-pager -n 200 \
| grep -i "alarm\|report"
快速诊断
journalctl -u safesight-edge-server --no-pager -n 500 \
| grep -E "ExternalApi|HttpAction|alarm.*trigger|token|send ok|send failed"
管理端配置检查
- 登录管理端 → 资产管理 → 第三方服务
- 确认告警服务和对象存储地址为
180.51.12.2 - 如有修改,保存后重新下发设备配置