- 增加中央与边缘完整配置和部署脚本 - 引入 VictoriaMetrics 数据源与 remote_write 故障排查说明 - 新增 edge-agent 配置脚本、ONVIF 自建 exporter 与 ping 监控示例 Co-authored-by: Cursor <cursoragent@cursor.com>
132 lines
4.0 KiB
Markdown
132 lines
4.0 KiB
Markdown
# 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` 列即可。
|