Prometheus 作为主流监控系统,可覆盖数据库、中间件、云服务等海量组件的监控,其中许多服务已原生支持通过特定端口和路径(例如:8080/metrics)暴露 Prometheus 格式的指标,无需额外开发适配插件,仅需配置采集规则即可接入监控系统。这类服务的采集配置存在显著共性:均能通过静态采集配置与服务发现配置两种方式满足绝大部分部署场景的需求。基于这一特性,腾讯云可观测平台 Prometheus 监控服务推出通用组件监控集成,实现对所有 “自带 Prometheus 指标暴露能力” 的服务(如 JVM、Spring MVC 等)的快速接入。本文为您介绍如何使用腾讯云可观测平台 Prometheus 通用组件监控集成。
典型场景
腾讯云 Prometheus 监控服务已提供了部分场景的自定义接入说明文档,接入步骤均可概括为:部署服务-开启指标上报-添加采集任务。虽然服务类型与部署方式不尽相同,但是都可以通过通用组件监控集成来代替传统的手动编写采集配置步骤。通用组件监控集成可普遍适用于通过固定端口和路径暴露了 Prometheus 格式指标的服务监控,包括但不限于以下场景:
JVM 接入
ETCD
Kong
前提条件
待监控的服务已成功部署,并通过特定端口和路径将 Prometheus 格式指标暴露出来。
当前 Prometheus 实例所在私有网络 VPC 与待监控的服务网络相通。
如果待监控组件部署在容器环境,需确保当前 Prometheus 实例已成功关联待监控组件服务所在集群,步骤请参见 集成容器服务。
操作步骤
1. 登录 Prometheus 控制台。
2. 在实例列表中,选择对应的 Prometheus 实例。
3. 进入实例详情页,选择数据采集 > 集成中心。
4. 在集成中心找到并单击通用组件监控,即会弹出一个安装窗口,在安装页面填写集成名称并选择部署方式,具体配置方式如下。
如果待监控组件部署在非容器环境,可通过 StaticConfig 类型部署监控采集配置。具体配置步骤如下:
1. 在弹出的安装窗口中,找到实例配置 > 部署类型,下拉选择 StaticConfig。
2. 在静态采集配置 > 采集目标地址中,填写待监控组件的 host:port,支持添加多个,需保证网络与 Prometheus 实例互通。
3. 确认 Exporter 配置 > 指标采集路径中的 path 是否与待监控组件配置一致。
4. 按需填写其他 Exporter 配置,然后单击保存。

参数 | 说明 |
名称 | 集成名称,命名规范如下: 名称具有唯一性。 名称需要符合下面的正则:'^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$'。 |
部署类型 | 监控的部署类型,StaticConfig 代表静态采集配置。 |
采集目标地址 | |
指标采集路径 | 待监控组件指标暴露的路径,默认为 /metrics。 |
抓取间隔 | 默认15s,填写示例:60s、1m30s、5m。 |
抓取超时 | 默认10s,抓取超时必须小于等于抓取间隔,填写方式同抓取间隔。 |
Metric Relabel 配置 |
如果待监控组件部署在容器环境,可通过 ServiceDiscovery 类型部署监控采集配置。具体配置步骤如下:
1. 在弹出的安装窗口中,找到实例配置 > 部署类型,下拉选择 ServiceDiscovery。
2. 在服务发现配置中,选取待监控组件服务所在的集群,填写待监控组件所在的命名空间、指标暴露的端口号或端口名称、待监控组件服务 Pod 标签。
3. 确认 Exporter 配置 > 指标采集路径中的 path 是否与待监控组件配置一致。
4. 按需填写其他 Exporter 配置,然后单击保存。

参数 | 说明 |
名称 | 集成名称,命名规范如下: 名称具有唯一性 名称需要符合下面的正则:'^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$' |
部署类型 | 监控的部署类型,ServiceDiscovery 代表服务发现配置。 |
集群 | |
命名空间 | 待监控组件服务所在的集群命名空间。 |
端口 | 待监控组件服务指标暴露的端口号或端口名称,需在工作负载 spec.template.spec.containers.ports 中增加端口配置。 |
Pod 标签 | 待监控组件服务 Pod 在 metadata.labels 中显式配置的标签。当通过工作负载创建 Pod 时,则为工作负载 spec.template.metadata.labels 中配置的标签。 |
指标采集路径 | 待监控组件服务指标暴露的路径,默认为 /metrics。 |
抓取间隔 | 默认15s,填写示例:60s、1m30s、5m。 |
抓取超时 | 默认10s,抓取超时必须小于等于抓取间隔,填写方式同抓取间隔。 |
Metric Relabel 配置 |
查看监控
前提条件
Prometheus 实例已绑定 Grafana 实例。
操作步骤
1. 登录 Prometheus 监控服务控制台,选择对应 Prometheus 实例进入管理页面。
2. 选择数据采集 > 集成中心,在集成中心页面找到通用组件监控 卡片并点击弹出集成页面,选择 Dashboard > Dashboard 安装/升级来安装对应的 Grafana Dashboard。
3. 打开 Prometheus 实例对应的 Grafana 地址,在
Dashboards中根据 面板说明 中的路径查看不同应用的监控面板。面板说明
JVM:位于
java文件夹,进入文件夹搜索 JVM 即可。
具体面板说明如下:
应用 JVM:从应用角度出发,查看该应用下所有实例是否存在异常,当发现某个实例有异常时,可以下钻到对应的实例监控。
实例 JVM:单实例 JVM 详细的监控数据。
Spring Boot:位于
java文件夹,通过 Spring 标签过滤即可。
具体面板说明如下:
Spring MVC 应用:监控 MVC 的状态,例如请求耗时/请求量/成功率/异常分布等。
Spring MVC 接口:接口级监控,可以对应多个接口,方便定位是哪个接口出问题。
Tomcat:Tomcat 内部状态的监控大屏,例如线程使用情况等。
Golang:位于
go文件夹。
具体面板说明如下:
Golang Runtime:实例级监控大盘。
Golang Runtime Overview:应用级监控总览。
Docker:在
Dashboards中搜索Docker。
Fluentd/FluentBit:位于
middleware文件夹,进入文件夹搜索 Fluent 即可。
具体面板说明如下:
Fluent Bit Metrics:FluentBit 相关指标监控大盘
Fluentd 1.x:Fluentd相关指标监控大盘
ETCD:位于
etcd文件夹。
Kong:位于
kong文件夹。