查询指标并为Grafana配置数据源

可观测监控 Prometheus 版提供了多场景的指标数据查询方式,本文介绍通过控制台查询数据、通过Prometheus HTTP API获取数据、自建Grafana配置Prometheus数据源、自建Prometheus配置Remote Read地址四个场景。

前提条件

已开通可观测监控 Prometheus 版,请确保您至少连接了一个组件。具体操作,请参见接入组件管理

通过控制台查询数据

  1. 登录ARMS控制台

  2. 在左侧导航栏,单击接入管理

  3. 接入管理页面,单击已接入环境页签,选择目标环境,然后单击目标环境名称进入详情页面。

    image

  4. 在详情页面,单击指标探索页签。

  5. Explore区域,输入Metric名称并在Labels文本框添加键值对,然后单击页面右上角Run query进行查询。

    image

    说明
    • image区域可以选择查询的时间范围,默认查询一小时内的数据。

    • 单击+ Operations,可以添加PromQL内置函数,例如sum()、irate()、absent()等。使用方法,请参见开源版Prometheus官方文档

    • 单击Code可以切换至PromQL语句输入模式,PromQL语法请参见开源版Prometheus官方文档

通过Prometheus HTTP API获取数据

步骤一:获取HTTP API地址

  1. 登录ARMS控制台

  2. 在左侧导航栏选择Prometheus监控 > 实例列表,进入可观测监控 Prometheus 版的实例列表页面。

  3. 在顶部菜单栏选择Prometheus实例所属的地域,然后在实例列表页面单击目标实例操作列的设置

  4. 设置页签的HTTP API地址(Grafana 读取地址)的区域,按需获取公网内网HTTP API地址。

    image

    说明

    如果您需要提高数据读取的安全性,可以单击生成token,获取Prometheus实例的鉴权Token。生成Token后,发起HTTP请求时必须配置Token,否则无法读取Prometheus的监控数据。

步骤二:请求HTTP API地址

获取Prometheus监控数据的请求示例如下,更多使用HTTP API获取Prometheus监控数据的操作,请参见开源版Prometheus文档

说明
  • {HTTP API} {Token} 请替换为步骤一获取的HTTP APIToken。

  • {PromQL}请替换为需要查询的PromQL。

请求示例如下:

curl -H "Authorization:{Token}" "{HTTP API}/api/v1/query?query={PromQL}&time=1709171676&timeout=1000"

为自建Grafana配置Prometheus数据源

步骤一:获取Prometheus server URL地址

获取Prometheus server URL地址的详细步骤,请参见步骤一:获取HTTP API地址

步骤二:为自建Grafana添加数据源

说明

本文以自建10.0.x版本的Grafana为例进行说明。

  1. 以管理员账号登录自建Grafana

    说明

    初次登录自建Grafana,账号和密码都是admin,登录成功之后会弹出修改密码的对话框,请您修改Grafana的初始密码。

  2. 登录成功后,单击页面左上角的image图标。

  3. 在左侧导航栏,单击Configuration。然后在页面左侧,单击Data Sources

  4. Data sources页面,单击Add data source

  5. Add data source页面,单击Prometheus

  6. 单击Settings页签,在name文本框自定义您的大盘名称,在HTTP区域的Prometheus server URL输入框输入您在步骤一:获取Prometheus server URL地址中获取的URL。

    image

    说明

    如果您单击生成了token,还需要在Custom HTTP Headers区域单击+ Add header,设置HeaderAuthorization,设置Value步骤一:获取Prometheus server URL地址中生成的鉴权Token。

  7. 单击页面底部的Save & test进行保存。

步骤三:结果验证

  1. 以管理员账号登录自建Grafana

  2. 登录成功后,单击页面左上角的image图标,然后在左侧导航栏单击Dashboards

  3. Dashboards页面右上角单击New,然后在下拉菜单中选择New dashboard

  4. 单击+ Add visualization,在弹出的Select data source页面选择您自定义命名的数据源。

  5. A区域的Metrics字段输入指标名称并按回车。如果能显示出相应指标的图表,则说明操作成功。

    image

    说明

    如果未能显示出相应指标的图表,则说明操作失败,请检查填写的接口地址或鉴权Token是否正确,以及Prometheus数据源是否有监控数据。

为自建Prometheus配置Remote Read地址

使用限制

可观测监控 Prometheus 版Remote Read接口暂不支持HTTP/2。

步骤一:获取Remote Read地址

  1. 登录ARMS控制台

  2. 在左侧导航栏选择Prometheus监控 > 实例列表,进入可观测监控 Prometheus 版的实例列表页面。

  3. 在顶部菜单栏选择Prometheus实例所属的地域,然后在实例列表页面单击目标实例操作列的设置

  4. 进入页面后,单击设置页签,按需获取公网内网Remote Read 地址

    image

步骤二:配置Remote Read地址

  1. 下载开源版Prometheus,下载地址,请参见Prometheus官方网站

  2. 解压Prometheus安装包。

  3. 打开Prometheus的配置文件prometheus.yml,并在文件末尾增加以下内容,将remote_read.url替换为步骤一中获取的Remote Read地址,然后保存并启动开源Prometheus服务。

    remote_read:
      # 替换 ARMS Prometheus Remote Read 地址
      - url: "http://xx-xxx.aliyuncs.com:9443/xxx/api/v1/read"
        read_recent: true

步骤三:在开源Prometheus查看可观测监控 Prometheus 版数据

浏览器访问http://localhost:9090,在image.png文本框中输入指标名称,单击页面右侧的Execute就可以远程读取到可观测监控 Prometheus 版的监控数据。

image