跳到主要内容
版本:Next

Prometheus

Prometheus 数据接收器

引擎支持

Spark
Flink
SeaTunnel Zeta

主要特性

描述

接收Source端传入的数据,利用数据触发 web hooks。

例如,来自上游的数据为 [label: {"__name__": "test1"}, value: 1.2.3,time:2024-08-15T17:00:00], 则body内容如下: {"label":{"__name__": "test1"}, "value":"1.23","time":"2024-08-15T17:00:00"}

Tips: Prometheus 数据接收器 仅支持 post json 类型的 web hook,source 数据将被视为 webhook 中的 body 内容。并且不支持传递过去太久的数据

支持的数据源信息

想使用 Prometheus 连接器,需要安装以下必要的依赖。可以通过运行 install-plugin.sh 脚本或者从 Maven 中央仓库下载这些依赖

数据源支持版本依赖
HttpuniversalDownload

接收器选项

NameTypeRequiredDefaultDescription
urlStringYes-Http 请求链接
headersMapNo-Http 标头
retryIntNo-如果请求http返回IOException的最大重试次数
retry_backoff_multiplier_msIntNo100http请求失败,重试回退次数(毫秒)乘数
retry_backoff_max_msIntNo10000http请求失败,最大重试回退时间(毫秒)
connect_timeout_msIntNo12000连接超时设置,默认12s
socket_timeout_msIntNo60000套接字超时设置,默认为60s
key_timestampIntNO-prometheus时间戳的key.
key_labelStringyes-prometheus标签的key
key_valueDoubleyes-prometheus值的key
batch_sizeIntfalse1024prometheus批量写入大小
flush_intervalLongfalse300000Lprometheus定时写入
common-optionsNo-Sink插件常用参数,请参考 Sink常用选项 了解详情

示例

简单示例:

env {
parallelism = 1
job.mode = "BATCH"
}

source {
FakeSource {
schema = {
fields {
c_map = "map<string, string>"
c_double = double
c_timestamp = timestamp
}
}
plugin_output = "fake"
rows = [
{
kind = INSERT
fields = [{"__name__": "test1"}, 1.23, "2024-08-15T17:00:00"]
},
{
kind = INSERT
fields = [{"__name__": "test2"}, 1.23, "2024-08-15T17:00:00"]
}
]
}
}


sink {
Prometheus {
url = "http://prometheus:9090/api/v1/write"
key_label = "c_map"
key_value = "c_double"
key_timestamp = "c_timestamp"
batch_size = 1
}
}

Changelog

2.3.8-beta 2024-08-22

  • 添加prometheus接收连接器