tencent cloud

文档反馈

云原生监控概述

最后更新时间:2021-12-23 16:01:19

    产品简介

    腾讯云云原生监控服务(Tencent Prometheus Service,TPS)是针对云原生服务场景进行优化的监控和报警解决方案,全面支持开源 Prometheus 的监控能力,为用户提供轻量、稳定、高可用的云原生 Prometheus 监控服务。借助 TPS,您无需自行搭建 Prometheus 监控系统,也无需关心数据存储、数据展示、系统运维等问题,只需简单配置即可享受支持多集群的高性能云原生监控服务。

    Prometheus 简介

    Prometheus 是一套开源的系统监控报警框架,其彻底颠覆了传统监控系统的测试和告警模型,是一种基于中央化的规则计算、统一分析和告警的新模型。作为云原生计算基金会 Cloud Native Computing Foundation 中受欢迎度仅次于 Kubernetes 的项目,Prometheus 依靠其强劲的单机性能、灵活的 PromSQL、活跃的社区生态,逐渐成为云原生时代最核心的监控组件。

    Prometheus 优势

    • 支持强大的多维数据模型。
    • 内置灵活的查询语言 PromQL。
    • 支持全面监控。
    • 拥有良好的开放性。
    • 支持通过动态服务或静态配置发现采集目标。

    开源 Prometheus 不足

    • 原生 Prometheus 为单点架构,不提供集群化功能,单机性能瓶颈使其无法作为大规模集群下的监控方案。
    • 无法便捷地实现动态的扩缩容和负载均衡。
    • 部署使用技术门槛高。

    云原生监控与开源 Prometheus 对比

    对比项 云原生监控 开源 Prometheus
    场景 针对容器云原生场景优化 面向多种场景
    量级 超轻量级 内存占用高
    稳定性 高于原生 无法保证
    可用性
    数据存储能力 无限制 受限于本地磁盘
    超大集群监控 支持 不支持
    数据可视化 基于 Grafana 提供优秀的可视化能力 原生的 Prometheus UI 可视化能力有限
    开源生态 完全兼容 原生支持
    使用门槛
    成本

    产品优势

    完全兼容 Prometheus 配置和核心 API,保留 Prometheus 原生特性和优势
    支持自定义多维数据模型。
    内置灵活的查询语言 PromQL。
    支持通过动态服务或静态配置发现采集目标。
    兼容核心 PrometheusAPI。

    支持超大规模集群的监控
    在针对单机 Prometheus 的性能压测中,当 Series 数量超过300万(每个 Label 以及值的长度固定为10个字符)时,Prometheus 的内存增长非常明显,需要20GB及以上的 Memory,因此需要使用较大内存的机器来运行。
    腾讯云通过自研的分片技术和对象存储 COS 提供的无上限数据存储服务,支持超大规模集群的监控。

    支持在同一实例里进行多集群监控
    支持同一监控实例内关联多个集群。

    支持模版化管理配置
    针对多实例多集群的监控,云原生监控服务支持配置监控模版,用户可以使用模板一键完成对多集群的统一监控。

    超轻量、无侵入式的监控
    腾讯云云原生监控相较于开源 Prometheus 更加轻量化,开源 Prometheus 需要占用用户16GB - 128GB内存,但云原生监控部署在用户集群内的只有非常轻量的 Agent,监控100个节点的集群约只占用20M内存,且无论集群多大,也不会超过1G的内存占用。
    当用户关联集群后,云原生监控会自动在用户的集群内部署 Agent,用户无需安装任何组件即可开始监控业务,超轻量级的 Agent 不会对用户集群内的业务和组件产生任何影响。

    支持实时动态扩缩,满足弹性需求
    腾讯云云原生监控采用腾讯云自研的分片和调度技术,可以针对采集任务进行实时的动态扩缩,满足用户的弹性需求,同时支持负载均衡。

    高可用性
    采用技术手段,保障数据不断点,不缺失,为用户提供高可用的监控服务。

    接入成本低
    控制台支持产品化的配置文件编写,用户无需精通 Prometheus 即可轻松使用。针对有 Prometheus 实际使用经验的用户,腾讯云也提供原生 YAML 文件提交配置的方式,方便用户自定义高级功能完成个性化监控。

    产品架构

    腾讯云云原生监控作为超轻量、高可用、无侵入式的监控系统,在用户集群内仅包含一个轻量级的 Agent。其中,位于用户 VPC 内的监控组件负责数据的采集、远端存储、查询等操作。Grafana 负责数据的展示,AlertManager 负责告警。产品架构如下图所示:

    云原生监控支持多集群监控、支持同一 VPC 网络中非集群内业务的监控、支持超大集群的监控并实时进行监控组件的扩缩容,保障高可用的监控服务。

    在用户关联集群后,云原生监控将默认添加社区主流的采集配置,用户在不做任何个性化配置的基础上能够开箱即用。

    此外,云原生监控为每个监控实例内置独立的 Grafana 账户,不仅提供丰富的预设面板,也为用户提供高度自由化的监控自定义能力,用户可完成基于业务的定制化监控而无需关心监控基础资源的管理和调度、监控性能的瓶颈,以最少的成本享受最优质的监控服务。

    使用流程

    用户需要登录腾讯云账号,进入 云原生监控控制台,在引导下完成腾讯云对象存储 COS 的授权。之后您便可以按照以下流程使用:

    1. 创建监控实例。详情可参见 监控实例管理
    2. 关联集群。在新创建的监控实例下完成集群关联操作,此时系统会自动在用户集群内完成 Agent 的部署,在用户的 VPC 内完成监控组件的部署,用户无需进行任何插件的安装。详情可参见 关联集群
    3. 配置采集规则。成功关联集群后用户可以按照实际需求灵活配置数据采集规则,并按需要配置告警规则,配置完成后即可打开 Grafana 查看监控数据。详情可参见 配置采集规则告警配置

    关键概念解释

    • 监控实例:一个监控实例对应一整套监控服务,拥有独立的可视化页面,一个监控实例下可以关联同一 VPC 下的多个集群并完成对多个集群的统一监控。
    • 集群:通常指用户在腾讯云上的 TKE 或 EKS 集群。
    • 关联集群:指将监控实例与用户的集群进行关联的操作。
    • 采集规则:指用户自定义的监控数据采集的规则。
    • Job:在 Prometheus 中,一个 Job 即为一个采集任务,定义了一个 Job 工作负载下所有监控目标的公共配置,多个 Job 共同组成采集任务的配置文件。
    • Target:指通过静态配置或者服务发现得到的需要进行数据采集的采集对象。例如,当监控 Pod 时,其 Target 即为 Pod 中的每个 Container。
    • Metric:用于记录监控指标数据,所有 Metrics 皆为时序数据并以指标名字作区分,即每个指标收集到的样本数据包含至少三个维度(指标名、时刻和指标值)的信息。
    • Series:一个 Metric+Label 的集合,在监控面板中表现为一条直线。

    应用场景

    腾讯云云原生 Prometheus 主要针对容器云原生业务场景进行监控,除了实现容器和 Kubernetes 的主流监控方案之外,还灵活支持用户按照自己的业务进行自定义监控,通过逐步完善不同场景的预设面板,不断总结行业最佳实践,来帮助用户完成监控数据的多维分析以及数据的个性化展示,云原生 Prometheus 监控致力于成为容器化场景下的最佳监控解决方案。

    产品定价

    目前云原生监控服务处于免费公测阶段,您只需要支付少量存储费用便可以享受优质的云原生监控服务,试用 Prometheus 监控服务请前往 云原生监控控制台

    相关服务

    云原生 Prometheus 监控负责容器云原生相关的监控业务,若您有其他非容器化场景下的 Prometheus 监控需求,请关注云监控托管 Prometheus 服务。

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持