Files
2025-09-13 22:30:40 +08:00

72 lines
2.2 KiB
Bash

#!/bin/bash
# S3 Balance + 监控栈 一键启动(修复版)
set -e
echo "🚀 正在启动 S3 Balance + 监控栈(修复CGO版本)..."
# 检查 Docker 和 Docker Compose
if ! command -v docker &> /dev/null; then
echo "❌ Docker 未安装,请先安装 Docker"
exit 1
fi
if ! command -v docker-compose &> /dev/null; then
echo "❌ Docker Compose 未安装,请先安装 Docker Compose"
exit 1
fi
# 创建必要目录
echo "📁 创建必要目录..."
mkdir -p data grafana/provisioning/datasources grafana/provisioning/dashboards
# 构建 S3 Balance 镜像(使用固定 Go 版本)
echo "🔨 构建 S3 Balance 镜像..."
docker build -t s3-balance:latest -f ../docker/Dockerfile ../..
# 停止已有容器(如果存在)
echo "🛑 清理已有容器..."
docker-compose down 2>/dev/null || true
# 启动服务
echo "🐳 启动 Docker 容器..."
docker-compose up -d
# 等待服务启动
echo "⏳ 等待服务启动..."
sleep 25
# 检查服务状态
echo "🔍 检查服务状态..."
if docker-compose ps | grep -q "Up"; then
echo ""
echo "✅ 服务启动完成!"
else
echo ""
echo "❌ 服务启动可能失败,检查日志:"
echo "docker-compose logs"
exit 1
fi
# 输出访问信息
echo ""
echo "🔗 访问地址:"
echo " 📊 Grafana 面板: http://localhost:3000 (用户名: admin, 密码: admin123)"
echo " 🔥 Prometheus: http://localhost:9090"
echo " 📈 指标端点: http://localhost:8080/metrics"
echo " 🐳 Node 指标: http://localhost:9100/metrics"
echo ""
echo "🔧 管理命令:"
echo " docker-compose logs -f s3-balance # 查看 S3 Balance 日志"
echo " docker-compose logs -f prometheus # 查看 Prometheus 日志"
echo " docker-compose logs -f grafana # 查看 Grafana 日志"
echo " docker-compose down # 停止所有服务"
echo " docker-compose restart s3-balance # 重启 S3 Balance"
echo ""
echo "📊 指标查询示例:"
echo " - 存储桶健康: s3_balance_bucket_healthy"
echo " - QPS: rate(s3_balance_s3_operations_total[1m])"
echo " - 延迟: histogram_quantile(0.95, s3_balance_s3_operation_duration_seconds_bucket)"
echo ""
echo "🎉 享受完整的 S3 Balance 监控体验!"