Flink 接入

最近更新时间:2025-02-25 10:55:52

我的收藏

操作场景

在使用 Flink 过程中需要对 Flink 任务运行状态进行监控,以便了解 Flink 任务是否正常运行,排查 Flink 故障等。Prometheus 监控服务对 push gateway 做了集成,支持 Flink 写入 metrics,并提供了开箱即用的 Grafana 监控大盘。

前提条件

购买的腾讯云弹性 MapReduce(以下简称 EMR)产品包含 Flink 组件,并在实例上跑 Flink 任务。
使用与 EMR 相同的地域及私有网络 VPC 购买腾讯云 Prometheus 监控实例

操作步骤

产品接入

获取 PushGateway 访问地址

2. 进入 Prometheus 实例,根据 Pushgateway 接入 创建 Pushgateway。
3. 获取 PushGateway 地址。
1. 进入 弹性 MapReduce,选择并进入对应的“实例”,选择集群服务页面。
2. 找到 Flink 配置项,选择配置管理 > flink-conf.yaml,进入配置管理页面。
3. 在页面单击编辑配置 > 新增配置项,依次添加以下配置,更多信息请参见 官方文档
配置名
默认
类型
描述
建议
metrics.reporter.promgateway.class
字符串
实现 metrics 导出到 push gateway 的 Java 类名
org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporterFactory
metrics.reporter.promgateway.jobName
字符串
push 任务名
指定方便理解的字符串
metrics.reporter.promgateway.randomJobNameSuffix
true
布尔
是否在任务名后添加随机字符串
需设置为 true,如果不添加,Flink 任务间 metrics 会相互覆盖
metrics.reporter.promgateway.groupingKey
字符串
添加到每个 metrics 的全局 label,格式为 k1=v1;k2=v2
添加 EMR 实例 ID 方便区分不同实例的数据,例如 instance_id=emr-xxx
metrics.reporter.promgateway.interval
时间
推送 metrics 的时间间隔,例如30秒
建议设置在1分钟左右
metrics.reporter.promgateway.hostUrl
字符串
push gateway 的服务地址
控制台上 prometheus 实例的服务地址
metrics.reporter.promgateway.deleteOnShutdown
true
布尔
Flink 任务执行完后是否删除 push gateway 上对应的 metrics
设置为 true
配置示例如下:
metrics.reporter.promgateway.class: org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter
metrics.reporter.promgateway.jobName: my-job
metrics.reporter.promgateway.randomJobNameSuffix: true
metrics.reporter.promgateway.interval: 60 SECONDS
metrics.reporter.promgateway.groupingKey: instance_id=emr-xxxx
metrics.reporter.promgateway.hostUrl: http://xx:8080

查看监控

1. 登录 Prometheus 监控,选择并进入对应 Prometheus 实例。
2. 选择数据采集 > 集成中心,在集成中心中找到 Flink 监控,在 Dashboard 页面单击安装/升级即可开启 Flink 监控大盘。
3. 进入 Grafana,单击

展开 Flink 监控面板。


4. 单击 Flink Job List 查看监控。


5. 单击表格中的 Job 名Job ID 列值,查看 Job 监控详情。


6. 单击右上角的 Flink 集群,查看 Flink 集群监控。


7. 单击表格中的 Task 名列值,查看 Task 监控详情。



告警接入

2. 在左侧菜单栏中单击 Prometheus 监控,选择对应 Prometheus 实例进入管理页面。
3. 选择告警管理 > 告警策略,单击新建告警策略可以添加相应的告警策略,详情请参见 新建告警策略