创建数据投递任务

更新时间:
复制为 MD 格式

当您需要将某Prometheus实例的监控数据导出,进行自定义业务处理时,可以使用Prometheus数据投递功能,将Prometheus实例数据投递至云消息队列Kafka版或云原生大数据计算服务(MaxCompute)处理。您可以根据业务需求,选择相应的投递目标。本文介绍如何创建数据投递任务。

前提条件

注意事项

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

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

    实例类型

    说明

    Prometheus for 云服务

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

    Prometheus for 容器服务

    Prometheus for Flink Serverless

    Prometheus for Kubernetes

    通用

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

  • 仅支持从创建任务开始后的实时数据导出,不支持历史数据的投递。

操作步骤

  1. 登录云监控2.0控制台,选择目标工作空间,在左侧导航栏选择所有功能 > 运维监控 > Prometheus服务

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

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

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

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

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

      配置项

      说明

      示例

      Prometheus 实例

      被投递的Prometheus数据源。

      c78cb8273c02*****

      数据过滤

      支持黑名单和白名单机制,过滤规则支持正则表达式,多个条件之间是 and 的关系,留空表示投递所有指标。

      • 只投递 AliyunEcs_CPUUtilizationAliyunEcs_memory_usedutilization。

        白名单规则:__name__=AliyunEcs_CPUUtilization|AliyunEcs_memory_usedutilization

      • 只投递指标名前缀为AliyunEcs_的指标且regionId=cn-hangzhou的指标

        白名单规则:__name__=AliyunEcs_*

        regionId=cn-hangzhou

      • 不投递 label 为 project=abc 的指标

        过滤机制:黑名单规则:project=abc

      数据打标

      设置需要新增的标签,支持对投递的指标数据新增多个label。如果存在多个,则换行。

      deliver_test_key1=ssss
      deliver_test_key2=yyyy
    2. 单击添加目标,根据投递类型配置投递目标,重试区域建议使用默认配置。

  6. 配置完成后,在任务编辑页面单击保存

  7. 新创建的投递任务为未启动状态,在任务详情页面,单击右上角的开启,即可开始投递任务。投递任务启动后,数据经过2~5分钟的延迟即可到达投递目标。

  8. 在目标 Prometheus 实例中查询投递的指标,来确认是否投递成功。若2~5分钟后仍查询不到指标,可在任务详情的监控大盘中查看投递任务的监控指标或在错误日志中开启错误日志对投递任务进行观测,排查原因。

数据示例

为使Prometheus监控数据适用于其他阿里云产品,数据投递功能会将传统指标数据转化为JSON格式的数据。

  • Prometheus监控数据:

    http_requests_total{method="POST", handler="/api/tracks"} 1027 1609459200000
  • 转化为JSON格式数据:

    {
    	"__name__": "http_requests_total",
    	"method": "POST",
    	"handler": "/api/tracks",
    	"value": 1027,
    	"timestamp": 1609459200000
    }