独家合作CubenceAI 中转平台立减 20%访问

Dashboard 功能

可用性监控

可用性监控页面为管理员提供了一个集中化的视图,用于实时监控所有供应商的健康状态和服务可用性。该页面基于请求日志数据,自动计算各供应商的可用性指标,并通过直观的热力图展示历史趋势。

访问权限

可用性监控页面仅对管理员开放。普通用户访问时会看到权限受限提示。

页面概览

可用性监控页面主要由以下几个部分组成:

  • 系统总览卡片 - 展示整体可用性指标和供应商状态统计
  • 时间范围与排序控件 - 控制数据查询范围和展示顺序
  • 可用性热力图 - 以时间序列展示各供应商的可用性趋势
  • 图例说明 - 解释热力图颜色含义

系统总览卡片

页面顶部展示四个统计卡片,帮助管理员快速了解系统整体健康状况:

系统可用性

显示所有供应商的加权平均可用性百分比。该指标基于各供应商的请求数量进行加权计算,请求量大的供应商对整体可用性影响更大。

健康供应商

显示当前状态为"正常"(绿色)的供应商数量。状态判定基于最近时间桶内的请求成功率:

  • 成功率 >= 50% 判定为健康

异常供应商

显示当前状态为"异常"(红色)的供应商数量:

  • 成功率 < 50% 判定为异常

未知状态供应商

显示没有足够数据判断状态的供应商数量。当供应商在查询时间范围内没有任何请求记录时,会显示为"未知"状态。

诚实展示原则

系统严格遵循"无数据即未知"的原则。没有请求记录的供应商不会被默认标记为健康,而是会诚实地显示为"未知"状态,避免误导管理员。

控件区域

时间范围选择

支持以下时间范围选项:

选项说明
最近 15 分钟查看近期的实时状态
最近 1 小时适合排查近期问题
最近 6 小时观察半天内的趋势
最近 24 小时默认选项,查看全天概况
最近 7 天长期趋势分析

系统会根据选择的时间范围自动计算合适的时间桶大小,确保热力图始终显示约 60 个数据点以获得最佳可视化效果。

排序方式

支持三种排序方式:

  • 按可用性 - 默认选项,可用性高的供应商排在前面,未知状态排在最后
  • 按名称 - 按供应商名称字母顺序排序
  • 按请求数 - 按请求数量降序排序,活跃度高的供应商排在前面

刷新按钮

点击"刷新"按钮可手动触发数据更新。刷新过程中按钮会显示旋转动画和"刷新中..."文字。

可用性热力图

热力图是页面的核心组件,以直观的方式展示各供应商在时间维度上的可用性变化。

热力图结构

每行代表一个供应商,包含以下元素:

  1. 供应商名称 - 显示在最左侧
  2. 状态徽章 - 显示当前状态(正常/异常/未知)
  3. 热力条 - 由多个时间桶组成的颜色条带
  4. 汇总数据 - 显示在最右侧,包括可用性百分比和总请求数

颜色含义

热力图使用以下颜色编码:

颜色可用性范围说明
绿色>= 95%优秀,服务稳定
黄绿色80% - 95%良好,偶有异常
橙色50% - 80%警告,需要关注
红色< 50%严重,服务不稳定
灰色无数据该时间段内没有请求

时间桶详情

将鼠标悬停在任意热力块上,会显示该时间桶的详细信息:

  • 时间 - 时间桶的起始时间
  • 请求数 - 该时间段内的总请求数
  • 可用性 - 计算得出的可用性百分比
  • 平均延迟 - 请求的平均响应时间
  • 成功/失败数 - 具体的成功和失败请求数量

状态判定逻辑

请求分类规则

系统采用简单明确的二分类规则:

  • 成功(绿色) - HTTP 状态码为 2xx 或 3xx 的请求
  • 失败(红色) - HTTP 状态码为 4xx 或 5xx,或发生网络错误的请求

可用性计算

可用性得分 = 成功请求数 / 总请求数

例如:10 个请求中有 8 个成功,可用性为 80%。

当前状态判定

供应商的当前状态基于最近 3 个时间桶的平均可用性:

  • 平均可用性 >= 50% 显示为"正常"
  • 平均可用性 < 50% 显示为"异常"
  • 没有数据显示为"未知"

熔断器机制说明

可用性监控与系统的熔断器机制相关联。熔断器是一种保护机制,当某个供应商连续失败达到阈值时会自动触发:

熔断器状态

状态说明
CLOSED正常状态,请求正常转发到该供应商
OPEN熔断打开,请求将跳过该供应商
HALF-OPEN半开状态,允许少量请求测试供应商是否恢复

默认熔断配置

  • 失败阈值 - 连续失败 5 次后触发熔断
  • 熔断持续时间 - 熔断状态持续 30 分钟
  • 恢复阈值 - 半开状态下成功 2 次后关闭熔断器

配置自定义

熔断器的阈值参数可以在供应商管理页面为每个供应商单独配置。详见供应商管理文档。

使用建议

日常监控

建议每日检查可用性监控页面,关注以下指标:

  1. 系统整体可用性是否保持在合理水平
  2. 是否有供应商频繁出现异常
  3. 异常是否集中在特定时间段

问题排查

当发现供应商异常时:

  1. 观察热力图中的红色区域,确定问题发生的时间范围
  2. 悬停查看具体时间桶的失败数量和错误详情
  3. 切换到请求日志页面,筛选该供应商的失败请求进行详细分析

趋势分析

选择"最近 7 天"时间范围,可以发现:

  • 是否存在周期性的可用性下降
  • 不同供应商的稳定性对比
  • 系统整体可用性的变化趋势

技术说明

数据来源

可用性数据来自 message_request 表中的请求日志记录。系统会根据每条请求的 HTTP 状态码进行分类统计。

查询限制

为防止内存溢出,单次查询最多加载 100,000 条请求记录。如果数据量超过此限制,系统会记录警告日志,返回的结果可能不完整。

时间桶大小

时间桶大小根据查询时间范围自动计算,目标是生成约 60 个数据点:

时间范围大约桶大小
15 分钟15 秒
1 小时1 分钟
6 小时6 分钟
24 小时24 分钟
7 天约 2.8 小时

页面上会显示实际使用的时间桶大小,方便理解数据粒度。

Previous
排行榜