当前架构
某出行科技企业从单个公有云往多云转型,依托于国内领先的公有云提供商,采用多云架构,在可用性、弹性、成本、供应商依赖方面,拥有了显著的优势。
相应的,多云架构也给技术团队带来了一定的复杂度和技术挑战,最显著的就是如何高效的构建跨云的可观测性体系,提升故障发现、问题排查、性能分析等方面的能力。
跨云使用多个云监控工具,具体而言,存在以下痛点:
- 工具多,体验不一致,技术团队学习成本很高
- 仪表盘和告警策略的配置维护工作量大,需要在多平台重复配置
- 数据孤岛现象严重,关联分析成本高,效率低
- 需要为所有研发人员开通公有云控制台权限,管理维护成本高,存在信息安全隐患
特别的,当故障不可避免的发生时,最耗时的阶段是故障发现、故障定位环节。在当前的可观测平台现状下,技术团队需要登录两个云平台,挨个分别查看各个监控工具的数据,这大大增加了问题排查的复杂性和耗时。
从故障中早恢复1分钟,对用户带来的影响就会少一分,如何构建一个高效的故障发现和定位系统,也是可观测性平台建设的重中之重。
解决方案
Flashcat的目标是提供一个跨云统一的可观测性工具,使用 Flashcat,可以在一个平台上完成指标、日志、链路追踪数据的统一采集、可视化、告警、分析和OnCall,免去搭建和维护多套 Prometheus/Zabbix/Grafana/ELK/Jaeger/云监控的工作量,屏蔽多云监控的复杂度。
(一)落地效果:统一的监控平台
利用Flashcat的多数据源集成能力(包括Metrics源、Logging源、Tracing源、事件源四大类),通过对接数据源后,用户就可以在Flashcat平台上,对这些数据源背后的数据,进行集中的查询、可视化分析、告警等。
以上,用户只需要学习和使用Flashcat平台即可,不用再面对之前分散的多个工具,具体我们从以下四方面展开介绍:
多云统一的仪表盘
Flashcat仪表盘支持众多的图表,主要有时序图、表格、饼图、蜂窝图、排行榜、仪表盘等,并和Grafana兼容,本次落地过程中,把之前使用Grafana积累下来的面板,全部导入到了Flashcat中。此外Flashcat内置的仪表盘模板也非常多,其中包括公有云产品,例如阿里云ARMS、阿里云ECS、JVM等,快速的补齐了监控看板。
多数据源统一告警
针对接入的数据源,利用Flashcat多数据源统一告警功能
,把腾讯云和阿里云的指标告警规则、日志告警规则统一维护到了Flashcat平台,降低了告警策略的配置维护工作量。
此外,当告警触发后,通过Webhook
把告警发送到FlashDuty进行统一管理,包括聚合降噪、值班、分派、升级、触达等,大大改善了on-call效率,释放了工程师的人力。
以日志告警为例,当前业务告警严重依赖日志告警,所以在接入SLS-logstore、SLS-metricstore、CLS后,就可以在Flashcat平台上配置和管理这些日志告警规则了:
Flashcat的日志告警规则配置页面,支持多查询条件
、语法高亮
、支持表达式模式
、支持|| && 括号
等运算方式,可以很好的满足多云平台的日志告警需求。
当告警触发之后,在Flashduty平台上跟进整个告警的全生命周期过程。不仅仅降低了告警的接收总量(压缩率在80%左右),减轻了告警对工程师工作的打断影响,也减少了因为告警漏处理或者未及时处理带来的工作失误。
(二)落地效果:高效的故障发现定位体系
在阶段一,统一了多个云厂商不同的工具的可观测性数据。如何让这些数据发挥价值,是阶段二的落地重点。
参考Flashcat故障定位最佳实践
,分别构建了北极星
、灭火图
、多维分析
。
北极星
指的是以核心业务视角,对业务健康指标进行实时的量化,进而发现"真"故障,并驱动起整个故障处理流程。所谓"真"故障就是指那些表示业务受损的指标,例如"乘客发单量","司机接单量","订单撮合率","在线司机数"等业务最关心的指标。通过定义、提取、实时检测这些北极星指标,技术团队就能第一时间发现业务受损的情况并及时介入,真正做到先于用户发现问题,先于业务发现问题。
最终构建起了适合出行业务特点的北极星指标体系,当这些北极星指标发生异常波动的时候,Flashcat的智能检测可以在1分钟
内发出电话告警。
灭火图
指的是以技术视角,实时量化并展示IT系统健康全景,快速收敛故障范围并确定故障源,引导用户通过不断下钻排查定位故障。在灭火图建设中,利用了Flashcat灭火图模板快速导入能力,对核心主流程上的每个模块和接口,都构建了对应的灭火图卡片。
总结
经过双方技术专家的共同努力,根据出行业务自身的特点和行业特性,结合快猫星云在多云统一监控方向的最佳实践,构建起了统一的监控平台
和高效的故障发现定位体系
,最终为公司的多云架构的落地增强了关键一环。
关于快猫星云和夜莺
夜莺 (Nightingale) 是一款开源云原生监控工具,是中国计算机学会接受捐赠并托管的第一个开源项目,在GitHub上有8000颗星,有数千家企业用户使用。快猫星云以开源夜莺为内核打造的"Flashcat平台",是国内顶级互联⽹公司可观测性实践的产品化落地,致力于让可观测性技术更好的落地和发挥价值。
近一年多来,快猫星云服务了零售、游戏、智驾等多个领域的标杆用户,助力企业快速构建了行业领先的统一可观测性平台,比如:金拱门、海底捞、吉野家、高济健康、益丰大药房 / 叮当快药、UU跑腿、阳光出行、哈啰出行、小马智行 / 莉莉丝游戏、悠星网络、途游游戏、盛大等。