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