将Prometheus数据投递至自建Prometheus实例

如果您已有自建的Prometheus实例,需要将当前云上的Prometheus数据导入至自建实例,或者需要对云上云下的多个Prometheus实例集中管理,您可以使用数据投递功能。通过Remote Write方式将Prometheus数据投递至自建Prometheus实例,可以帮助您统一管理多个Prometheus实例以及查询和存储指标。

前提条件

使用限制

  • 选择阿里云Prometheus作为投递目标时,不支持免费实例类型。

  • 支持数据投递的数据源列表。

    实例类型

    说明

    Prometheus for 云服务

    除cloud-product-prometheus名称开头的免费实例

    Prometheus for 容器服务

    Prometheus for 应用监控

    Prometheus for Flink Serverless

    Prometheus for Kubernetes

    通用

    除通过OpenTelemetry地址上报上来的数据

  • 选择专有网络进行数据投递时,如果Prometheus实例所在VPC与目标VPC不在同一个,您需要保证目标VPC内的vSwitch的IP已加入Prometheus实例的白名单中,否则会导致网络不通。vSwitch的网段信息可以在专有网络控制台的交换机详情页面获取。444.jpg

步骤一:创建投递任务

  1. 登录Prometheus控制台

  2. 在左侧导航栏,单击数据投递

  3. 数据投递页面,单击顶部菜单栏选择目标地域,然后单击新建任务

  4. 在对话框中输入任务名称任务描述后,单击确定

  5. 任务编辑页面,配置数据源和投递目标。

    1. 单击+ 添加数据源,配置以下参数,然后单击确定

      配置项

      说明

      示例

      Prometheus实例

      被投递的Prometheus数据源。

      c78cb8273c02*****

      数据过滤

      设置需要过滤的指标标签,支持正则表达式。多个条件需要换行,条件需要同时满足,才会投递。

      __name__=AliyunEcs_CPUUtilization|AliyunEcs_memory_usedutilization
      regionId=cn-hangzhou
      id=i-2ze0mxp.*
    2. 单击添加目标,选择目标类型Prometheus Remote Write,请按照表单所需填写其余信息(支持external_labels设置),然后单击确定

  6. 配置完成后,在任务编辑页面,单击确定,然后单击保存创建投递任务。

步骤二:配置Prometheus Remote Write地址以及鉴权

Prometheus类型

地址获取方式

要求

阿里云Prometheus

请参见使用Remote Read地址以实现自建Prometheus访问云上Prometheus数据

选择Basic Auth认证方式,填入有相关权限的AccessKey。具体操作,请参见查看RAM用户的AccessKey信息

自建Prometheus

请参见开源版Prometheus文档

  • 自建Prometheus的版本为2.39以上版本。

  • 需配置out_of_order_time_window,具体操作,请参见官方promlabs文档

  • 启动参数需配置--web.enable-remote-write-receiver,具体操作,参见feature_flags

步骤三:配置网络

Prometheus类型

网络模式

网络要求

阿里云Prometheus

公网

专有网络

选择同地域的VPC网络,并且配置Prometheus Remote Write地址为阿里云Prometheus内网地址。

自建Prometheus

公网

专有网络

请选择自建Prometheus实例所在的VPC,并确保您填写的Prometheus Remote Write地址在该VPC、交换机和安全组内可访问。

说明

Prometheus使用负载均衡的方式暴露服务。更多信息,请参见Service快速入门

步骤四:结果验证

  1. 登录Prometheus控制台

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

  3. 单击目标Prometheus实例名称,然后在左侧导航栏单击服务发现

  4. 指标页签,搜索并查询数据源实例的指标是否同步至该目标Prometheus实例。