文档

将Prometheus数据投递至大数据计算服务MaxCompute

更新时间:

当您需要将某个Prometheus实例的数据导出,进行自定义业务处理时,可以使用Prometheus数据投递功能,将Prometheus实例数据投递至大数据计算服务MaxCompute处理。MaxCompute能帮助您结合其他的数据源执行大数据计算服务,加工后用于报表分析等。

前提条件

费用说明

数据投递至MaxCompute时将创建函数计算 FC(Function Compute)服务,服务名前缀为{task_name}_SINK_FC_TO_MAXCOMPUTE,由函数计算 FC(Function Compute)将数据写入MaxCompute中,因此将收取函数计算服务费用。数据会攒批后发送给函数计算 FC(Function Compute),因此调用函数计算 FC(Function Compute)次数越少,产生的相关费用越少。您可以登录函数计算控制台查看当前FC资源状态。

步骤一:准备MaxCompute资源

  1. 根据MaxCompute文档,任意选择一种方式连接至MaxCompute项目。具体操作,请参见连接至MaxCompute

  2. 确定表结构:设置表结构的列名与Prometheus数据标签名保持一致。若表的列名找不到对应的标签值,那么该列会被写入NULL值。当存在多种指标数据时,表列名应该是这些指标标签名的并集

假设您导出的指标为以下的两种:

指标示例一

{
	"__name__": "metric1",
	"cluster_id": "***",
	"host": "***",
	"node_id": "***",
	"job": "***",
	"value": 347.51300048828125,
	"timestamp": 1703211584056
}

指标示例二

{
	"__name__": "metric2",
	"cluster_id": "***",
	"job": "***",
  "instance": "****",
  "cpu": "1",
	"value": 1.0,
	"timestamp": 1703211584056
}

您需要在MaxCompute中根据下面的例子创建SQL表。具体操作,请参见使用SQL分析

CREATE TABLE metric (
  __name__ 		VARCHAR(50) NOT NULL,
  cluster_id 	VARCHAR(50),
  host 				VARCHAR(50),
  node_id 		VARCHAR(50),
  job 				VARCHAR(50),
  instance 		VARCHAR(50),
  cpu 				VARCHAR(50),
  value 			DOUBLE,
  timestamp		BIGINT
);
说明

至少存在以下字段:__name__valuetimestamp,它们是Prometheus数据的基本标签。建议您根据业务需要构造表结构,并设置足量字段作为标签映射。若您丢失关键标签,表将收到大量内容重复的数据。

步骤二:创建投递任务

  1. 登录Prometheus控制台

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

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

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

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

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

      配置项

      说明

      示例

      Prometheus实例

      被投递的Prometheus数据源。

      c78cb8273c02*****

      数据过滤

      根据白名单或黑名单模式填入需要过滤的指标,通过Label筛选投递数据。

      支持正则表达式,多个条件换行,多个条件为且(&&)的关系。

      __name__=rpc.*
      job=apiserver
      instance=192.*

      攒批设置

      指数据量超过多大投递一次数据或者超过多久投递一次数据。设置为空时使用默认值,推荐使用默认值。

      100 MB

    2. 单击添加目标,选择目标类型云原生大数据计算服务 MaxCompute,请按照表单所需填写其余信息,然后单击确定

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

步骤三:验证数据被投递至MaxCompute

在SQL代码编辑框,输入以下SQL语句查询metric表中的数据,单击运行,在结果页签查看执行结果。

select * from metric limit 20;

  • 本页导读 (1)
文档反馈