#!/bin/bash # 本机同机部署边缘:中央与边缘在同一台机器时,一键配置并启动边缘 # 用法: ./run-edge-local.sh set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR" echo "=== 本机同机部署边缘(中央与边缘在同一台机器)===" echo "" # 确保有 .env if [ ! -f ".env" ]; then [ -f "env.example" ] && cp env.example .env || { echo "❌ 缺少 env.example"; exit 1; } fi # 指向本机中央 VictoriaMetrics(容器内用 host.docker.internal 访问宿主机) if ! grep -q 'CENTRAL_SERVER_HOST=host.docker.internal' .env 2>/dev/null; then echo "📝 设置中央服务器为本机 (host.docker.internal:8428)..." sed -i 's/^CENTRAL_SERVER_HOST=.*/CENTRAL_SERVER_HOST=host.docker.internal/' .env 2>/dev/null || \ echo 'CENTRAL_SERVER_HOST=host.docker.internal' >> .env grep -q '^CENTRAL_SERVER_PORT=' .env || echo 'CENTRAL_SERVER_PORT=8428' >> .env sed -i 's/^CENTRAL_SERVER_PORT=.*/CENTRAL_SERVER_PORT=8428/' .env 2>/dev/null || true echo "✅ 已写入 CENTRAL_SERVER_HOST=host.docker.internal, CENTRAL_SERVER_PORT=8428" fi echo "" echo "请确保中央服务器已在本机运行(central-server 已 deploy),且 VictoriaMetrics 监听 8428。" echo "按回车继续启动边缘,或 Ctrl+C 取消..." read -r bash deploy.sh echo "" echo "💡 本机部署完成后:" echo " - 边缘 Prometheus UI: http://localhost:9092" echo " - 在 Grafana 中选择数据源「VictoriaMetrics」可查看边缘上报的数据"