diff --git a/backend/src/services/StatusService.ts b/backend/src/services/StatusService.ts index 4ff9aca..f20231e 100644 --- a/backend/src/services/StatusService.ts +++ b/backend/src/services/StatusService.ts @@ -240,23 +240,13 @@ export async function getStatusPagePublicData(env: { DB: Bindings["DB"] }) { } } - // 获取客户端详细信息 + // 获取客户端基本信息 let agents: Agent[] = []; if (selectedAgents.results && selectedAgents.results.length > 0) { const agentIds = selectedAgents.results.map((a) => a.agent_id); if (agentIds.length > 0) { const agentsResult = await repositories.getAgentsByIds(env.DB, agentIds); - const agentsMetricsResult = - await repositories.getAgentMetricsByIds(env.DB, agentIds); - if (agentsMetricsResult.results) { - for (const agent of agentsResult.results || []) { - const agentMetrics = agentsMetricsResult.results.filter( - (m) => m.agent_id === agent.id - ); - agent.metrics = agentMetrics; - } - } if (agentsResult.results) { agents = agentsResult.results; diff --git a/frontend/src/pages/status/StatusPage.tsx b/frontend/src/pages/status/StatusPage.tsx index fba5f36..78a5b31 100644 --- a/frontend/src/pages/status/StatusPage.tsx +++ b/frontend/src/pages/status/StatusPage.tsx @@ -5,6 +5,7 @@ import AgentCard from "../../components/AgentCard"; import MonitorCard from "../../components/MonitorCard"; import { useTranslation } from "react-i18next"; import { Agent, MonitorWithDailyStatsAndStatusHistory } from "../../types"; +import { getAgentMetrics } from "../../api"; const StatusPage = () => { const { t } = useTranslation(); @@ -47,6 +48,15 @@ const StatusPage = () => { setPageDescription( response.description || t("statusPage.allOperational") ); + if (response.agents) { + // 获取每个代理的指标数据 + await Promise.all( + response.agents.map(async (agent) => { + const metrics = await getAgentMetrics(agent.id); + agent.metrics = metrics.agent || []; + }) + ); + } console.log(response); setData({ monitors: response.monitors || [],