概览 —— 这个画面做什么
概览 是登录后的第一个画面(/)。它以 单一视图 贯穿 可用性 与 安全 —— 上部区域显示综合健康仪表、KPI 卡片与检测环形图,下部区域显示服务器集群的 负载 / 内存 / 网络 / 存储 时序条带。
主要特点:
- 两个融合的综合评分 —— 可用性仪表(所有非安全遥测数据的加权综合),旁边是安全仪表(24 小时检测证据的加权综合)。
- 8 张 KPI 卡片 —— 服务器、负载峰值、内存峰值、网络峰值、威胁、备份,以及(在有数据时)Web 服务与数据库。
- 检测环形图(24 小时) —— IDS 告警 / AI 异常 / Web 攻击 / 扫描与封锁,共四个类别。
- 服务性能面板 —— 各挑选一个 Web 与一个数据库“单个服务”,以紧凑仪表显示(绝不汇总)。
- 全宽服务器条带 —— 负载 / 内存 / 网络 / 存储,6h · 24h · 3d 范围切换、分屏(1 · 2 · 3)、高度滑块以及线性/对数刻度。
- 实时轮询 —— 先做一次廉价的
rev(最新 seq)检查,仅在其发生变化时才拉取沉重的载荷,然后就地替换数据。
所有数值都是由运行在 Laravel 之外的采集器写入数据库的 真实数据。如果旧版数据库不可达或为空,控制器会优雅地回退到结构完全相同的 模拟数据(演示);此时
source为mockup、rev为0,因此前端会跳过重新渲染。
何时使用
- 一天开始时需要在 30 秒内掌握 “现在哪里出问题” —— 仪表颜色加上证据符号,可以一眼看出是哪个维度(存活性 · 负载 · 内存 · 磁盘 · RAID · 备份 / IDS · AI · Web · 防火墙 · 信誉 · TLS)被扣了分。
- 搭建 监控墙 —— 通过分屏与翻页铺展到多台显示器上(全屏模式)。
- 追溯 某台服务器的负载/磁盘尖峰发生在什么时候(“N 分钟前”)。
- 作为深入 基础设施 ▸ 服务器 或 安全 ▸ 概览 等详情画面之前的 起点。
布局
顶部主视觉
标题与标语(“即时响应 · 自动就绪 · 随时可恢复”),右侧则是采集时间戳(stamp)与主机数量、LIVE/PAUSED 开关 以及 全屏 按钮。
健康评分(左侧)
两个环形仪表(可用性、安全)以及下方的 双列证据面板:
| 列 | 6 个符号(悬停提示) | 评分来源 |
|---|---|---|
| 可用性依据 | 存活性 · 负载 · 内存 · 磁盘 · RAID · 备份 | 来自 aggregate() 的 avail_parts(计入持续时间的综合值 0–100) |
| 安全依据 | IDS · AI · Web · 防火墙 · 信誉 · TLS | PostureService(将 24 小时未处置残留占比归一化为健康评分) |
每个符号的颜色由 metric_cls 决定:≥90 为 good · ≥70 为 warn · 更低为 crit · 无数据显示 —(na)。
KPI 卡片(中央 3×2 + 2 张条件卡片)
| 卡片 | 数值 | 副行 |
|---|---|---|
| 服务器 | 在线/总数 | 离线数量或“全部在线” |
| 负载峰值 | 可见集合中的最大负载 | 主机 · “N 分钟前” |
| 内存峰值 | 可见集合中的最大内存 % | 主机 · “N 分钟前” |
| 网络峰值 | 最大包数(取入/出中较大者) | 主机 · “N 分钟前” |
| 威胁 | 未处理(= Kitsune 封锁数) | 今日封锁 |
| 备份 | 14 天成功率 % | 24 小时执行次数 · 上次耗时 · 主要类型 |
| Web 服务(条件) | up/总数 | 最慢的主机 · ms |
| 数据库(条件) | up/总数 | 最繁忙的数据库 · 24 小时慢查询 · 排队 |
负载/内存/网络的 峰值由前端按“当前可见服务器(current_servers)范围内各序列的最大值”计算。 也就是说 改变分屏/页码,会改变峰值卡片所考察的服务器集合。 “N 分钟前”标签根据首次观测到该峰值的 seq 位置(
times[idx])推导得出。
服务性能面板(右侧)
将一个 Web 与一个数据库显示为紧凑仪表 —— 是单个服务而非汇总,因此某个失控的服务不会被平均值掩盖。使用下拉菜单(“选择其他服务”)更换对象:
- Web —— 四段式响应码环形图(2xx good · 3xx info · 4xx warn · 5xx crit),中央显示 RPS,另有错误率与延迟。默认选中 RPS 最高者。
- 数据库 —— 连接饱和度(席位)弧线,中央显示 QPS,另有运行中/等待中。默认选中饱和度最高者。色调阈值为 70/90%(沿用 服务 ▸ 数据库 的约定)。
检测环形图(右侧)
按四个类别(IDS/AI/Web/扫描)显示 24 小时的检测结果。ECharts 环形图 + HTML 图例(名称 · 简略计数 · 占比条)。
底部 —— 全宽服务器条带
在 Server stats 工具栏(RAID 芯片 · “可用空间 <1G” 芯片 · 高度滑块 · 范围标签 · 时间范围切换 · 分屏按钮)下方有四条条带:
- 平均负载 —— 将最新值排名前三的服务器以别名·数值固定标注,线性/对数。
- 内存 —— 使用率 %,线性/对数。
- 网络流量 —— 入(下层)+ 出(上层)的堆叠面积图。
- 存储 —— 非线性的根分区(/)仪表 +
/data分区使用率。
使用方法
- 先看仪表 —— 读取两个评分的颜色。若偏低,将鼠标悬停到下方 6 个证据符号 中的红色(crit)/ 琥珀色(warn)单元格上,查看是哪个维度被扣分。
- KPI 卡片 —— 扫视异常值(离线服务器、威胁、备份成功率)。用峰值卡片的“N 分钟前”确定事件时刻。
- 切换时间窗口 —— 右下角的
6h · 24h · 3d按钮会改变条带的时间窗口。选择会保存到localStorage(infr:range:overview),并通过range参数向服务器重新查询。KPI 卡片与健康仪表始终固定为 24 小时的概念(重新取窗口的只有条带)。 - 分屏 ——
All · 2 · 3按钮会把服务器集群分成若干页(◀▶)。便于铺展到多台显示器。 - 高度与刻度 —— 滑块设置条带高度(80–360px),各条带的
Lin/Log设置 y 轴刻度(对尖峰频繁的主机很有帮助)。 - 实时 / 全屏 —— 主视觉区的
LIVE开关用于开启/关闭轮询;full screen会隐藏顶部导航栏,进入监控墙模式。
范围 → 采样点数
底部条带的时间窗口会依据 server_status 的采集间隔(约 5 分钟)换算为 seq 采样点数。
| range | seq 采样点数 |
|---|---|
6h |
72 |
24h |
288(默认) |
3d |
864 |
实时更新(轮询)的行为
every 30s ──▶ GET /overview/rev (cheap latest seq)
│ rev changed?
├─ no → skip (0 bandwidth)
└─ yes → GET /overview/live?range=<window> → swap data + re-render charts
- 当标签页处于隐藏状态(
document.hidden)时,轮询会暂停,恢复时立即执行一次检查。 - 每 30 秒的
clock心跳即使在数据未变化时也会重新计算“N 分钟前”标签。 - 若已接入 Reverb(
window.Echo),infr.overview频道上的.tick事件可以把同样的刷新切换为推送方式(目前为 no-op —— 参见 实时通信(Reverb))。
数据来源
全部为 只读。应用原样读取旧版资源表。
| 维度 | 表 / 服务 | 连接 | 用途 |
|---|---|---|---|
| 服务器集群 / 序列 | server_status(loadavg·free·df-*·traffic-out) |
legacy(MAIN) |
负载/内存/磁盘/网络条带、存活性 |
| RAID | storage_status(status_summary) |
legacy |
Optimal/Degraded/Failed 证据 |
| 备份 | backup_history |
legacy |
14 天成功率 · 上次 · 类型 |
| IDS | suricata_alert_ct |
legacy_glory |
检测环形图 · 安全依据(sev 1·2) |
| AI 异常 | kitsune_detail_log(is_blocked) |
legacy_glory |
检测 · 威胁 · 安全依据 |
| Web 攻击 | nginx_meta_ct(is_suspicious) |
legacy_glory |
检测 · 可疑请求比例 |
| 信誉 / 封锁 | blacklist_info |
legacy_glory |
今日封锁 · 新增封锁压力 |
| TLS 卫生 | suricata_tls_ct(version) |
legacy_glory |
弱 TLS(<1.2)比例 |
| Web 服务性能 | WebMetricService::dashboard()(infr_web_metric) |
central | Web 的 KPI · 性能面板 |
| 数据库性能 | DbCollectorService::latest() · infr_db_metric · infr_collector(access=database) |
central | 数据库的 KPI · 性能面板 |
| 防火墙暴露面 | FirewallService::dashboard()(infr_instance_firewall) |
central | 安全依据 fw |
综合评分的计算公式
可用性 = 有数据的各维度的加权平均(权重会重新归一化)。每个维度都会考察整个显示窗口,并按“越界持续了多久(时长)、有多严重(峰值)”来扣分。
| 维度 | 权重 | 扣分依据 |
|---|---|---|
| 存活性 | 0.30 | 首次上报之后无响应周期所占的比例 |
| 负载 | 0.15 | 平均负载 ≥ 8 的越界(≥16 视为完全过载) |
| 内存 | 0.15 | 使用率 > 99%(100% 视为完全吃紧) |
| 磁盘 | 0.15 | 根分区可用空间 < 1G(仅统计已测量的分区,0G 视为完全处于风险中) |
| RAID | 0.15 | 处于 Degraded/Failed 的节点计 0 分 |
| 备份 | 0.10 | 14 天成功率 |
安全 = 6 项证据指标(仅计入存在的指标)的加权平均。每项都会把 24 小时的 glory 测量值归一化为健康评分(0–100)—— 数量/比例越大,扣分越多(最大扣分 45 → 下限 55)。只有当所有指标都不可用时,才会回退到 detections() 的启发式标量值。
| 指标 | 权重 | 来源(24 小时) | 扣满分的临界值 |
|---|---|---|---|
| ids | 0.22 | 高严重度(sev 1·2)IDS 告警数量 | 200 |
| ai | 0.22 | Kitsune 封锁数量 | 500 |
| web | 0.20 | nginx 可疑请求 比例 % | 8% |
| rep | 0.14 | 今日新增被封锁 IP 数量 | 400 |
| tls | 0.12 | 弱 TLS(<1.2)比例 % | 5% |
| fw | 0.10 | 公网 IP 的关键端口 ×2 + 关键端口 + 未纳管暴露面 | 200 |
缓存 TTL
| 对象 | TTL | 键 |
|---|---|---|
| 概览真实数据(build) | 30s | infr:overview:data:v1:{points} |
| 服务性能面板(web/db) | 15s | infr:ov:perf |
| 安全依据(PostureService) | 300s | infr:sec:posture:v1:<range> |
访问权限
- 只读画面。 首页(
/)只应用infr.auth中间件 —— 所有已认证的等级(demo=1 及以上) 都可以查看。由于没有写操作,也就没有等级门槛。 - 安全证据与检测数值在这里对 demo(1)也可见,但专门的 安全角色区域(
/security/*)另有infr.level:2的门槛。 - 关于整体等级体系,请参见 RBAC 等级。
故障排查与常见问题
Q. 仪表/卡片显示的像是演示数值。
这是旧版数据库(legacy/legacy_glory)连接失败或没有数据时触发的模拟数据回退。如果载荷中的 source 为 mockup、rev 为 0,说明真实数据库不可用。请检查数据库连通性与采集器的写入情况(管理 ▸ 采集器)。
Q. 某个证据符号显示 —。
表示该维度没有数据(会被排除在加权之外)。例如防火墙 CMDB(infr_instance_firewall)为空时,fw 会显示 — —— 需要的是防火墙资产,而不是旧的 firewall_status。当不存在匹配的 storage_status.host 时,RAID 会被排除。
Q. 数据没有更新。
请检查:(1) 主视觉区的开关是否显示为 PAUSED;(2) 标签页是否处于后台(隐藏期间轮询会暂停)。采集器在 Laravel 之外大约以 5 分钟间隔 写入,因此即使以 30 秒轮询,实际数值也可能滞后数分钟。如果 rev 没有变化,就不会拉取沉重的载荷。
Q. 负载峰值对应的服务器在不同视图下不一样。
峰值是针对 当前视图(分屏/页码)的服务器集合 计算的。若要面向全部服务器做判断,请把分屏设为 All。
Q. 网络入流量始终为 0。
server_status 中没有按别名区分的入向数据源,因此 net_in 用 0 填充,只测量 traffic-out(包数)。详细带宽请参见 流量(网络 I/O)。
Q. 改变范围后 KPI/仪表没有变化。
这是预期行为。range(6h/24h/3d)仅适用于底部条带,KPI 卡片与健康仪表是固定的 24 小时概念。
相关内容
- 基础设施 ▸ 服务器 —— 深入查看单台服务器的负载/内存时序
- 基础设施 ▸ 健康状态 —— 节点卡片的实时探测
- 安全 ▸ 概览 —— 威胁→检测→响应 的防御漏斗
- 服务 ▸ Web · 服务 ▸ 数据库 —— 性能面板的数据来源画面
- 基础设施 ▸ 告警 —— 针对阈值越界的告警策略
- 实时通信(Reverb) —— 轮询 → 推送 的背景说明
