完善中央与边缘部署、远程写入与监控文档

- 增加中央与边缘完整配置和部署脚本
- 引入 VictoriaMetrics 数据源与 remote_write 故障排查说明
- 新增 edge-agent 配置脚本、ONVIF 自建 exporter 与 ping 监控示例

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Super User
2026-02-25 04:24:40 -05:00
parent 9e37f79a36
commit 95a09fd9d8
52 changed files with 5978 additions and 0 deletions

131
doc/TARGETS_CSV_GUIDE.md Normal file
View File

@@ -0,0 +1,131 @@
# targets.csv 配置指南
## 概述
`targets.csv` 是统一的监控目标配置文件,可以在一个文件中同时配置 ONVIF 设备和网络 Ping 目标。
## 文件格式
```csv
type,ip,device,group,network,device_type,model,location,username,password,onvif_port
```
### 字段说明
| 字段 | 说明 | 必需 | 适用类型 |
|------|------|------|----------|
| `type` | 目标类型:`ping``onvif` | ✅ | 所有 |
| `ip` | IP 地址 | ✅ | 所有 |
| `device` | 设备名称 | ❌ | ping |
| `group` | 设备分组 | ❌ | ping |
| `network` | 网络类型internal/external | ❌ | ping |
| `device_type` | 设备类型camera/nvr | ✅ | onvif |
| `model` | 设备型号 | ✅ | onvif |
| `location` | 设备位置 | ✅ | onvif |
| `username` | 用户名 | ✅ | onvif |
| `password` | 密码 | ✅ | onvif |
| `onvif_port` | ONVIF 端口默认80 | ❌ | onvif |
## 配置示例
### Ping 目标配置
```csv
type,ip,device,group,network,device_type,model,location,username,password,onvif_port
ping,192.168.1.1,main_router,network,internal,,,,,,
ping,8.8.8.8,google_dns,external,external,,,,,,
ping,1.1.1.1,cloudflare_dns,external,external,,,,,,
```
**说明**
- `type` 设置为 `ping`
- 填写 `ip`, `device`, `group`, `network`
- ONVIF 相关字段留空
### ONVIF 设备配置
```csv
type,ip,device,group,network,device_type,model,location,username,password,onvif_port
onvif,192.168.1.100,,,front_door,camera,HIKVISION_DS-2CD2342WD-I,front_door,admin,password1,80
onvif,192.168.1.101,,,back_yard,camera,DAHUA_IPC-HFW1230S,back_yard,admin,password2,80
onvif,192.168.1.50,,,server_rack,nvr,HIKVISION_DS-7608NI-I2,server_rack,admin,password4,80
```
**说明**
- `type` 设置为 `onvif`
- 填写 `ip`, `device_type`, `model`, `location`, `username`, `password`
- `onvif_port` 默认为 80如果不是 80 需要填写
- Ping 相关字段device, group, network可以留空
### 混合配置示例
```csv
type,ip,device,group,network,device_type,model,location,username,password,onvif_port
ping,192.168.1.1,main_router,network,internal,,,,,,
ping,8.8.8.8,google_dns,external,external,,,,,,
onvif,192.168.1.100,,,front_door,camera,HIKVISION_DS-2CD2342WD-I,front_door,admin,password1,80
onvif,192.168.1.101,,,back_yard,camera,DAHUA_IPC-HFW1230S,back_yard,admin,password2,80
```
## 使用注释
可以在 CSV 文件中使用 `#` 开头的注释行:
```csv
# 这是注释行
type,ip,device,group,network,device_type,model,location,username,password,onvif_port
ping,8.8.8.8,google_dns,external,external,,,,,,
# onvif,192.168.1.100,,,front_door,camera,HIKVISION_DS-2CD2342WD-I,front_door,admin,password1,80
```
## 生成配置文件
编辑 `targets.csv` 后,运行:
```bash
cd config
./update-configs.sh
```
这会生成:
- `onvif-targets.json` - ONVIF 设备配置
- `ping-targets.json` - Ping 目标配置
## 向后兼容
如果存在旧的配置文件:
- `devices.csv` - 仍会被识别并转换
- `ping-targets.csv` - 仍会被识别并转换
但建议统一使用 `targets.csv` 进行配置。
## 注意事项
1. **字段顺序**:必须按照 CSV 头部定义的顺序填写
2. **空字段**:不需要的字段可以留空,但逗号不能省略
3. **特殊字符**:如果字段值包含逗号,需要用引号包裹
4. **密码安全**:密码以明文存储,请确保文件权限安全
## 迁移指南
### 从旧格式迁移
**旧格式**`devices.csv` + `ping-targets.csv`
```csv
# devices.csv
ip,device_type,model,location,username,password,onvif_port
192.168.1.100,camera,HIKVISION_DS-2CD2342WD-I,front_door,admin,password1,80
# ping-targets.csv
ip,device,group,network
8.8.8.8,google_dns,external,external
```
**新格式**`targets.csv`
```csv
type,ip,device,group,network,device_type,model,location,username,password,onvif_port
onvif,192.168.1.100,,,front_door,camera,HIKVISION_DS-2CD2342WD-I,front_door,admin,password1,80
ping,8.8.8.8,google_dns,external,external,,,,,,
```
只需将两个文件的内容合并到 `targets.csv`,并添加 `type` 列即可。