海大集团的可观测平台建设实践

吕利兵-海大 2024-08-30 09:08:08

海大集团介绍

海大集团是以科技为主导的中国农业龙头企业,1998年成立于广东广州,目前业务涵盖饲料、种苗、动保疫苗、智慧养殖、食品加工等现代农牧全产业链,在全球拥有分子公司逾600家、员工达4万人,位列2023中国企业500强第238位、2023中国民营企业500强第87位。凭借亮眼的业务表现和品牌影响力,海大集团连续5年榜上有名,上榜2024年《福布斯》全球企业2000强第1415位。

海大集团

需求和挑战

海大 IT 部门在构建统一观测平台之初,就定下了 4 个明确目标:

  1. 要覆盖不同业务板块(比如我们有众多的业务板块和业务系统)
  2. 要满足异构的 IT 环境(容器/K8s、物理机、虚拟机、公有云并存)
  3. 要打通从业务视角到 IT 视角的监控
  4. 要具备高效的故障发现和定位能力

在使用 Flashcat 方案之前,我们采用 Prometheus 来收集微服务的监控数据,并配合 alertmanager 发送告警、Grafana 可视化;使用 Zabbix 来监控网络和机器设备;同时使用 EFK 技术栈、阿里云日志服务来收集和监控日志;在链路跟踪方面,既有用 SkyWalking、ElasticAPM,也有使用阿里云 ARMS。

可以看到,随着业务的发展和架构的演化,我们不断地引入了各类监控工具,来满足不同场景、不同环境、不同 IT 架构的监控需求。维护好和使用好这些监控工具,给我们带来了不小的挑战:

  • 多个监控工具,维护成本高;每个工具,都需要学习一遍,使用门槛高。
  • 数据分散在不同的系统中,在分析问题、定位故障的时候,效率低下。
  • 多个监控工具发出的告警,没有地方集中查看和分发,告警噪音大,告警处理过程不透明,容易遗漏。
  • 虽然已经有了这么多的监控工具,仍然面临监控数据采集不全、需要补充完善的情况,比如我们各种型号网络设备的负载监控、网络全链路监控、业务指标监控等。

我们希望能够建立一个统一的观测平台,更好地去保障系统的稳定性,提升整个技术团队的效率。

解决方案

Flashcat 是快猫星云以开源夜莺为内核打造的一体化可观测平台,有以下特点:

  • 统一采集,配套的采集器Categraf,采用插件化思路,内置集成上百种采集插件,GPU、服务器、网络设备、中间件、数据库、应用、业务,云上云下,均可监控,开箱即用;
  • 集成融合,除过使用采集器,还可以集成企业内部已有的、云上云下的可观测配套系统,无需推倒重来,充分利旧,快速见效,串联打通数据,发挥协同分析的价值;
  • 统一告警,在一个平台上支持指标告警、日志告警、智能告警,支持几十种数据源对接,收集各类监控系统的告警事件,进行统一的告警收敛、降噪、排班、认领、升级、协同,大幅提升告警处理效率;
  • 统一观测,将 Metrics、Logs、Traces、Events、Profiling 等多种可观测性数据融会贯通,并预置行业最佳实践,既提供全局业务视角、技术视角的驾驶舱,也提供层层下钻的故障定位能力,有效缩短故障发现和定位时间;

Flashcat

我们特别看重 Flashcat 这几个特性:

  • 能监控业务指标,把业务指标和 IT 系统的健康度挂钩联动起来
  • 能对接企业已有的、采集好的数据,落地快速阻力小、风险也小
  • 有一套成熟的互联网特色的故障发现定位方法论,能支持我们去推进 1-5-10 稳定性保障体系构建
  • Flashcat 提供的告警聚合降噪功能,能有效降低告警的数量

因此,我们和 Flashcat 技术团队合作,制定了以下落地路线图:

路线图

落地效果

我们参照 Flashcat 的稳定性保障模型,对所有的业务板块、基础架构、大数据、集团网络,从上到下建立了北极星、灭火图、多维分析报表,实现了故障发现、定位、分析的立体化方案。

板块和层级梳理

其次,我们以数据源对接现有的监控数据为基础,同时采用Flashcat配套的all-in-one采集器Categraf,对我们的可观测性数据进行了采集完善,从而快速、平滑的实现了使用一个平台,满足完整的可观测性需求的目标,大大提升了用户体验和使用效率。

落地效果

最后,我们将原先分散的告警,全部收集到了Flashcat的统一告警事件响应平台上,落地了告警聚合降噪、认领、升级、排班、分发等能力,实现对告警事件的全生命周期管理和对告警数据的全面分析,数据驱动告警治理优化,显著提升了 oncall 效率。

本文作者海大集团IT系统副经理吕利兵。

标签: 统一监控
快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云
OpenSource
开源版
Flashcat
Flashcat