完善中央与边缘部署、远程写入与监控文档

- 增加中央与边缘完整配置和部署脚本
- 引入 VictoriaMetrics 数据源与 remote_write 故障排查说明
- 新增 edge-agent 配置脚本、ONVIF 自建 exporter 与 ping 监控示例

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Super User
2026-02-25 04:24:40 -05:00
parent 9e37f79a36
commit 95a09fd9d8
52 changed files with 5978 additions and 0 deletions

104
edge-agent/quick-setup.sh Normal file
View File

@@ -0,0 +1,104 @@
#!/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