1、简介

flink官方支持多种采集metrics的方式,采用prometheus PushGateway的方式采集flink 任务的metrics(参照flink官网)

2、安装pushgateway

pushgateway-1.4.2.linux-amd64.tar.gz
配置systemd文件
[Unit]
Description=Pushgateway
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
ExecStart=/usr/local/bin/pushgateway \                                                  
    --persistence.file=/data/prometheus/pushgateway-metric.store \   #指定持久化文件路径
    --persistence.interval=1m \                                                                  #刷新到持久化文件的间隔
    --log.level=debug
[Install]
WantedBy=multi-user.target

3、flink配置

flink提交任务的时候添加参数,指定pushgateway的地址即可
metrics.reporter.promgateway.factory.class: org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporterFactory  # 指定metrics上报方式
metrics.reporter.promgateway.hostUrl: http://localhost:9091 # pushgateway 地址
metrics.reporter.promgateway.jobName: myJob # job名称,所有metrics里label "job" 会显示为此名称
metrics.reporter.promgateway.randomJobNameSuffix: true 
metrics.reporter.promgateway.deleteOnShutdown: false # 当任务关闭时,是否清空pushgateway里缓存的数据
metrics.reporter.promgateway.groupingKey: k1=v1;k2=v2 # 此job上报的所有metrics的都会添加k1=v1,k2=v2的label
metrics.reporter.promgateway.interval: 60 SECONDS # metrics上报频率