Prometheus监控全面对接开源Prometheus生态,支持类型丰富的组件监控,提供多种开箱即用的预置监控大盘和全面托管的Prometheus服务。
Prometheus是一套开源的监控报警系统。主要特点包括多维数据模型、灵活查询语句PromQL以及数据可视化展示等。更多信息请参见Prometheus官方文档。
Prometheus实例是AOM服务提供的管理Prometheus数据采集和数据存储分析的逻辑单元。根据Prometheus监控的对象和使用场景,Prometheus实例可以分为以下几种类型,具体请参见表1。
表1 Prometheus实例说明
Prometheus实例类型
监控对象
监控能力
应用场景
default
通过添加监控数据API上报的指标。
IoTDA、ModelArts、IEF、CCI等API上报的云服务指标。
通过ICAgent采集上报的指标。
提供通过API和ICAgent上报到AOM的指标的监控。
不区分使用场景,既适合作为自建Prometheus的远程存储(Remote Write)场景,也适合接入容器、云服务、主机等指标数据的场景。
Prometheus for CCE
CCE
提供与容器服务原生的集成能力、容器指标的监控能力。
默认开启以下服务发现能力:Kubernetes SD、 ServiceMonitor、PodMonitor的自定义发现。
适合需要对容器服务集群及其上面运行的应用进行一体化监控场景。
Prometheus for ECS
ECS
通过在VPC内的某台虚机上安装uniagent(Exporter)插件提供针对此VPC内ECS应用和组件(如数据库,中间件等)的一体化监控。
适合需要对运行在华为云的虚拟私有云VPC内(通常为弹性云服务器ECS集群)的应用组件进行监控场景,可以通过接入中心添加Prometheus中间件及自定义插件监控。
Prometheus for 云服务
多种云服务
提供多种云服务的监控。一个企业项目下只支持创建一个“Prometheus for 云服务”类型的Prometheus实例。
适合需要通过Prometheus监控来统一采集、存储和显示云服务的监控数据的场景。
Prometheus 通用实例
自建的Prometheus
提供Prometheus时序数据库的远端存储。
提供自研监控大盘进行数据的展示。
由于自建Prometheus服务器为用户自己运维,所以相应的指标管理、指标数据采集等需用户自行配置。
适合已经自建了Prometheus Server,但需要通过远端存储(Remote Write)方式来解决数据存储问题的可用性和可扩展性场景。
Prometheus for 多账号聚合
同一个组织下多账号的云服务资源、CCE资源和ECS资源
支持对同一个组织下多账号的云服务资源、CCE、ECS数据聚合,运维监控。
通过该Prometheus实例接入的指标如下:
CCE和ECS指标的详细描述请参见虚机指标。
其他云服务指标的详细描述请参见云服务指标说明。
适合需要统一监控同一个组织下多成员账号的云服务资源、CCE资源、ECS资源的场景。
Prometheus for APM
APM调用链
集成APM应用监控能力,支持对JAVE、GO、Python、Node.js,PHP、.NET、C++等应用层组件调用链指标进行监控。
适合已开通云应用性能指标监控(APM)服务,监控应用组件调用链指标的场景。
功能特性
AOM的Prometheus监控具有监控指标数据采集、存储、计算、展示、告警等能力。监控指标覆盖广,涵盖容器、云服务、中间件、数据库、应用以及业务等多种监控数据。AOM的Prometheus监控支持的主要功能如下所示。
表2 监控对象接入
功能
功能说明
创建Prometheus实例
AOM支持创建多种类型的Prometheus实例。您可以根据需求选择创建任一类型的Prometheus实例。
集成中心
AOM集成容器服务CCE集群的Prometheus云原生监控插件,支持在Prometheus实例的“集成中心”为CCE集群安装云原生监控插件,上报指标到指定的CCE类型Prometheus实例中。
当前仅CCE类型Prometheus实例支持。
接入中心
AOM集成Prometheus中间件插件,支持在Prometheus实例的“接入中心”为虚机安装中间件Exporter,将上报指标到指定的ECS Prometheus实例中。
当前仅ECS类型Prometheus实例支持。
云服务接入
AOM支持在Prometheus实例的“云服务接入”中将云服务接入AOM,将云服务关指标上报到定的云服务Prometheus实例中。
当前仅云服务类型Prometheus实例支持。
账号接入
AOM支持在Prometheus实例的“接入账号”中将同一组织下多个成员账号接入AOM后,实现对同一组织下多个成员账号的云服务指标进行监控。通过数据多写功能,可以实现跨VPC的访问,而不必暴露服务端相关的网络信息。
表3 监控指标采集
功能
功能说明
管理Prometheus实例指标数据
支持查看、新增和废弃指标。
当前仅default类型、CCE类型、云服务类型、ECS类型、通用实例类型的Prometheus实例支持。
表4 监控数据处理
功能
功能说明
获取Prometheus实例的服务地址
使用Remote Read地址和Remote Write地址,将自建Prometheus的监控数据存储到AOM的Prometheus实例中,实现远程存储。
预聚合
通过配置预聚合规则将计算过程提前到写入端,可减少查询端资源占用,尤其在大规模集群和复杂业务场景下可以有效的降低PromQL的复杂度,从而提高查询性能,解决用户配置以及查询慢的问题。
当前仅CCE类型和通用实例类型Prometheus实例支持。
产品优势
表5 产品优势
开箱即用
一键安装部署即可监控Kubernetes以及各类云产品。
一键接入各种应用组件及告警工具。
低成本
多种指标免费用,覆盖Kubernetes标准组件。
提供全托管式服务,无需另购资源,可降低监控成本,且维护成本几乎为零。
与CCE集成并提供监控服务,容器监控体系创建时间从2天降低至10分钟。一个Prometheus For CCE实例可以上报多个CCE集群数据。
开源兼容
支持自定义多维数据模型、HTTP API模块、PromQL查询。
静态文件配置和动态发现机制发现监控对象,实现轻松迁移及接入。
数据规模无上限
凭借云存储能力,数据存储无上限,不再受限于本地容量。云端分布式存储保障数据可靠性。
通过Prometheus实例 for 多账号聚合实例将多个资源账号的指标数据汇聚到一个Prometheus实例,实现统一监控。
高性能
相较开源版本结构更轻量,资源消耗更低。通过单进程一体化Agent监控Kubernetes集群,采集性能提升20倍。
Agent部署在用户侧,保留原生采集能力同时能够最大程度的减少资源的使用。
通过采集存储分离架构,全面提升整体性能。
采集组件优化,提升单副本采集能力,降低资源消耗。
通过多副本横向扩展均衡分解采集任务,实现动态扩缩,解决开源水平扩展问题。
高可用性
双副本:指标数据采集、处理和存储组件支持多副本横向扩展,核心数据链路高可用。
水平扩展:基于集群规模可直接进行弹性扩容。
基本概念
本文汇总使用Prometheus监控过程中涉及的基本概念,方便您查询和了解相关概念。
表6 基本概念
概念
说明
Exporter
一个采集监控数据并通过Prometheus监控功能规范对外提供数据的组件。目前有上百个官方或者第三方Exporter可供使用,具体请参见Exporter详情。
Target
Prometheus探针要抓取的采集目标。采集目标暴露自身运行、业务指标,或者代理暴露监控对象的运行、业务指标。
Job
一组Target的配置集合。定义了抓取间隔,访问限制等作用于一组Target的抓取行为。
Prometheus 监控
Prometheus监控全面对接开源Prometheus生态,支持类型丰富的组件监控,提供多种开箱即用的预置监控大盘和全面托管的Prometheus服务。
Prometheus实例
Prometheus监控功能提供的管理Prometheus数据采集和数据存储分析的逻辑单元。
Prometheus探针
部署在用户侧或者云产品侧Kubernetes集群。负责自动发现采集目标、采集指标和远程写到其他库。
PromQL
Prometheus监控的查询语言。支持瞬时查询和时间跨度查询,内置多种函数和操作符。可以对原始数据进行聚合、切片、预测和联合。
Sample
一条时间线在某个时间点对应的数值。在Prometheus监控服务中,每个Sample由一个float64数据类型的值和一个毫秒精度的时间戳构成。
告警规则
Prometheus监控Alerting Rule格式的告警配置。可以通过PromQL描述。
标签
描述指标的一组Key-Value值。
指标管理
Prometheus监控的功能特点之一,无需静态配置,可以自动发现采集目标。支持Kubernetes SD、Consul、Eureka等多种指标管理方式,支持通过ServiceMonitor、PodMonitor的方式暴露采集目标。
预聚合
Prometheus监控的Recording Rule能力。可以通过PromQL将原始数据加工成新的指标,提升查询效率。
时间序列
由指标名和标签组成。属于同一指标和同一组标签维度的带时间戳的流。
远程存储
自研的时序数据存储组件。支持Prometheus监控的Remote Write协议,由云产品全面托管。
云产品监控
无缝集成了多种云产品的监控数据。用户如果有云产品的监控需求,可以通过接入云产品监控实施。
指标
采集目标暴露的、可以完整反映监控对象运行或者业务状态的一系列标签化数据。Prometheus监控采用OpenMetrics的标准数据格式描述指标。