# 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` 列即可。