前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >「可观测」如何为「新能源车企」缓解运维焦虑?

「可观测」如何为「新能源车企」缓解运维焦虑?

作者头像
腾讯云可观测平台
发布2025-02-11 14:14:41
发布2025-02-11 14:14:41
890
举报

导语:本文将探讨某新能源车企如何借助腾讯云可观测平台,实施可观测性方案,从而缓解运维焦虑,实现更高效的系统管理。

雷畅

腾讯高级工程师/腾讯云可观测方案架构师。具有多年可观测领域研发经验,对业务端到端监控有深刻理解。

案例背景

在新能源汽车行业的快速发展中,企业面临着日益复杂的运维挑战。可观测性技术的引入,不仅提供了更先进的监控工具,更成为现代互联网软件基础设施的重要组成部分,帮助企业迅速识别潜在问题、优化资源配置,并降低运维成本和风险。

云上业务

在 IT 系统的基础架构层面,该车企客户采用了混合云架构(公有云与本地数据中心相结合),在腾讯云上的重点业务包括智能营销、外呼平台和线上签约等。

在这些业务中,大数据驱动,尤其是实时分析场景,是其使用腾讯云的核心。特别是 EMR 大数据平台(基于云原生和泛 Hadoop 生态构建的弹性 MapReduce),它承载着智能营销等关键业务,帮助企业从海量数据中提取有价值的洞察,实现数据驱动的实时决策。

监控体系

为了提升对上述系统的可观测性,客户在本地数据中心构建了统一监控平台,该平台基于开源技术 Prometheus 和 Grafana 实现。

针对关键业务的有效监控,客户还依托腾讯云的可观测平台,采集 EMR、TKE、CLB 等云产品的监控指标,并在云上配置相应的告警策略。这些监控指标将通过腾讯云的 Prometheus 远程写入本地的 Prometheus,从而支持本地 Grafana 大盘的统一展示。

客户痛点

1.如何高效构建大数据平台的可观测性?

  • 现状:在客户接入腾讯云 EMR 时,完善的可观测性尚未成为 EMR 集群的标配。这是由于泛 Hadoop 生态软件栈的复杂性(工具众多、数据异构、实时性要求高),导致构建可观测性的技术难度大、实践案例稀缺、运维成本高昂。
  • 风险:缺乏完善的可观测性,就无法及时识别潜在问题,从而增加系统故障的风险,将直接影响 EMR 集群的稳定、高效运行。
  • 挑战:既要高效率、又要低成本,如何实现全面、实时的 EMR 可观测性体系?

2.在新车直播发布、或者双十一大促这类流量高峰时,如何保障对业务系统的有效监控?

  • 现状:车企的业务流量和数据处理存在明显的波峰时段。例如新车发布或大促期间。在这种波动性影响下,不仅业务系统要能弹性扩缩容,可观测系统作为业务系统的“千里眼”和“顺风耳”,自身也必须具备弹性扩缩容的能力,以确保监控和预警的实时性和有效性。
  • 风险:客户自建的 Prometheus 是开源版本,但其最常被诟病的问题是单机存储扩展性差。当海量并发到来时,监控系统很可能自身先被冲垮,则对业务系统的监控和预警更是无从谈起。
  • 挑战:为了实现波峰扩容(应对洪峰)和波谷缩容(节约资源),在各种垂直/水平扩缩和远端存储等技术方案当中,该如何决策和实施,才能应对架构复杂度增加、运维成本陡增的问题?

3.如何基于垂直领域知识,合理配置监控大盘和告警策略?

  • 现状:术业有专攻、领域有壁垒。运维人员若要横跨多个业务领域、有效监控不同对象,往往需先恶补相关背景知识。以 EMR 平台为例,运维人员在实施监控前,首先需要梳理泛 Hadoop 生态 20+ 个组件的关键指标及其监控意义;其次需要熟知 Prometheus 生态 PromQL 语言及各类 Grafana 面板的制作。
  • 风险:缺乏相关经验可能导致 Grafana 可视化效果不佳、数据汇总不合理,或者面板维护和扩展困难。此外,告警指标、阈值或聚合方式的设定不当,也可能引发告警过多或漏报现象。
  • 挑战:面对复杂业务的监控场景,如何基于垂直领域知识,方便、合理地配置监控大盘和告警策略?

方案概要

为了解决客户的上述痛点,腾讯云可观测平台结合了 Prometheus 开源生态、腾讯云基础设施、和团队的自研创新能力,设计的解决方案概要如下:

1.EMR 监控,一键集成。

  • 目标:仅需一次点击,运维人员就能自动、批量获取对 EMR 全栈平台的监控能力,彻底免除自行运维这批组件的烦恼。
  • 实现:将 Prometheus 开源社区针对泛 Hadoop 生态的 27 个核心组件的 exporter 全部集成到腾讯云 Prometheus;与其同时,基于不同组件的特性,根据最佳实践为其设计合适的采集模式,避免指标漏采、同时保证秒级实时性。

2.弹性扩容,无惧洪峰。

  • 目标:客户监控能力平滑扩展上云,在业务波峰到来、访问量级飙升时,借力腾讯云可观测平台,保证客户统一监控平台的可用性。
  • 实现:一方面,腾讯云 Prometheus + Grafana 100% 兼容开源版本,为客户保证监控协议和监控体验的一致性;另一方面,腾讯云可观测平台依托腾讯云底层海量算力及存储,并且借助云原生技术的容器化和弹性伸缩等能力,自研了分布式、集群化、存算分离的高可用架构,以轻松应对流量波峰、合理适配流量波谷

3.专家知识,预设提供。

  • 目标:打破垂直领域知识壁垒,使客户侧运维人员能“站在专家的肩膀上”,无需花费高昂的学习成本,就能做到专业、精准、高效的监控。
  • 实现:腾讯云 Prometheus 为所监控对象提供了预设的 Grafana 大盘和预设的告警策略,这些是基于各个垂直领域的专家知识和行业经验沉淀而成,以预设模板、开箱即用的形式,内置提供给客户参考和使用。

方案详述

1.EMR 监控,一键集成

在腾讯云 Prometheus 实现对 EMR 的一键监控集成之前,若要满足对云上 EMR 对实时监控的需求,需由客户自行实现对泛 Hadoop 生态的大数据组件的指标采集和获取:在每个 EMR 节点上,手工部署 Java agent、jmx-exporter 等工具,再针对各个组件进行繁琐的采集配置,后续还要持续投入对这批组件的维护和更新。

而如今,腾讯云 Prometheus 已经实现了对 EMR 平台的监控集成,只需控制台几次点击,即可免去上述所有运维负担,直接开启对 EMR 组件的监控。针对同样的 EMR 组件采集,两种方案的运维工作量对比如下:

在腾讯云 Prometheus 一键集成 EMR 监控的背后,究竟托管了哪些监控组件,隐藏了哪些运维动作? 下面将详解借助 Prometheus 社区提供的开源方案,自行构建对 EMR 这类泛 Hadoop 大数据平台的可观测性——这也正是腾讯云 Prometheus 已替客户“大包大揽”、从而节约客户运维精力的核心所在。

大数据组件的开源监控方案

从下面 EMR 的架构图可以看出,一个 EMR 集群建立在底层基础设施之上,包含了多种数据接入和计算引擎组件,可与多种数据源交互吞吐数据,最终形成大数据驱动的分析决策。

构建 EMR 这类泛 Hadoop 大数据平台的可观测性,旨在了解构成集群的全栈设施和组件的健康和性能状况,手段是通过对下至基础设施层、上至中间件和应用程序层的可观测数据进行收集、关联、聚合和分析,以探知系统的运行状况和健康趋势。

基于 Prometheus + Grafana 这组开源可观测领域的“最强 cp”、结合丰富的社区生态组件,则能很好地为泛 Hadoop 大数据平台提供立体全面的可观测性解决方案。

通过 Prometheus 相关组件将待监控的大数据组件的指标采集并存储后,用户就可以通过 Grafana 等可视化工具,对 Prometheus 中的指标数据进行查询和展示;用户还可通过设置告警规则,适时发送告警消息,以及时响应系统异常、减少故障恢复时间。

指标暴露

由于泛 Hadoop 生态各层设施和组件与 Prometheus 生态的集成成熟度也不同,接下来,我们将其分成几个大类、各个击破,实现对各层次组件的指标采集。

原生支持

对于底层算力基础设施中的 TKE 来说,作为 Kubernetes 容器平台,它对 Prometheus 的支持力度是最高的,体现在其内置的服务发现、直接暴露指标的能力,以及与 Kubernetes 生态系统中其他组件(如 kube-state-metrics 和 node-exporter)的良好集成。

因此,使用 TKE 作为底层算力资源,用户可以减少对额外 exporter 组件的依赖,大大简化了监控的配置和管理过程。

exporter 方式

exporter 是 Prometheus 开源生态中一个非常强大的功能,它可用于将第三方系统中现有的指标导出为 Prometheus 指标。这在无法直接使用 Prometheus 指标监控特定系统的情况下,是非常有用的。

例如:CVM exporter 是一个用于收集和暴露 CVM(Cloud Virtual Machine,云虚拟机)相关指标的工具,它可以从云虚拟机中提取性能数据和状态信息,并将这些数据转换为 Prometheus 可以理解的格式,从而使用户能够监控云虚拟机的运行状况和性能。

Prometheus 官方以及 Github 上开源的 exporter 非常丰富。腾讯云可观测也集成了诸多 exporter,可供客户一键开启对各类组件和云服务的集成。仍以 CVM 为例,只需一键,即可集成,免去服务发现和安装 exporter 的负担:

Java agent + exporter

JMX(Java Management Extensions)是用来管理和监控 Java 应用程序和系统的一种标准方式,而 Hadoop 生态系统中的许多组件都支持通过 JMX 来采集指标,例如:

  1. HDFS:NameNode 和 DataNode 都可通过 JMX 暴露其性能和状态指标,如存储使用情况、块管理、请求处理等。
  2. YARN:ResourceManager 和 NodeManager 也支持 JMX,提供有关资源使用、应用程序状态、容器管理等的指标。
  3. MapReduce:MapReduce 作业的 JobTracker 和 TaskTracker 可通过 JMX 监控作业执行情况、任务状态和资源使用、应用。

此外,还有一些基于 Java 平台的中间件,也支持通过 JMX 暴露监控指标:

  1. Kafka:Kafka 支持 JMX,提供有关主题、分区、消费者和生产者的性能指标。
  2. ZooKeeper:ZooKeeper 作为分布式协调服务,支持 JMX 监控其连接、会话、请求和节点状态等指标。

针对 JMX,Prometheus 开源社区提供了 jmx-exporter,用于将 JMX 暴露的指标转换成 TaskTracker 可通过 JMX 监控作业执行情况、任务状态和资源使用。

在最佳实践中,我们可将 jmx-exporter 以 Java agent 模式运行在 EMR 的每个节点,暴露 HTTP 服务器,以提供本地 JVM 的指标。

直接暴露

在 Spark 3.0 之前,它也需通过上述 Java agent 暴露指标;但是 Spark 3.0 之后, 其节点能在现有端口以 Prometheus 格式暴露指标,而无需再像上述 Java agent 那样,使用额外开放端口的代理方法。

此外,业务应用也能以类似的方式,自行定义指标埋点,并以 Prometheus 协议暴露出去。

指标获取

众所周知,Promethes 获取指标,有推/拉两种模式,其中又以拉模式最为常用:

在 EMR 集群中,通常情况下,监控指标是通过 Pull 模式来收集的,即 Prometheus 以一定的时间间隔,定期从各个节点(如 NameNode、DataNode、ResourceManager、NodeManager 等)拉取指标。

然而,在某些特殊情况下,使用 Push 模式推送指标是有必要的。

例如:某些 Flink 作业的生命周期可能非常短、在下一次拉取指标的间隔到来之前,任务就已经完成。这种情况下,使用 Push 模式,作业就可以先将其指标推送到 Pushgateway 组件,再由 Prometheus 从该组件拉取,以确保 Prometheus 能获取到这些数据。

2.弹性扩容,无惧洪峰

如下图所示的高可用架构,是腾讯云 Prometheus 的一大核心优势:

实现方式是在腾讯云底层的海量算力和存储能力之上,又基于 TKE 的容器化、弹性伸缩等云原生能力,自研落地了一套分布式、集群化、存算分离的技术架构,以及高可用、高效率的采集节点调度方案和存储节点分片方案。

可扩展性优化

  • 采集和存储集群化,解决开源 Prometheus 单机大实例无法扩展的问题。
  • 支持 agent 模式及自建 Prometheus 上报数据;支持 Remote Write 和 Pushgateway 协议。
  • 存储后端基于分片机制写入数据。
  • 查询组件对多个存储节点的数据进行聚合计算,将最终结果返回给用户。

高可用优化

  • 集群多节点,避免单点故障问题,且支持弹性扩缩容。
  • 冗余和故障转移:分布式和集群化的轻量采集器,可以在多个节点上运行,确保即使某个节点发生故障,其他节点仍然可以继续采集数据,避免单点故障。
  • operator 对采集 target 的负载均衡,基于一致性哈希实现分发 targets 分片至各个采集 agents。

存储优化

  • 落盘云存储,可支持存储 15天/30天/45天/90天/180天/1年/2年 存储周期。
  • 基于用量大小,支持独占或共享集群,以满足不同需求。

正是借助上述弹性伸缩等高可用能力,客户在新车发布直播、双十一大促等流量高峰期,使用自建 Prometheus + Grafana 和云上 Prometheus + Grafana 进行双重保障,大大降低了在重大活动时的运维风险。

3.专家知识,预设提供

通过预设的 Grafana 大盘和基于业务场景的告警模板,腾讯云可观测平台不仅简化了客户的监控配置流程,还确保了关键指标的精准覆盖。

预设 Grafana 大盘 腾讯云 Grafana 除了兼容开源 Grafana 外,还提供了对常见云产品及组件的开箱即用、一键集成的监控功能。此外,针对不同业务场景,腾讯云 Grafana 预设了多种大盘模板。借助这些集成能力和预设大盘,客户可以快速实现从基础设施到应用和服务的监控可视化,显著减少指标梳理和面板制作的工作量。

如下图所示,在腾讯云 Prometheus 的集成中心,当客户一键安装 EMR 监控集成后,即可开箱即用相关 EMR 组件的 Grafana 大盘:

预设告警模板 腾讯云可观测平台提供了强大的告警能力,预设了针对不同产品和组件的业务场景告警模板。这些模板帮助客户快速配置告警规则,确保关键指标的实时监控。

通过这种方式,客户能够及时识别潜在问题,减少系统故障的响应时间,提升业务连续性。此外,预设的告警模板降低了客户在告警配置上的复杂性,使得即使是缺乏专业知识的用户也能轻松上手,从而显著提高了运维效率和决策能力。

如下图所示,当客户想要新建一条告警策略,可以直接从列表里选中某个云产品例如 EMR,则系统会自动弹出针对 EMR 各个组件所预设的各种告警规则,供客户直接使用,或在此基础上自主修改:

沉淀专家知识

仍以客户对 EMR 的监控为例,预设告警策略不仅基于行业实践提供通用模板,还结合腾讯云 EMR + 腾讯云 Prometheus 双方的专家知识,共同定制升级了一些告警策略,以提高告警效率,帮助客户“避坑”。

例如:EMR 原生指标 service_status 在服务异常或者用户手动停止这两种情况下,都会显示 0,因此无法针对异常服务精准告警。

于是, 腾讯云 Prometheus 在预设告警模板时,新增了辅助指标 emr_additional_service_status 来代表用户手动停止服务的信息 ,以跟原生指标组合,实现对异常服务的精确告警。

这样一来,当原生指标显示 service 状态异常时,结合腾讯云 Prometheus 提供的额外的辅助指标,其真值逻辑如下表所示:

原生指标

辅助指标

是否告警

service 状态异常

是用户手动停止的

service 状态异常

不是用户手动停止的

由上表很容易看出,结合辅助指标后,该告警模板能过滤掉手动停止造成状态异常所导致的无效告警,大大节约了客户对 EMR 的运维精力。

落地效果

  1. EMR 监控,一键集成:腾讯云 Prometheus 对 EMR 大数据平台的一键集成,大大提升了为大数据平台构建可观测性的效率,从天级接入降为分钟级接入。且全托管、一站式,彻底免去为27个 EMR 组件搭建和运维采集代理的成本。
  2. 弹性扩容,无惧洪峰:在客户的新车发布直播和双十一大促时,流量比平时高出数倍。而借力腾讯云 Prometheus + Grafana 的弹性扩容能力,就能避免自建的 Prometheus + Grafana 触及性能瓶颈,从而保证重大活动期间监控的流畅性,保证在流量洪峰下极大降低运维风险。
  3. 专家知识,预设提供:开箱即用预设的 Grafana 大盘,有效节约了运维人员制作监控面板的时间;同时优化了告警策略,提高关键指标的覆盖率、降低系统异常的误报漏报,尤其是针对服务状态异常的告警,为客户降低了约 50% 的误报率。

结语

该车企客户的监控平台依托腾讯云可观测平台的 Prometheus、Grafana 及告警功能,不仅实现了对 EMR 大数据平台等云产品和组件的高效监控,还落地了应对流量洪峰的云上云下一体化方案,并借力各领域专家知识优化了可视化大盘和告警策略。

这一系列举措显著提升了监控效率、节约了运维成本、降低了系统风险,为客户的业务稳定性提供了坚实保障。

腾讯云可观测平台已覆盖出行行业几乎所有头部车企,积累了丰富的行业案例和最佳实践,为客户提供 Prometheus + Grafana 指标监控、APM 分布式链路追踪、RUM 前端/终端性能监控,以及云拨测、云压测等全栈多维度可观测能力。

若有任何可观测需求,欢迎随时前来咨询。我们将竭诚为您提供专业的服务与支持,帮助您实现更高效的业务监控与优化。

联系我们

如有任何疑问,欢迎加入官方技术交流群

关于腾讯云可观测平台

腾讯云可观测平台(Tencent Cloud Observability Platform,TCOP)基于指标、链路、日志、事件的全类型监控数据,结合强大的可视化和告警能力,为您提供一体化监控解决方案。满足您全链路、端到端的统一监控诉求,提高运维排障效率,为业务的健康和稳定保驾护航。功能模块有:

  • Prometheus 监控:开箱即用的 Prometheus 托管服务;
  • 应用性能监控 APM:支持无侵入式探针,零配置获得开箱即用的应用观测能力;
  • 云拨测 CAT:利用分布于全球的监测网络,提供模拟终端用户体验的拨测服务;
  • 前端性能监控 RUM:Web、小程序等大前端领域的页面质量和性能监测;
  • Grafana 可视化服务:提供免运维、免搭建的 Grafana 托管服务;
  • 云压测 PTS:模拟海量用户的真实业务场景,全方位验证系统可用性和稳定性;
  • ......等等
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云可观测 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 大数据组件的开源监控方案
    • 指标暴露
    • 指标获取
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档