Prometheus flinkjob metrics采集方法说明

本文介绍了如何使用Prometheus的pushgateway组件采集Flink的数据,包括在Flink-conf.yaml中配置reporter,修改prometheus.yml,以及在任务提交时的参数设置。此外,还提到了通过mysql数据库进行数据采集的配置方法。
摘要由CSDN通过智能技术生成

1.通过Prometheus采集数据

建议先阅读hadoop metrics采集方法说明_枫叶小山的博客-CSDN博客

1.1 pushgateway组件安装 

  1. 获取安装包 pushgateway-1.4.3.linux-amd64.tar.gz
  2. 解压安装包 tar -xvf prometheus.tar -C 自定义路径
  3. 跳转到对应解压目录,启动pushgateway nohup ./pushgateway >> pushgateway .log &
  4. 访问服务器对应9091端口,如果能正常访问则安装成功

  1. 在flink-conf.yaml尾部追加以下配置:

    metrics.reporter.promgateway.class: org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter
    metrics.reporter.promgateway.host: ip (pushgateway 安装服务器信息)
    metrics.reporter.promgateway.port: 9091
    metrics.reporter.promgateway.jobName: flink-** (自定义采集jobname)
    metrics.reporter.promgateway.randomJobNameSuffix: true  (是否随机生成jobname防止重复,默认true)
    metrics.reporter.promgateway.deleteOnShutdown: false (是否关闭连接时删除指标,默认false)

  2. 重启flink:
    cd $FLINK_HOME/bin
    ./stop-cluster.sh
    ./start-cluster.sh

1.2 修改prometheus.yml

  1. 在prometheus.yml尾部追加以下配置:

      - job_name: 'pushgateway-242'
        static_configs:
          - targets: ['10.32.122.242:9091']

  2. 重启prometheus。

1.3 提交任务

  1. 如果是本地localhost提交,需要在main方法中添加以下参数
    config.put("metrics.reporter.promgateway.class","org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter");
    config.put("metrics.reporter.promgateway.host", "");
    config.put("metrics.reporter.promgateway.port", "");
    config.put("metrics.reporter.promgateway.jobName", "");
    config.put("metrics.reporter.promgateway.randomJobNameSuffix", "true");
    config.put("metrics.reporter.promgateway.deleteOnShutdown", "false");
    
    
  2. 在提交的json文件中的setting中增加如下配置

            "metricPluginConf" : {
              "pluginName": "prometheus"
            }      

1.3 采集后的数据如下

 

1.4 数据也会同步到Prometheus,示例如下,可以通过promQL查询

2.通过mysql数据库采集

2.1 提交的json文件中的setting中增加如下配置即可,表如果不存在程序会自动创建

  "metricPluginConf" : {
    "pluginName": "mysql",
    "pluginProp": {
      "jdbcUrl":"jdbc:mysql://ip:port",   (需要采集指标对应的数据库)
      "database":"database",                        (需要采集指标对应的库名)
      "schema":"schema",
      "table":"FLINK_METRICS",                            (需要采集指标对应的表名,可以自定义)
      "username":"username",
      "password":"password",
      "properties":{
      }
    }
  }

2.2 采集后的数据如下 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值