【prometheus】Pushgateway安装和使用

目录
一、Pushgateway概述
1.1 Pushgateway简介
1.2 Pushgateway优点
1.3 pushgateway缺点
二、测试环境
三、安装测试
3.1 pushgateway安装
3.2 prometheus添加pushgateway
3.3 推送指定的数据格式到pushgateway
1.添加单条数据
2.添加复杂数据
3.SDk-prometheus-client使用
【Prometheus】概念和工作原理介绍_prometheus工作原理-CSDN博客
【Prometheus】k8s集群部署node-exporter_kubectl 安装 promethues node-exporter-CSDN博客
【prometheus】k8s集群部署prometheus server-CSDN博客
【prometheus】k8s集群部署Grafana安装和配置|Prometheus监控K8S
【prometheus】k8s集群部署AlertManager实现邮件和钉钉告警-CSDN博客
【prometheus】监控MySQL并实现可视化-CSDN博客
【prometheus】监控nginx-CSDN博客
一、Pushgateway概述
1.1 Pushgateway简介
Pushgateway是prometheus的一个组件,prometheus server默认是通过exporter主动获取数据(默认采取pull拉取数据),pushgateway则是通过被动方式推送数据到prometheus server,用户可以写一些自定义的监控脚本把需要监控的数据发送给pushgateway, 然后pushgateway再把数据发送给Prometheus server。
1.2 Pushgateway优点
- Prometheus 默认采用定时pull 模式拉取targets数据,但是如果不在一个子网或者防火墙,prometheus就拉取不到targets数据,所以可以采用各个target往pushgateway上push数据,然后prometheus去pushgateway上定时pull数据
- 在监控业务数据的时候,需要将不同数据汇总, 汇总之后的数据可以由pushgateway统一收集,然后由 Prometheus 统一拉取。
1.3 pushgateway缺点
- Prometheus拉取状态只针对 pushgateway, 不能对每个节点都有效;
- Pushgateway出现问题,整个采集到的数据都会出现问题
- 监控下线,prometheus还会拉取到旧的监控数据,需要手动清理 pushgateway不要的数据。
二、测试环境
| IP | 主机名 |
| 192.168.2.139 | master1 |
| 192.168.40.140 | node1 |
三、安装测试
3.1 pushgateway安装
在node1节点操作
docker pull prom/pushgateway
docker run -d --name pushgateway -p 9091:9091 prom/pushgateway
在浏览器访问192.168.2.140:9091出现如下ui界面
3.2 prometheus添加pushgateway
修改prometheus-cfg.yaml文件
- job_name: 'pushgateway'scrape_interval: 5sstatic_configs:- targets: ['192.168.2.140:9091']honor_labels: true
更新
kubectl apply -f prometheus-alertmanager-cfg.yaml
kubectl delete -f prometheus-alertmanager-deploy.yaml
kubectl apply -f prometheus-alertmanager-deploy.yaml
登录prometheus http://192.168.2.139:30242/targets
3.3 推送指定的数据格式到pushgateway
1.添加单条数据
# 向 {job="test_job"} 添加单条数据:
echo " metric 3.6" | curl --data-binary @- http://192.168.2.140:9091/metrics/job/test_job
这里需要注意的是将<key & value>推送给pushgateway,curl --data-binary是将HTTP POST请求中的数据发送给HTTP服务器(pushgateway),和用户提交THML表单时浏览器的行为是一样的,HTTP POST请求中的数据为纯二进制数据。
prometheus web中查询

2.添加复杂数据
# 添加复杂数据
cat <<EOF | curl --data-binary @- http://192.168.2.140:9091/metrics/job/test_job/instance/test_instance
# TYPE node_memory_usage gauge
node_memory_usage 26
# TYPE memory_total gauge
node_memory_total 26000
EOF
这条连接主要分为三个部分:
- http://192.168.2.143:9091/metrics/job/test_job:这是URL的主location,发送到哪个URL
- job/test_job:表示是推送到哪个prometheus定义的job里面,上面我们定义的job_name为pushgateway
- instance/test_instance:表示推送后显示的主机名称是什么,从上面pushgateway图也可以看出

如下是删除某个实例
# 删除某个组下某个实例的所有数据
curl -X DELETE http://192.168.2.140:9091/metrics/job/test_job/instance/test_instance# 删除某个组下的所有数据:
curl -X DELETE http://192.168.2.140:9091/metrics/job/test_job
3.SDk-prometheus-client使用
python安装 prometheus_client
使用 pip 工具可以非常方便地安装 prometheus_client:
测试脚本
# -*- coding: utf-8 -*-# 导入所需的库
from prometheus_client import CollectorRegistry, Gauge, push_to_gatewayif __name__ == '__main__':# 定义和注册指标registry = CollectorRegistry()labels = ['req_status', 'req_method', 'req_url']g_one = Gauge('requests_total', 'url请求次数', labels, registry=registry)g_two = Gauge('avg_response_time_seconds', '1分钟内的URL平均响应时间', labels, registry=registry)# 收集和记录指标数据g_one.labels('200','GET', '/test/url').set(1) #set设定值g_two.labels('200','GET', '/test/api/url/').set(10) #set设定值# 推送指标数据到Pushgatewaypush_to_gateway('http://192.168.2.140:9091', job='SampleURLMetrics', registry=registry)
在这个示例中,我们定义了一个名为requests_total的指标,记录了一个值为1和10的示例数据,并将指标数据推送到了名为example_job的job中。
相关文章:
【prometheus】Pushgateway安装和使用
目录 一、Pushgateway概述 1.1 Pushgateway简介 1.2 Pushgateway优点 1.3 pushgateway缺点 二、测试环境 三、安装测试 3.1 pushgateway安装 3.2 prometheus添加pushgateway 3.3 推送指定的数据格式到pushgateway 1.添加单条数据 2.添加复杂数据 3.SDk-prometheus-…...
【无标题】vue webrtc 播放rtsp视频流
最近有个小活其中有涉及播放大华及海康摄像头视频流的需求,经调查发现可以使用webrtc来实现相关功能,记录一下,步骤如下: 1、下载webrtc :Releases mpromonet/webrtc-streamer GitHub winows下下载&…...
redis进阶--IDEA环境
目录 一、解决redis服务器端口问题 二、java环境下使用redis 三、javaSpringt环境下使用redis 四、redis持久化 1、持久化概念 2、redis持久化策略 3、RDB策略 4、AOF策略 5、混合持久化策略 五、redis事务 1、数据库事务 2、redis事务特点 3、redis事务的作用 4…...
Llama3-Tutorial之LMDeploy高效部署Llama3实践
Llama3-Tutorial之LMDeploy高效部署Llama3实践 Llama 3 近期重磅发布,发布了 8B 和 70B 参数量的模型,lmdeploy团队对 Llama 3 部署进行了光速支持!!! 书生浦语和机智流社区同学光速投稿了 LMDeploy 高效量化部署 Llam…...
SK Hynix 探索超低温技术,开启400层以上3D NAND制造新时代
随着存储技术的飞速发展,SK Hynix作为韩国存储巨头,正以前沿的制造技术引领行业变革。据韩国媒体TheElec独家报道,SK Hynix正积极研究在超低温条件下生产3D NAND闪存的可能性,此举有望助力其下一代产品突破400层的技术瓶颈&#x…...
【OceanBase诊断调优】—— 如何排查 server 断连接问题
本文介绍如何排查 server 断连接问题。 断开连接的常见原因 协议层异常 发送报文时遇到发生一些非预期的错误,server 将会发生主动断开连接。 事务异常 包括 rollback 失败或 commit 失败。 Query 异常 已输出行数据,但 server 内部发生错误。 Proce…...
基于Vant UI的微信小程序开发(随时更新的写手)
基于Vant UI的微信小程序开发✨ (一)悬浮浮动1、效果图:只要无脑引用样式就可以了2、页面代码3、js代码4、样式代码 (二)底部跳转1、效果图:点击我要发布跳转到发布的页面2、js代码3、页面代码4、app.json代…...
力扣数据库题库学习(5.7日)--1757. 可回收且低脂的产品
1757. 可回收且低脂的产品 问题链接💦 思路分析 编写解决方案找出既是低脂又是可回收的产品编号。 返回结果 无顺序要求 。看示例: 输入: Products 表: ----------------------------------- | product_id | low_fats | recy…...
支付宝——图技术在金融反欺诈中的应用
目录 图在金融反欺诈中的应用背景 图驱动的感知研判决策处置 图在金融反欺诈中的演进 总结和展望...
【Docker学习】docker run的端口映射-p和-P选项
docker run的端口映射选项分为-p(小写,全称--publish),-P(大写,全称--publish-all),之前认为只有改变容器发布给宿主机的默认端口号才会进行-p的设置,而不改变默认端口号…...
乡村振兴与城乡融合发展:加强城乡间经济、文化、社会等方面的交流与合作,推动城乡一体化发展,实现美丽乡村共荣
目录 一、引言 二、乡村振兴与城乡融合发展的意义 三、城乡交流合作的现状与挑战 (一)现状 (二)挑战 四、加强城乡交流合作的策略与路径 (一)完善城乡交流合作机制 (二)推动…...
什么是职称评审?如何申报?怎么获取职称电子证书?
目录 一、什么是职称?什么是职称评审? 二、申报人申报职称评审要经过哪些流程?...
PC小程序解密及反编译
一、小程序包解密 小程序原始加密包位置C:\Users\administrator\Documents\WeChat Files\Applet\wx234324324324 二、wxappUnpacker反编译 npm install./bingo D:\temp\小程序包解密\wxpack\wx234324324324.wxapkg 三、查看反编译后的文件...
【吃透Java手写】4-Tomcat-简易版
【吃透Java手写】Tomcat-简易版-源码解析 1 准备工作1.1 引入依赖1.2 创建一个Tomcat的启动类 2 线程池技术回顾2.1 线程池的使用流程2.2 线程池的参数2.2.1 任务队列(workQueue)2.2.2 线程工厂(threadFactory)2.2.3 拒绝策略&…...
开发中的一些专业术语,POJO、PO...
在 Java 开发中,以下是常见的设计模式和概念: PO(Persistent Object):持久化对象,也称为实体类或数据对象。它是与数据库表结构对应的类,通常用于表示持久化数据的实体。PO 类的属性与数据库表的…...
79.网络游戏逆向分析与漏洞攻防-移动系统分析-利用数据包实现人物走路
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了 内容…...
JS基础:输出信息的5种方式详解
你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端基础路线”,可获取完整web基础…...
教你解决PUBG绝地求生延迟高 网络延迟高的问题
在《绝地求生》(PUBG)这款备受全球玩家追捧的战术竞技游戏中,其逼真的战场环境和心跳加速的生存竞赛无不让人为之痴迷。不过,有些玩家在经历了一场惊心动魄的对局后,却面临了一个不大不小的麻烦:比赛圆满落…...
【QT教程】QT6与C++17 QT与C++新特性
QT6与C17 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C扩展开发视频课程 免费QT视频课程 您可以看免费1000个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化视频免费看 免费QT视频…...
多线程三种实现
多线程 线程 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。 (理解:应用软件中互相独立,可以同时运行的功能) 进程 进程是程序的基本执行实体。(理解&#…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...
规则与人性的天平——由高考迟到事件引发的思考
当那位身着校服的考生在考场关闭1分钟后狂奔而至,他涨红的脸上写满绝望。铁门内秒针划过的弧度,成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定",构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...
向量几何的二元性:叉乘模长与内积投影的深层联系
在数学与物理的空间世界中,向量运算构成了理解几何结构的基石。叉乘(外积)与点积(内积)作为向量代数的两大支柱,表面上呈现出截然不同的几何意义与代数形式,却在深层次上揭示了向量间相互作用的…...
比特币:固若金汤的数字堡垒与它的四道防线
第一道防线:机密信函——无法破解的哈希加密 将每一笔比特币交易比作一封在堡垒内部传递的机密信函。 解释“哈希”(Hashing)就是一种军事级的加密术(SHA-256),能将信函内容(交易细节…...

