可观测监控 Prometheus 版提供了HTTP API地址,以便您在Grafana中接入Prometheus监控数据,或在二次开发过程中通过Prometheus API获取监控数据。
前提条件
已接入Prometheus,具体操作,请参见:
步骤一:获取HTTP API地址
-
登录云监控控制台,在左侧导航栏选择Prometheus 监控 - 实例列表,进入实例列表页面。
-
在页面顶部菜单栏选择Prometheus实例所在的地域,并在目标集群右侧的操作列单击设置。
-
在设置页签上,根据需求复制公网或内网的HTTP API地址。

-
对于V1版本的Prometheus实例,如果您需要提高Grafana数据读取的安全性,可以单击生成token,获取Prometheus实例的鉴权Token。
重要-
V1版本:生成Token后,在Grafana中添加数据源时必须配置Token,否则无法读取Prometheus的监控数据。
-
V2版本:默认必须使用账号的AcessKey和SecretKey才能访问数据,且AcessKey 所属的RAM 用户需拥有AliyunPrometheusMetricReadAccess 或 AliyunCloudMonitorFullAccess 系统角色权限。
-
步骤二:在Grafana中添加数据源
在自建Grafana中添加数据源
此处以10.x版本Grafana为例,其他版本Grafana添加数据源的操作请参见Grafana官方文档。
-
配置Grafana数据源。
-
以管理员账号登录自建Grafana。
-
单击页面左上角的
图标,然后选择管理 - 数据源。 -
单击+ Add new data source,然后选择数据源类型为Prometheus。
-
在Settings页签的Name字段中输入自定义的名称,在Prometheus server URL字段中粘贴上文步骤一获取的HTTP API地址。
-
设置安全增强。
V1版本(可选)
单击+ Add header,在Custom HTTP Headers区域单击+Add header,设置Header为Authorization,设置Value为步骤一获取的鉴权Token。

V2版本
打开Basic auth,并设置User为用户的AccessKey,设置Password为用户的SecretKey。

-
-
单击页签底部的Save & Test。
-
查询Prometheus指标。
-
登录本地Grafana系统。
-
单击页面左上角的
图标,然后在左侧导航栏中单击Dashboards, -
单击Dashboards页面右侧的New,然后在下拉菜单中单击New dashboard。
-
单击+ Add visualization,在Select data source页面选择您创建的数据源。
-
在Edit Panel页面的Query页签下的A区域的Metrics字段和Label filters字段中输入指标名称和值,单击Run queries进行查询。
如果能显示出相应指标的图表,则说明操作成功。否则请检查填写的接口地址或Token是否正确,以及数据源是否有Prometheus的监控数据。

-
在可观测可视化 Grafana 版中集成数据源
阿里云可观测可视化 Grafana 版支持一键集成Prometheus数据源和大盘。
-
在ARMS控制台的Grafana服务 - 工作区管理页面单击工作区ID。
-
在工作区信息页面的云服务集成区域单击Prometheus监控服务,然后在对应实例右侧单击集成。
-
在弹出的对话框中单击确认。
如果本次操作涉及的Prometheus实例为V2版本,请填写数据源访问AccessKey。
-
同步完成后,单击右侧的文件夹。
-
在Grafana的Dashboards页签单击大盘名称可以查看应用监控预置的默认大盘。
-
单击页面左上角的
图标,然后选择管理 - 数据源,可以查看已添加的应用监控数据源。 -
查询Prometheus指标。
-
登录本地Grafana系统。
-
单击页面左上角的
图标,然后在左侧导航栏中单击Dashboards, -
单击Dashboards页面右侧的New,然后在下拉菜单中单击New dashboard。
-
单击+ Add visualization,在Select data source页面选择您创建的数据源。
-
在Edit Panel页面的Query页签下的A区域的Metrics字段和Label filters字段中输入指标名称和值,单击Run queries进行查询。
如果能显示出相应指标的图表,则说明操作成功。否则请检查填写的接口地址或Token是否正确,以及数据源是否有Prometheus的监控数据。

-
步骤三:获取Prometheus监控数据
调用Prometheus监控数据的请求示例如下。更多使用HTTP API获取Prometheus监控数据的操作,请参见开源版Prometheus HTTP API。
V1版本
GET {HTTP API}/api/v1/query
Accept: application/json
Content-Type: application/json
Authorization: {Token}
{
"query":"arms_prometheus_target_interval_length_seconds_sum",
"time":"1635302655",
"timeout":"1000"
}
{HTTP API}和{Token}请替换为上文步骤一获取的HTTP API和鉴权Token。
V2版本
GET {HTTP API}/api/v1/query
Accept: application/json
Content-Type: application/json
Authorization: Basic <base64Encode(<accessKey:secretKey>)>
{
"query":"arms_prometheus_target_interval_length_seconds_sum",
"time":"1635302655",
"timeout":"1000"
}
返回示例:
