Prometheus+Grafana监控flink任务指标

Prometheus+Grafana监控flink任务指标

前期准备

Prometheus 是一款基于时序数据库的开源监控告警系统,由go语言开发,Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。

Grafana 是一款采用Go语言编写的开源应用,前端由React框架开发,是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。

Pushgateway 是 Prometheus 生态系统中的一个组件,它的设计目的是允许任务将指标数据推送到 Pushgateway,然后由 Prometheus 从 Pushgateway 中拉取这些数据。

这里对 Pushgateway 的安装作简要介绍:

Pushgateway 安装

下载安装包

下载 pushgateway,下载地址如下:

https://github.com/prometheus/pushgateway/releases

解压安装

解压文件

tar -zxvf pushgateway-1.10.0.linux-amd64.tar.gz -C /opt/

mv pushgateway-1.10.0.linux-amd64/ pushgateway
启动pushgateway
nohup ./pushgateway > pushgateway_run.log 2>&1 &

ss -lntp | grep <pid>  # 默认端口9091
LISTEN     0      32768     [::]:9091                  [::]:*                   users:(("pushgateway",pid=27981,fd=3))

常用启动选项,Pushgateway 支持多种启动选项,可以通过命令行参数来配置它的行为。以下是一些常用的选项:

  • --web.listen-address: 指定 Pushgateway 监听的地址和端口。默认是 :9091

    ./pushgateway --web.listen-address=":9091"
    
  • --web.telemetry-path: 指定 Prometheus 抓取指标的路径。默认是 /metrics

    ./pushgateway --web.telemetry-path="/metrics"
    
### 配置 PrometheusGrafana 实现 Flink监控 #### 安装与配置 Prometheus 为了实现对 Flink 的有效监控Prometheus 是核心组件之一。由于 Flink on YARN 作业的动态特性,直接由 Prometheus 抓取数据存在挑战。因此引入了 PushGateway 中间件来解决这一问题。 - **安装 Prometheus** 下载并解压官方提供的二进制文件即可完成安装过程[^1]。 - **配置 Prometheus** 编辑 `prometheus.yml` 文件,在 scrape_configs 节点下添加针对 PushGateway 数据源的抓取规则: ```yaml scrape_configs: - job_name: 'pushgateway' static_configs: - targets: ['localhost:9091'] ``` 此设置使得 Prometheus 可以定期从指定地址获取推送过来的数据。 #### 使用 PushGateway 收集临时性度量指标 对于像 Flink 这样的批处理或流处理框架来说,其任务可能具有短暂生命周期的特点。此时可以通过修改 Flink 应用程序代码,使其能够向 PushGateway 发送自定义 Metrics;或者利用 Flink 提供的内置 Metric Reporter 功能指向 PushGateway 地址。 当应用程序结束运行之后,这些短期存在的 Metrics 不会立即消失而是继续存在于 PushGateway 上等待被采集[^3]。 #### 安装与配置 Grafana Grafana 主要用于可视化展示收集到的各种性能指标信息。 - **下载与启动 Grafana** 访问镜像站点加速下载速度,并按照常规方式启动服务进程[^2]: ```bash nohup ./bin/grafana-server web & ``` 默认情况下监听于本地 3000 端口上提供 Web UI 接入支持,默认用户名密码均为 admin。 - **连接至 Prometheus 数据源** 登录后进入 Data Sources 页面新增一个名为 "Prometheus" 类型的选择项,填入之前部署好的 Prometheus Server URL 即可建立关联关系。 - **创建仪表板** 导入预先设计好适用于 Flink 监控场景下的模板化面板布局方案(例如 ID 为 11049),这样就能快速获得一组合理的视图组合来进行日常运维管理操作了。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值