- 边缘: Prometheus 改为 vmagent,统一 docker-compose.yml,内存+磁盘缓存 - 边缘脚本: 合并为 deploy.sh [--local],删除 run-edge-local、quick-setup、run-edge-with-cache - 配置: 合并为 update-configs.sh,统一 targets.csv,生成 target-onvif/target-ping/target-topology - 删除 topology-editor、旧格式 devices.csv/ping-targets.csv、setup-remote-write、test-connection - 文档: 更新 EDGE_CACHE、TIANDITU(瓦片改 4090 直连 tile-cache) Made-with: Cursor
ONVIF Exporter(自建)
本目录为自建的 ONVIF 探测容器,供边缘节点可选使用。通过 ONVIF GetDeviceInformation 探测设备是否在线,并暴露 Prometheus 指标。
指标
onvif_device_up:1=可达,0=不可达- 标签:
instance,location,model,device_type,lat,lon
- 标签:
onvif_probe_duration_seconds:探测耗时(秒)- 标签同上
配置
- 从 config/target-onvif.json 读取设备列表(与
targets.csv中 onvif 行一致,由config/update-configs.sh生成)。- 支持字段:
device_type,model,location,username,password,onvif_port,lat,lon
- 支持字段:
- 环境变量:
TARGETS_FILE(默认/config/targets.json)、EXPORTER_PORT(默认 9600)。
构建与运行
在边缘节点目录下启用 ONVIF 并构建、启动:
cd edge-agent
docker compose --profile onvif up -d --build
或仅构建镜像:
docker build -t onvif-exporter:local ./onvif-exporter
依赖
- Go 1.21(仅构建时需要,Dockerfile 内已包含)
- github.com/use-go/onvif(ONVIF 协议)
- prometheus/client_golang(指标暴露)