夜莺-Nightingale
夜莺V7
项目介绍 功能概览
部署升级 部署升级
数据接入 数据接入
告警管理 告警管理
数据查看 数据查看
功能介绍 功能介绍
API FAQ
夜莺V6
项目介绍 架构介绍
快速开始 快速开始
黄埔营
安装部署 安装部署
升级
采集器 采集器
使用手册 使用手册
API API
数据库表结构 数据库表结构
FAQ FAQ
开源生态
Prometheus
版权声明
第1章:天降奇兵 第1章:天降奇兵
第2章:探索PromQL 第2章:探索PromQL
第3章:Prometheus告警处理 第3章:Prometheus告警处理
第4章:Exporter详解 第4章:Exporter详解
第5章:数据与可视化 第5章:数据与可视化
第6章:集群与高可用 第6章:集群与高可用
第7章:Prometheus服务发现 第7章:Prometheus服务发现
第8章:监控Kubernetes 第8章:监控Kubernetes
第9章:Prometheus Operator 第9章:Prometheus Operator
参考资料

Flashcat 企业版总体介绍

Flashcat 企业版,以开源夜莺监控(Nightingale)为内核,是一个从数据、到平台、再到场景真正一体化的统一观测平台,并将国内顶级互联网公司的可观测性实践和方法论融入产品中,是业务稳定性保障,特别是故障处理的真帮手。

落地好一个现代化的观测平台,有以下三个关键要素:

数据

巧妇难为无米之炊。一个新的观测平台落地,有一半的难度可能来源于监控数据的采集和获取。

数据采集在当前都有哪些普遍的问题?

  1. 传统的监控采集方案不适应云和容器环境的数据采集

    云上的服务组件如RDS、LoadBalancer等,都有自己的监控采集通道,很多组件的关键指标或宿主的指标,外部的采集器难以直接获取。而容器随时产生,随时消亡的特点,也是传统以物理机为中心的采集器难以适应的。

  2. 新的采集方案质量良莠不齐,管理成本高

    适应Kubernetes和容器环境的配套监控系统是Prometheus,Prometheus依赖各种exporter导出采集对象特别是组件类对象的数据,而exporter大家都可以提供,导致采集的数据不同,由于种类繁多管理起来也很麻烦。

  3. Metrics、Logging、Tracing各类数据的采集方案差异大,有没有统一的采集方案?

    在OpenTelemetry的标准下,一个完善的可观测性方案至少包括Metrics、Logging、Tracing三个维度,针对这三类数据的采集,如果也能由一个agent来完成,那将更为理想,这有助于从采集侧提升不同维度数据间的关联性,同时可以降低采集器的维护成本。

  4. 落地一个新的观测平台要不要把已有的采集方案推倒重来?

    推倒重来成本太高,无论是部署agent/exporter,还是安装日志采集器,特别是需要研发在代码中嵌入sdk的方案,落地一次非常不易。如果引进一个新的监控系统需要把这些工作重做一遍,可能很多人会望而却步。特别是在还没确认新产品的效果前就去做这个事情,无异于一次巨大冒险。

Flashcat的数据输入方法

  1. 针对数据采集的问题,Flashcat开源了配套的All-in-one的采集器Categraf,能够用一个agent,通过简单修改配置的方式,采集各类监控对象的Metrics,用户不再需要满世界去找各种exporter,并担心采集器的质量问题。Categraf 也能够采集Logging、Tracing的数据,实现了统一采集的方案。另外Categraf 配合 Flashcat,具有中心端的采集配置管理、下发、网络设备采集模版、网络拨测等能力。

All-in-one 的监控数据采集器

  1. 针对云组件的数据采集问题,和重新部署采集方案的成本问题,Flashcat采用了数据源集成的方案,能够集成各种开源监控工具和主流云厂商的云监控以及日志服务,以阿里云为例,Flashcat 可以无缝集成 SLS、云监控、Arms、云托管的Prometheus 等(目前已有30多种数据源)。

各维度数据源集成

通过实现All-in-one的采集器Categraf,并集成丰富的云数据源和常用数据源来解决数据输入的问题,这就是Flashcat的数据输入方法。

平台

一套趁手的炊具是好厨师的必备。Flashcat建设了一套工程师爱用的监控平台。

在平台建设方面,Flashcat 遵循以下方法:

  1. 功能完备

    作为一个现代化的观测平台,Flashcat集数据采集、可视化、监控告警、OnCall、数据分析为一体,支持 Metrics、Logging、Tracing、Events 各类维度的数据打通和分析,是一个从数据、到平台、再到场景真正一体化的统一观测平台。此外,Flashcat所抽象的北极星灭火图等概念,让可观测性数据以更以被理解的维度呈现,有效的提升故障的发现速度和定位速度。

  2. 架构灵活扩展

    Flashcat平台可以随着所处理的数据量的增加而水平扩展,架构设计上高可用、无单点。Flashcat创新性的支持中心-边缘部署模式,用户可以在中心端统一管理多个边缘Region的监控数据采集,在中心端对所有的边缘Region的数据进行统一的可视化分析和配置告警。同时当中心端和边缘端网络中断时,边缘端可以独立闭环工作。此外对于不适合传输到中心端的监控数据,也可以保存在边缘端,本地化处理。

  3. 开源开放

    Flashcat平台的输入输出,都支持OpenAPI,可以方便的和已有的工具和生态结合,比如在数据输入上,Flashcat支持三十余种数据源,比如Prometheus/Zabbix/Grafana/ELK/Jaeger/阿里云SLS/AWS cloudwatch/阿里云监控等等,Flashcat平台中的所有数据、功能、操作,都提供了完备的API。此外,Flashcat 兼容 OpenTelemetry 协议,兼容 Grafana 和 Prometheus,与云原生生态紧密集成。

场景

不是有了上等的食材和趁手的炊具就一定能做好一道菜。

不是有了上等的食材和趁手的炊具就一定能做好一道菜

好的产品一定是在某个场景下符合了用户的需求,离开场景谈产品,属于无的放矢。稳定性保障特别是故障处理是Flashcat明确针对的场景之一。结合场景实现产品是Flashcat在设计上做了最多考虑的地方,举例几点:

1. 场景拆解

为了做好场景的产品设计,Flashcat对故障处理的场景做了拆解,拆解完后每个点上需要什么变得很明确。Flashcat 重点关注在故障发现故障定位这两个最迫切、最关键的环节,同时为日常排查提供高效的支撑。

故障处理场景拆解

2. 确保永远先于用户发现问题

Flashcat中设计了北极星系统,用于量化业务指标的健康状态和用户体验的质量。之所以叫北极星就因为这些指标就是稳定性工作的指引,是发现真故障的第一标准,是所有指标里的VIP指标。Flashcat在产品实现上会让各种资源和功能围绕北极星指标来运行,而不是将指标所需的功能散落到各个功能系统里。

针对北极星指标,预置有智能检测智能报警功能,用户基本无需配置,当北极星指标发生波动时,会第一时间被检测到,并通知相关的技术团队,真正做到技术团队先于用户发现问题。

北极星-智能报警

再比如,北极星指标实际就是最为核心的业务指标,无论是活动值守、日常巡检都是最佳选择,Flashcat针对北极星做了一键生成大屏的功能,让大屏的配置简单到极致。

北极星-大屏

3. 引导技术人员快速收敛和确定故障范围

Flashcat中的另一个VIP指标是灭火图,用来量化IT系统层面的全局健康状态,并可以回放任意时刻的历史状态,产品设计上的考虑和北极星一致。

灭火图-首页

4. 止损是第一要务:引导技术人员第一时间寻找故障的关键特征和引发故障的关键事件

故障处理中的首要原则是止损,而不是“根因定位”。有效的止损途径是确定故障的关键特征和关键事件,并以此信息为基础来决策止损预案。而“根因定位”是止损后再考虑的方向。因此Flashcat会在故障定位的路径上引导用户去做关键特征和关键事件的分析,这也是Flashcat在持续增强的方向。

比如,北极星发生报警指示业务异常,此时可以做的事情是:

  1. 分析关键特征:看异常出现在什么范围,如果异常只局限在多活的某个单元内,切流即可快速止损;
  2. 分析关键特征:定位到受影响的模块,查看模块异常日志的分布,如异常日志只出现在模块的部分实例上或集中在某些来源ip上,则只要在容量允许的情况下摘除这些实例,或封禁异常的来源ip即可;
  3. 定位关键事件:定位到受影响的模块,查看相应模块的变更记录,将正在进行的变更回滚止损;

此时不应首先做的事情是分析异常出现的根本原因,如debug代码,分析代码逻辑等。这类工作可能严重影响服务的恢复,应该在止损后进行,或是以上分析手段都失效后的无奈选择。

5. 预置最佳实践,并沉淀用户经验:让故障定位需要的下一步信息或应该看到的信息即时可得

Flashcat 中预置了典型的故障定位路径,如从异常的Metrics点击下钻查看具体的日志信息,从日志中依据traceid或接口信息向后trace,在trace到的异常模块上又能够跳转查看模块的Metrics或Logging信息。同时,Flashcat也支持用户设置自定义的定位路径,如故障分析每到一步,下一步“老师傅”们会看哪一个信息,可以把这个下一步的入口牵引到这里,这样下一次即使“小白”来了,也能够顺利的走完这个定位过程。

如,在异常的灭火图模块上,配置事件墙(变更等关键生产事件)的入口,并预置好准确的参数,下次看到这个模块异常,就可以快速查看这个模块相关的变更信息。这类可沉淀经验的产品能力,能够让产品越用越有价值,服务的稳定性保障能力也可以从依赖人,逐步转为依赖工具。

Flashcat发现故障,输出关键特征、关键事件

总结

  1. Flashcat 帮助技术人员屏蔽了使用多个分散的监控工具带来的不便,轻松监控多云多Region,从业务、到应用、基础设施,开箱即用。
  2. Flashcat 内置了故障处理的最佳实践,当业务受损时,Flashcat 总能第一时间发现,并和 IT 系统深入联动,辅助技术团队快速展开调查。
  3. Flashcat 支持物理机、网络设备、容器、K8s,微服务、主流云产品,无论采用什么样的 IT 架构,只需要一套 Flashcat 平台。
快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云
OpenSource
开源版
Flashcat
Flashcat