This commit is contained in:
Your Name
2026-04-17 16:17:19 +08:00
parent 0e096947fc
commit bd6bcb240f
17 changed files with 863 additions and 23 deletions

View File

@@ -0,0 +1,80 @@
#!/usr/bin/env bash
set -euo pipefail
MAINLAND_BASE_URL="${1:-http://127.0.0.1:8100}"
OVERSEAS_BASE_URL="${2:-http://152.53.37.118:8100}"
PYTHON_BIN="${PYTHON_BIN:-python3}"
echo "[1/6] mainland readiness"
MAINLAND_READINESS="$(curl -fsS "${MAINLAND_BASE_URL}/api/v1/runtime/readiness")"
echo "${MAINLAND_READINESS}"
echo
echo
echo "[2/6] mainland sync summary"
MAINLAND_SYNC="$(curl -fsS "${MAINLAND_BASE_URL}/api/v1/runtime/sync-summary")"
echo "${MAINLAND_SYNC}"
echo
echo
echo "[3/6] mainland push sync"
MAINLAND_PUSH="$(curl -fsS -X POST "${MAINLAND_BASE_URL}/api/v1/runtime/actions/push_sync")"
echo "${MAINLAND_PUSH}"
echo
echo
echo "[4/6] overseas cluster"
OVERSEAS_CLUSTER="$(curl -fsS "${OVERSEAS_BASE_URL}/api/v1/runtime/cluster")"
echo "${OVERSEAS_CLUSTER}"
echo
echo
echo "[5/6] overseas sync summary"
OVERSEAS_SYNC="$(curl -fsS "${OVERSEAS_BASE_URL}/api/v1/runtime/sync-summary")"
echo "${OVERSEAS_SYNC}"
echo
echo
echo "[6/6] condensed summary"
"${PYTHON_BIN}" - <<'PY' "$MAINLAND_READINESS" "$MAINLAND_SYNC" "$MAINLAND_PUSH" "$OVERSEAS_CLUSTER" "$OVERSEAS_SYNC"
import json
import sys
mainland_readiness = json.loads(sys.argv[1]).get("data", {})
mainland_sync = json.loads(sys.argv[2]).get("data", {})
mainland_push = json.loads(sys.argv[3])
overseas_cluster = json.loads(sys.argv[4]).get("data", {})
overseas_sync = json.loads(sys.argv[5]).get("data", {})
cluster_nodes = overseas_cluster.get("nodes") or []
cluster_summary = overseas_cluster.get("summary") or {}
type_counts = overseas_sync.get("type_counts") or {}
status_counts = overseas_sync.get("status_counts") or {}
print(
json.dumps(
{
"mainland": {
"readiness_status": mainland_readiness.get("status", ""),
"readiness_summary": mainland_readiness.get("summary", ""),
"sync_enabled": bool(mainland_sync.get("enabled", False)),
"target_api_base_url": mainland_sync.get("target_api_base_url", ""),
"push_sync_code": mainland_push.get("code"),
"push_sync_message": mainland_push.get("message", ""),
},
"overseas": {
"nodes_total": overseas_cluster.get("nodes_total", 0),
"online_control_nodes": cluster_summary.get("online_control_nodes", 0),
"online_worker_nodes": cluster_summary.get("online_worker_nodes", 0),
"node_codes": [str(item.get("node_code") or "") for item in cluster_nodes],
"runtime_ingest": type_counts.get("runtime_ingest", 0),
"detect_result_ingest": type_counts.get("detect_result_ingest", 0),
"status_received": status_counts.get("received", 0),
"status_success": status_counts.get("success", 0),
},
},
ensure_ascii=False,
indent=2,
)
)
PY