当前位置: 首页 > news >正文

大数据-218 Prometheus 插件 exporter 与 pushgateway 配置使用 监控服务 使用场景

点一下关注吧!!!非常感谢!!持续更新!!!

目前已经更新到了:

  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(已更完)
  • Spark(已更完)
  • Flink(已更完)
  • ClickHouse(已更完)
  • Kudu(已更完)
  • Druid(已更完)
  • Kylin(已更完)
  • Elasticsearch(已更完)
  • DataX(已更完)
  • Tez(已更完)
  • 数据挖掘(已更完)
  • Prometheus(正在更新…)

章节内容

上节我们完成了如下的内容:

  • Prometheus 安装配置
  • 启动服务
  • 监控服务

在这里插入图片描述

官方网站

目前我们需要安装 exporter,我们的机器是 Rocky Linux,当然其他类 CentOS 也可以,我们需要用 node_exporter 来提供监控。
这里 Prometheus 已经提供好了:

https://prometheus.io/download/

页面需要往下滚动,找到对应的内容:
在这里插入图片描述

下载配置

cd /opt/software
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz

执行结果如下图所示:
在这里插入图片描述

解压配置

cd /opt/software
tar -zxvf node_exporter-1.8.2.linux-amd64.tar.gz
mv node_exporter-1.8.2.linux-amd64 ../servers/

部分内容如下图所示:
在这里插入图片描述

启动服务

 cd /opt/servers/node_exporter-1.8.2.linux-amd64./node_exporter

执行结果如下图所示:
在这里插入图片描述

访问服务

我们访问刚才的 targets,可以看到 h121-wzk-icu 已经 UP 了:

在这里插入图片描述

PushGateway

基本介绍

Prometheus Pushgateway 是一个用于帮助 Prometheus 监控短期任务和批处理任务的组件。在 Prometheus 的原生拉取模型中,它通常通过定期从各服务中“拉取”指标。然而,对于一些存在于短时间内的工作任务或批处理任务,比如脚本或批处理作业,它们可能在 Prometheus 下一次拉取前就已经完成并消失了,这种模型不适用。因此,Prometheus 提供了 Pushgateway 作为这些短暂任务的解决方案。

综上,PushGateway 是 Prometheus 生态中的一个重要的工具,使用它的主要原因是:

  • Prometheus 采用 PULL 模式,可能由不再一个子网或者防火墙的原因,导致 Prometheus无法直接拉去各个 Target 数据
  • 在监控业务数据的时候,需要将不同数据汇总,由 Prometheus 统一收集。

由于以上的原因,不得不使用 PushGateway,但在使用之前,有必要了解一下弊端:

  • 将多个节点数据汇总到 PushGateway,如果它挂了,受到影响节点比多个 Target 大。
  • Prometheus 拉去状态 UP 只针对 PushGateway,无法做到对每个节点都生效
  • PushGateway 可以持久化推送给它的所有监控数据

Pushgateway 允许应用程序将数据主动推送到一个中介,之后 Prometheus 可以从中提取数据并存储到时间序列数据库中。这对短期的、瞬态的批处理任务特别有用,例如:

  • 定期运行的批处理任务(如夜间作业)
  • 编译和打包任务
  • 自动化的备份任务
  • 临时的数据库迁移脚本等

因此,即使你的监控已经下线,Prometheus 还会拉取旧的监控数据,需要手动清理 PushGateway 不要的数据。

工作流程

  • 任务或批处理作业启动:任务或作业在运行过程中生成指标数据。
  • 推送到 Pushgateway:在作业结束时,作业将指标推送到 Pushgateway。
  • Prometheus 拉取数据:Prometheus 定期从 Pushgateway 拉取数据,记录在数据库中。
  • 显示在监控系统:指标数据可以在 Grafana 等监控系统中进行展示和分析。

注意事项

  • 持久性问题:Pushgateway 默认不持久化数据,重启后数据会丢失。可以使用磁盘持久化来保存指标。
  • 数据过时问题:Pushgateway 适合单次批量数据推送,而不是长期的服务健康监测。如果批处理任务没有新的数据推送,Prometheus 也不会自动将旧数据删除,可能会导致监控面板显示过时数据。因此,推荐通过 push_time_seconds 标签来跟踪数据的推送时间。
  • 避免泛用:Pushgateway 适用于短期任务,不建议用于长期任务监控,否则可能造成数据过时以及系统负担。

拓扑图

对应的拓扑图如下:
在这里插入图片描述

官方地址

https://prometheus.io/download/#pushgateway/

对应的内容如下图所示:
在这里插入图片描述

下载配置

cd /opt/software
wget https://github.com/prometheus/pushgateway/releases/download/v1.10.0/pushgateway-1.10.0.linux-amd64.tar.gz

执行结果如下图所示:
在这里插入图片描述

解压配置

cd /opt/software
tar -zxvf pushgateway-1.10.0.linux-amd64.tar.gz
mv pushgateway-1.10.0.linux-amd64 ../servers/

对应的内容如下所示:
在这里插入图片描述

配置服务

cd /opt/servers/pushgateway-1.10.0.linux-amd64

我们需要将 pushgateway 放置到 Prometheus 中:

cp pushgateway ../prometheus-2.53.2.linux-amd64/
chmod +x pushgateway

此外,我们还需要修改配置文件:

vim prometheus.yml

将 pushgateway 配置进去:(如果你之前跟着上文配置了, 这里就不需要了,已经配置过了)

  - job_name: "wzk-icu-grafana"static_configs:- targets: ["h121.wzk.icu:9091"]

对应的内容如下所示:
在这里插入图片描述

使用场景

  • CI/CD 流程中的指标监控:Pushgateway 可以在 Jenkins、GitLab CI 等工具的管道中用于推送编译、测试、发布的状态数据。
  • 自动化脚本和批处理任务:自动化作业完成后推送成功或失败状态,便于实时跟踪系统作业执行情况。
  • 批量数据处理作业:批处理工作如 Spark、Flink 等完成特定任务后,将关键的作业数据推送到 Pushgateway,确保执行的详细状态能够被监控到。

Pushgateway 是 Prometheus 中一个重要的扩展工具,适合短期作业和批处理任务的监控。它不适合长期监控使用,但在大规模数据处理或 DevOps 场景中,Pushgateway 可以确保 Prometheus 捕获到所有任务数据,并提升监控的覆盖率和有效性。


http://www.mrgr.cn/news/70216.html

相关文章:

  • 探索Python的HTTP利器:Requests库的神秘面纱
  • Qt 正则表达式提取文件中的 USB 设备 ID
  • 【MySQL 保姆级教学】事务的隔离级别(详细)--下(13)
  • Apache ECharts
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发十三:将AVFrame转换成AVPacket。视频编码原理.编码相关api
  • Linux故障排查中常用的命令
  • HyperWorks进阶教程:OptiStruct材料和分析类型
  • 个人图书馆
  • 【A+B】
  • hive分区表
  • 学习threejs,导入STL格式的模型
  • 美国All氧气传感器PSR-12-223在厌氧培养箱微量氧监控的应用
  • 浅谈PostGIS中的抽稀技术——实现高效空间数据可视化的关键
  • 计算机毕业设计 | springboot+vue汽车修理管理系统 汽修厂系统(附源码)
  • 右值引用——C++11新特性(一)
  • 量化交易系统开发-实时行情自动化交易-3.4.1.7.A股大资金动力指标
  • 古城焕新颜!苏州金龙新V系客车加速赋能丽江文旅品质升级
  • 详解MySQL安装
  • tomcat与servlet版本对应关系
  • 华为OD机试 - 幸运数字(Java 2024 E卷 100分)
  • 图神经网络实战(20)——时空图神经网络
  • ORB-SLAM2源码学习:Frame.cc: Frame::isInFrustum 判断地图点是否在当前帧的视野范围内
  • 【昱合昇天窗】电动采光排烟天窗功率
  • Python 列表:数据处理的强大工具
  • NX/UG 二次开发 获取注释信息
  • Redis 入门