产品介绍
产品简介
百度智能云 Prometheus 监控服务(Cloud Managed Service for Prometheus,简称CProm)是完全对接开源Prometheus监控系统,针对云原生场景提供的全托管、高可用、可扩展的Prometheus监控服务。
一个监控实例可一键关联多个 Kubernetes 集群,自动安装采集 Agent,通过预置采集任务采集指标数据。集成开源可视化组件 Grafana 与告警组件 AlertManager,提供预置的 Dashboard 和告警模板,并对接云消息中心提供多种告警通知渠道。为您提供稳定可靠、简单易用的 Prometheus 监控服务,降低自建和维护成本,提高开发和运维效率。
说明:关于开源Prometheus的更多信息可见 Prometheus 官方文档。
核心概念
-
监控实例
监控实例(Prometheus监控实例)是托管 Prometheus 服务的管理单元。创建一个监控实例,系统将部署一套 Prometheus 核心组件进行托管,提供数据采集、存储、可视化、告警等完整能力。您无需考虑所需资源和部署细节,只需根据需要采集指标的规模,选择对应的实例规格进行购买即可。一个监控实例可以采集同地域的多个 Kubernetes 集群的指标数据。
-
采集 Agent
采集 Agent 即部署在用户侧 Kubernetes 集群中的轻量级采集组件,能够在具备原生采集能力的基础上,最大程度减少资源的占用。监控实例可接入相同地域的一个或多个私有网络 VPC(内网打通监控数据上报通道),对已接入的私有网络 VPC 下的 CCE 集群可进行一键关联(在 CCE 集群中安装采集 Agent),并通过预置采集任务开始指标数据的采集和上报。
-
指标
采集目标暴露的、可以完整反映监控对象运行或者业务状态的一系列标签化数据。Prometheus 监控采用 OpenMetrics 的标准数据格式描述指标。
-
Target
Prometheus 采集 Agent 需要抓取的采集目标。采集目标暴露自身运行、业务指标,或者代理暴露监控对象的运行、业务指标。
-
采集任务
采集任务(Job)是一组 Target 的配置集合。定义了抓取间隔、访问限制等作用于一组 Target的抓取行为。Prometheus 监控服务默认预置常用基础监控的采集任务,也支持自定义采集任务。
-
时间序列
Prometheus 存储的是时序数据(time series,即以时间维度存储的连续数据的集合),时间序列是由 Metric 和一组 key/value 标签定义的,具有唯一性。相同 Metric 以及 key/value(如:
http_requests_total{method="POST"}
)的数据集合,即为一条时间序列。时序上的数据称为 Samples(样本),其值包含:一个 float64 值、一个毫秒级的 unix 时间戳。 -
PromQL
PromQL 是 Prometheus 监控的查询语言。支持瞬时查询和时间跨度查询,内置多种函数和操作符,可以对原始数据进行聚合、切片、预测和联合。更多信息可见 PromQL语句 。
-
告警规则
告警规则即 Prometheus 监控的 AlertingRule 格式的告警配置,可以通过 PromQL 进行描述。
-
预聚合
预聚合(RecordingRule)是通过配置记录规则的方式,提前计算一些常用的或相对复杂的指标,对采集的指标预处理后生成新的指标。以此实现持久查询的效果,提高查询效率,而非每次都要输入查询规则。预聚合以规则组 (RuleGroup) 的形式存在, 相同组中的规则以一定的间隔顺序执行。预聚合规则的命名格式必须符合 Prometheus 命名规范 。
功能特性
兼容原生能力
- 多层级架构监控:Prometheus 监控服务可以覆盖基础设施、容器、应用等业务架构的多个层级,结合开源 Grafana 和 AlertManager 提供一站式全方位的监控体系,帮助运维和开发人员快速发现和定位问题,减轻故障给业务带来的影响。
- 多维度数据模型:Prometheus 监控数据都是按时间序列去存储的,每条时间序列都是唯一的,由一个 Metric 和一组 Key/Value Label 组成,所有 Metrics 都可以设置任意多维度的标签来进行标识。
- 灵活的查询语言:Prometheus 提供了灵活而强大的查询语言 PromQL,可利用多维数据完成复杂的监控查询。还可以对数据进行预聚合等操作提高查询效率,以及提供 HTTP 查询接口。
- 标准的数据接入:Prometheus 监控服务采集的数据,需要符合其数据格式标准。可基于 HTTP 的 Pull 方式采集数据,也可以通过中间网关 PushGateway 的方式把数据推送到 Prometheus Server。
监控实例管理
- 核心组件托管:创建监控实例即可获得一套 Prometheus 服务的完整能力,存储、查询、可视化、告警等核心组件托管在云上,由厂商进行维护。您无需关注底层占用资源和部署细节,关联集群(安装采集 Agent)后即开始采集监控指标数据。能够帮您免去搭建和运维 Prometheus 监控系统的复杂工作,减少资源占用。
- 架构稳定可靠:监控核心组件托管在云上,提供高可用规格的监控实例,避免单点架构故障风险,存储具备多副本,为您提供可用性更强的 Prometheus 监控服务。采集 Agent 可基于集群规模水平弹性扩缩容,保障采集性能。
- 生命周期管理:支持监控实例的全生命周期管理,查看实例自身监控指标(磁盘使用量、数据点总数、接口平均时延、数据点写入速率)等。
监控对象接入
- CCE 集群接入:监控实例接入同地域的私有网络 VPC(打开内网数据上报通道),即可一键关联该私有网络 VPC 下的 CCE 容器集群(系统自动在 CCE 集群中部署轻量级的采集组件 Agent)。监控实例预置了容器集群常用基础监控指标的采集任务和 Grafana Dashboard,关联集群成功后,即开始进行指标数据的采集和上报。
监控指标采集
- 采集任务:提供预置基础指标的采集任务,也支持自定义指标采集任务。可根据需要,对采集任务进行启用或禁用。
- Targets:支持通过 Targets 观测正在被抓取的具体目标,以及抓取状态是否正常。支持查看目标中暴露的 Metrics。
监控数据处理
- Grafana展示:默认集成开源 Grafana,预置丰富的 Grafana Dashboard 展示基础监控数据,并支持自定义 Dashboard。监控实例创建成功,即可通过默认提供的内网域名访问 Grafana。如开启公网访问 Grafana,系统将再提供一个公网域名。Grafana 的登录用户名默认是 admin,支持设置和修改登录密码。
- 预聚合:可提前计算相对复杂的指标,并存储到新的数据指标中, 查询提前计算的数据比查询原始数据更加高效便捷,适用于 Grafana Dashboard 中配置与查询慢的场景。
告警管理
- 告警配置:预置多种常用告警模板,也支持自定义告警规则。当规则条件被触发时,会根据通知策略发送告警信息,以便能够及时通知告警接收人,让其发现指标异常,并采取相应措施。
- 通知策略:告警通知对接云消息中心,支持选择邮件、短信、电话、钉钉、企业微信、飞书等机器人 Webhook 地址,系统将把告警通知推送到对应的 URL 或聊天群。
- 告警历史:支持查看历史告警消息,以及对应的通知方式、发送时间、接收人,并支持按以上几项筛选历史告警消息。