#!/usr/bin/env bash # 作业 8 · 在 207 上部署 Prometheus + Grafana 监控栈 set -euo pipefail PATCH="/opt/workbuddy/patches_cursor/作业8_SLA监控大盘" COMPOSE="${PATCH}/docker-compose.monitoring.yml" if ! command -v docker >/dev/null 2>&1; then echo "[FAIL] docker 未安装" exit 1 fi cd "$PATCH" if docker compose version >/dev/null 2>&1; then DC="docker compose" elif command -v docker-compose >/dev/null 2>&1; then DC="docker-compose" else echo "[FAIL] 需要 docker compose 或 docker-compose" exit 1 fi $DC -f "$COMPOSE" pull # 跳过 pull 已缓存镜像时仍 recreate $DC -f "$COMPOSE" up -d --force-recreate sleep 10 echo "=== containers ===" docker ps --filter name=hw8- --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}' echo "=== prometheus health ===" curl -sf "http://127.0.0.1:9092/-/healthy" && echo echo "=== grafana health ===" curl -sf "http://127.0.0.1:3001/api/health" && echo echo "[OK] Grafana http://192.168.110.207:3001 admin/admin123" echo "[OK] Prometheus http://192.168.110.207:9092"