#!/bin/bash # 边缘节点快速配置脚本 # 用于在本机快速设置边缘节点 set -e echo "=== 边缘节点快速配置脚本 ===" echo "" # 获取本机IP LOCAL_IP=$(hostname -I | awk '{print $1}') echo "📋 检测到本机IP: $LOCAL_IP" echo "" # 1. 创建 .env 文件 if [ ! -f ".env" ]; then echo "📝 创建 .env 配置文件..." cat > .env << EOF # 中央服务器地址(本机) CENTRAL_SERVER_HOST=${LOCAL_IP} CENTRAL_SERVER_PORT=8428 # 边缘节点标识 EDGE_NODE_ID=workernode_1 EOF echo "✅ .env 文件已创建" else echo "⚠️ .env 文件已存在,跳过创建" echo " 如需修改,请编辑 .env 文件" fi echo "" # 2. 配置统一监控目标(最小化测试配置) echo "📝 配置统一监控目标 targets.csv..." cat > config/targets.csv << 'EOF' # 统一监控目标配置文件 # 格式: type,ip,device,group,network,device_type,model,location,username,password,onvif_port # type: onvif 或 ping type,ip,device,group,network,device_type,model,location,username,password,onvif_port ping,8.8.8.8,google_dns,external,external,,,,,, ping,1.1.1.1,cloudflare_dns,external,external,,,,,, # ONVIF 设备示例(取消注释并填写实际信息) # onvif,192.168.1.100,,,front_door,camera,HIKVISION_DS-2CD2342WD-I,front_door,admin,password1,80 EOF echo "✅ 统一监控目标已配置(使用公共DNS进行测试)" echo "" # 3. 生成配置文件 echo "🔄 生成配置文件..." cd config chmod +x *.sh 2>/dev/null || true if [ -f "update-configs.sh" ]; then ./update-configs.sh echo "✅ 配置文件已生成" else echo "⚠️ update-configs.sh 不存在,跳过" fi cd .. echo "" # 4. 检查配置文件 echo "🔍 检查配置文件..." if [ ! -f "config/onvif-targets.json" ]; then echo "📝 创建空的 ONVIF 配置文件..." echo "[]" > config/onvif-targets.json fi if [ ! -f "config/ping-targets.json" ]; then echo "📝 创建空的 Ping 配置文件..." echo "[]" > config/ping-targets.json fi echo "✅ 配置文件检查通过" echo "" # 6. 显示配置摘要 echo "📊 配置摘要:" echo " - 中央服务器: ${LOCAL_IP}:8428" echo " - 边缘节点ID: workernode_1" echo " - 监控目标: 已配置(统一 targets.csv)" echo " * Ping 目标: Google DNS, Cloudflare DNS" echo " * ONVIF 设备: 无(用于测试,可在 targets.csv 中添加)" echo "" # 7. 询问是否立即部署 read -p "是否立即部署边缘节点?(y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then echo "" echo "🚀 开始部署..." bash deploy.sh else echo "" echo "✅ 配置完成!" echo "" echo "📝 下一步:" echo " 1. 检查 .env 文件配置" echo " 2. 编辑 config/targets.csv 添加监控目标(ping 或 onvif)" echo " 3. 运行: cd config && ./update-configs.sh 生成JSON配置" echo " 4. 运行: bash deploy.sh" echo "" fi