diff --git a/frontend/src/api/admin/ops.ts b/frontend/src/api/admin/ops.ts index 1d1453f5..f52227ca 100644 --- a/frontend/src/api/admin/ops.ts +++ b/frontend/src/api/admin/ops.ts @@ -661,6 +661,14 @@ export interface EmailNotificationConfig { } } +export interface OpsMetricThresholds { + sla_percent_min?: number | null // SLA低于此值变红 + latency_p99_ms_max?: number | null // 延迟P99高于此值变红 + ttft_p99_ms_max?: number | null // TTFT P99高于此值变红 + request_error_rate_percent_max?: number | null // 请求错误率高于此值变红 + upstream_error_rate_percent_max?: number | null // 上游错误率高于此值变红 +} + export interface OpsDistributedLockSettings { enabled: boolean key: string @@ -681,6 +689,7 @@ export interface OpsAlertRuntimeSettings { reason: string }> } + thresholds: OpsMetricThresholds // 指标阈值配置 } export interface OpsAdvancedSettings { @@ -929,6 +938,17 @@ export async function updateAdvancedSettings(config: OpsAdvancedSettings): Promi return data } +// ==================== Metric Thresholds ==================== + +async function getMetricThresholds(): Promise { + const { data } = await apiClient.get('/admin/ops/settings/metric-thresholds') + return data +} + +async function updateMetricThresholds(thresholds: OpsMetricThresholds): Promise { + await apiClient.put('/admin/ops/settings/metric-thresholds', thresholds) +} + export const opsAPI = { getDashboardOverview, getThroughputTrend, @@ -952,7 +972,9 @@ export const opsAPI = { getAlertRuntimeSettings, updateAlertRuntimeSettings, getAdvancedSettings, - updateAdvancedSettings + updateAdvancedSettings, + getMetricThresholds, + updateMetricThresholds } export default opsAPI diff --git a/frontend/src/views/admin/ops/types.ts b/frontend/src/views/admin/ops/types.ts index 45ba031f..005d0427 100644 --- a/frontend/src/views/admin/ops/types.ts +++ b/frontend/src/views/admin/ops/types.ts @@ -14,6 +14,7 @@ export type { EmailNotificationConfig, OpsDistributedLockSettings, OpsAlertRuntimeSettings, + OpsMetricThresholds, OpsAdvancedSettings, OpsDataRetentionSettings, OpsAggregationSettings