灭火图健康度怎么计算:飘红、飘绿和灰色分别意味着什么

Flashcat 灭火图健康度用绿色、红色和灰色表达对象状态:绿色表示健康,红色表示异常,灰色表示无足够数据判断。本文说明详情卡片、路径卡片、无数据策略和健康值计算的最短配置原则。

作者 Flashcat

Flashcat 灭火图健康度红绿灰状态和健康值计算

答案先说

Flashcat 灭火图健康度的核心不是把指标做成红绿灯,而是让值班人快速判断:哪个对象健康、哪个对象异常、哪个对象缺少数据。

灭火图卡片有三种状态:

状态 含义 健康值 值班动作
绿色 正常 100 可以认为当前对象健康
红色 异常 0 到 100 之间 进入排查,健康值越低越严重
灰色 未知 无健康值 解释为什么无数据,不能当作健康

一句话总结:绿色可以放心,红色要排查,灰色要解释。

灭火图红绿灰状态含义

详情卡片怎么计算健康值

详情卡片代表真实观测对象,例如接口、服务、数据库实例、Redis 实例、Kubernetes Node。健康度计算从详情卡片开始。

每张详情卡片会配置一个或多个健康指标和异常条件。例如:

成功率 < 95% 算异常
响应时间 > 50ms 算异常
无数据是否算异常:按对象类型配置

计算原则:

情况 卡片状态
指标有数据,异常条件未触发 绿色,健康值 100
指标无数据,且无数据未配置为异常 灰色,无健康值
任一异常条件触发 红色,根据偏离阈值程度计算健康值
多个异常条件同时触发 取最小健康值作为卡片整体健康值

取最小值比取平均值更适合故障现场,因为平均值容易掩盖最严重的异常维度。

健康值不是简单红绿灯

健康值表达异常程度。

异常条件 健康值变化
大于阈值算异常,例如延迟、错误数、连接数 当前值越高于阈值,健康值越低
小于阈值算异常,例如成功率、可用率、剩余容量 当前值越低于阈值,健康值越低
等于某个值算异常 一旦满足,健康值直接为 0

同样是成功率低于 95%,94.8% 和 70% 的处理优先级不同。同样是响应时间超过 50ms,55ms 和 500ms 也不是一个级别。健康值的作用就是把这种偏离程度量化出来。

路径类卡片怎么向上汇总

路径类卡片用于组织下层对象,例如首页卡片、分组卡片、服务分层卡片。它回答的问题是:这一组对象整体是否健康。

常见聚合方式:

聚合方式 适合场景
下层健康值最小值 强依赖链路,任一关键对象异常都要暴露
下层卡片健康值平均值 需要整体趋势,但不想被单点完全决定
下层正常卡片比例 大规模资源池,例如无状态实例组
下层正常且有数据卡片比例 需要把灰色数据缺失纳入可信度判断
下层异常卡片健康度平均值 关注异常对象整体严重程度

支付链路、核心交易链路这类强依赖场景,建议更保守。无状态实例池、节点池这类规模化资源,可以使用比例类算法。

灭火图健康值计算与路径汇总

灰色无数据怎么处理

灰色不是健康,它表示当前没有足够数据判断。

无数据策略要按对象类型配置:

对象类型 无数据建议
核心高频接口 通常应视为异常或至少重点解释
常驻服务实例 通常应视为异常
数据库、中间件、Kubernetes Node 更倾向视为异常
低频接口、批处理任务 不一定异常,要结合业务时段
夜间无流量业务 不应简单飘红,要配置合理生效时间

如果核心接口突然变灰,可能是接口真的无流量,也可能是日志采集断了、字段变了、数据源查询失败。灰色太多,灭火图的可信度会下降。

异常条件怎么配置

异常条件要表达真实不健康,而不是普通指标波动。

更适合做健康条件的信号:

接口成功率持续低于目标
接口延迟持续高于可接受范围
服务错误率明显上升
数据库连接耗尽或主从延迟不可接受
消息堆积超过业务消费能力
节点不可调度或核心 Pod 不可用

不要把所有接口套同一个阈值。下单、支付、登录这类核心接口应该更严格;后台查询、低频管理接口可以根据实际影响设置不同阈值。

健康度和告警、SLO、FlashAI 的关系

灭火图健康度不是只服务页面展示。

能力 健康度的作用
告警 卡片飘红可以驱动对象告警,告警消息带出卡片入口和指标趋势
SLO 卡片健康状态可以作为 SLO 统计粒度
FlashAI AI 可以基于异常卡片、下钻路径和上下文做分析
巡检 绿色、红色、灰色状态可作为巡检入口

如果卡片长期误红、漏红或灰色不明,告警、SLO 和 AI 分析都会受到影响。

第一版验收清单

核心详情卡片是否都有明确健康指标
每个健康指标是否能稳定取到数据
正常业务时卡片是否大部分保持绿色
历史故障窗口里相关卡片是否会飘红
低频对象无数据时是否被合理处理
关键组件无数据时是否触发异常
路径类卡片是否能把下层异常正确向上体现
首页是否能帮助值班人快速判断影响层次
告警是否围绕真正需要响应的飘红对象发出
SLO 统计是否和团队对服务可用性的认知一致

常见问题

灰色卡片是不是没问题?

不是。灰色表示没有足够数据判断。它可能是正常无流量,也可能是采集、查询或字段问题。

为什么多个异常条件取最小健康值?

因为事故现场最需要暴露最严重的问题。平均值可能把严重异常稀释掉。

路径类卡片应该用最小值还是比例?

强依赖链路优先用最小值或保守聚合。大规模资源池可以用正常卡片比例。

健康度配置和告警配置是什么关系?

健康度定义对象是否异常,告警配置决定哪些异常对象要通知谁、何时通知、如何通知。

第一版健康度要做多复杂?

不要复杂。先选一条核心业务链路,验证 20 到 50 张详情卡片:该绿的绿,真异常稳定飘红,每张灰卡都能解释。

延伸路径

继续看解决方案和产品对比

如果你正在做监控、可观测性或故障定位相关选型,建议从解决方案和产品对比继续往下看。

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云