Files
Distributed-Prometheus/edge-agent/quick-setup.sh
Super User 95a09fd9d8 完善中央与边缘部署、远程写入与监控文档
- 增加中央与边缘完整配置和部署脚本
- 引入 VictoriaMetrics 数据源与 remote_write 故障排查说明
- 新增 edge-agent 配置脚本、ONVIF 自建 exporter 与 ping 监控示例

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 04:24:40 -05:00

105 lines
2.9 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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