完成 APM-Prometheus 数据集成后,除了可以通过 Grafana 进行自定义图表展示以外,也可以通过腾讯云可观测平台 Dashboard 进行自定义图表展示,并支持将展示结果嵌入到 APM 控制台的应用详情页中。Dashboard 是腾讯云可观测平台针对云产品指标监控数据提供的具备可视化和分析功能的智能仪表盘。关于 Dashboard 的更多介绍,请参见 Dashboard 概述。
前提条件
请参考 通过 OpenTelemetry API 上报自定义指标并同步到 Prometheus 和 将 APM 固有指标同步到 Prometheus 监控服务,完成 APM-Prometheus 数据集成。
创建以 Prometheus 为数据源的 Dashboard
1. 参考 新建 Dashboard 创建一个 Dashboard。
2. 单击 Dashboard 上方的更多编辑,在弹出的下拉框中选择模板变量。
3. 单击初始化 Prometheus 预设变量,系统将自动生成地域和 Prometheus 实例两个模板变量。


4. 单击 Dashboard 右上方的保存后,就得到了一个以 Prometheus 为数据源的 Dashboard。通过下拉框选择具体地域和 Prometheus 实例,可以从任何一个腾讯云 Prometheus 监控服务的实例中获取指标数据。参考 图表配置,可以基于 PromQL 语句以及 Dashboard 自带的图表创建丰富的自定义大盘,其使用方式和 Grafana 类似。
APM 控制台关联展示 Dashboard
在 Prometheus 指标以及 Dashboard 的使用过程中,存在这样一种非常普遍的场景:
对于配置好的 Dashboard,从 APM 应用的维度过滤指标数据,并展示图表。
将展示结果嵌入到 APM 控制台的应用详情中。
同一个 APM 业务系统中的多个应用,都共享同一个 Dashboard,不需要重复配置。
对于这种使用场景,可以通过 APM-Dashboard 关联轻松实现。
说明:
在执行如下步骤前,需要先确保如下前置操作已经完成:
完成 APM-Prometheus 关联。
通过 OpenTelemetry API 往 Prometheus 实例写入指标数据。
创建以 Prometheus 为数据源的 Dashboard。
在 Dashboard 的过滤选项中指定 Prometheus 实例。
操作步骤
1. 配置应用与 Dashboard 的关联。前往 APM 控制台 > 系统配置 > 业务系统配置,在 Dashboard 关联栏目中,关联已经创建好的 Dashboard,需要确保该 Dashboard 使用 Prometheus 数据源。在业务系统中关联 Dashboard,相当于该业务系统的所有应用都完成了关联,您也可以在系统配置 > 应用配置中,针对指定的应用覆盖业务系统级别的配置。


2. 配置必要的模板变量。
为了实现 Dashboard 能够基于特定的应用过滤指标,需要为 Dashboard 增加必要的应用过滤选项,包括业务系统和应用名称两个模板变量。回顾前面的章节,在完成了 APM-Prometheus 关联后,通过 OpenTelemetry API 写入的指标都额外增加了
apm_instance 和 apm_service_name 两个标签,分别代表 APM 业务系统 ID 以及应用名。通过这两个标签就能非常方便的为 Dashboard 增加必要的模板变量。2.1 前往 Dashboard 列表,单击 Dashboard 名称进入创建好的 Dashboard,单击 Dashboard 上方的更多编辑,在弹出的下拉框中选择模板变量,单击新建。参考下图的配置项,就可以增加业务系统 ID 模板变量。请确保将变量名设置为
apm_instance,变量类型设置为查询(label_values),查询条件中包含唯一的标签 apm_instance:
2.2 接下来,参考下图的配置项,就可以增加应用名称模板变量。请确保将变量名设置为
apm_service_name,变量类型设置为查询(label_values),查询条件中包含唯一的标签 apm_service_name。
2.3 完成了所有设置以后,再次检查 Dashboard 中是否包含如下4个必要的模板变量。

3. 在图表的 PromQL 语句中,增加业务系统 ID 和应用名称过滤条件。
在如下 HTTP 请求数图表中,PromQL 语句为
sum by(method) (irate(http_request_total{apm_instance="$业务系统",apm_service_name="$应用名称"}[5m])),这样就能够基于业务系统 ID 和应用名称过滤数据。配置完成之后,检查图表能否正确的展示,并检查业务系统和应用名称这2个过滤条件是否能正常工作。


4. 在应用详情中查看内嵌的 Dashboard。
前往 APM 控制台 > 应用列表,选择关联了 Dashboard 的应用后,就能看到 Dashboard 标签页,在此标签页中, 将以内嵌的方式展示 Dashboard。由于 Prometheus 地域、Prometheus 实例、业务系统 ID、应用名称这4个必要的模板变量都已经自动指定,所以在内嵌的视图中,这4个过滤条件是隐藏的。如果多个应用关联了同一个 Dashboard,通过切换不同应用,就能够方便的查看每个应用的 HTTP 请求数情况。


至此,就已经完成了 APM 与 Dashboard 关联的全部步骤。
说明:
对于没有使用 Prometheus 数据源的 Dashboard,同样可以实现 APM 与 Dashboard 关联,通过内嵌的方式在应用详情中展现 Dashboard 图表。虽然系统无法自动填入应用相关的过滤条件,但在特定的场景中,这样的用法也能很好的结合 APM 以及 Dashboard 的能力,为用户带来更便捷的使用。