Pushgetway安装和使用

1、Pushgetway安装和使用

在这里插入图片描述

1.1 Pushgateway是什么

pushgateway 是另一种数据采集的方式,采用被动推送来获取监控数据的prometheus插件,它可以单独运行在

任何节点上,并不一定要运行在被监控的客户端。

首先通过用户自定义编写的脚本把需要监控的数据发送给 pushgateway,pushgateway 再将数据推送给对应的

Prometheus 服务。

对于短时运行、不支持轮询的任务,可以引入 pushgateway,将指标数值以 push 的方式推送到 pushgateway暂

存,然后 prometheus 从 pushgateway 中轮询。

PushGateway:短期存储指标数据。主要用于临时性的任务,各个目标主机可以上报数据到 pushgateway,然后

prometheus server 统一从 pushgateway 拉取数据。

Pushgateway 是 prometheus 的一个组件,prometheus server 默认是通过 exporter 主动获取数据(默认采取

pull 拉取数据),pushgateway 则是通过被动方式推送数据到 prometheus server,用户可以写一些自定义的监控

脚本把需要监控的数据发送给 pushgateway, 然后 pushgateway 再把数据发送给 Prometheus server。

1.2 使用Pushgateway的主要原因

1、因为Prometheus 采用 pull 模式,可能由于不在一个子网或者防火墙,导致 Prometheus 无法直接拉取各个

target 数据。

Prometheus 在一些情况下无法直接拉取各个 target 数据。

2、在监控业务数据的时候,需要将不同数据汇总,由 Prometheus 统一收集。

1.3 使用Pushgateway的弊端

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

1、将多个节点数据汇总到 pushgateway,如果pushgateway 挂了,受影响比多个 target 大。

通过单个 Pushgateway 监控多个实例时, Pushgateway 将会成为单点故障和潜在瓶颈。

2、Prometheus 拉取状态 up 只针对 pushgateway, 无法做到对每个节点有效。

3、Pushgateway 可以持久化推送给它的所有监控数据。 因此,即使你的监控已经下线,prometheus 还会拉取

到旧的监控数据,需要手动清理 pushgateway 不要的数据。

总:

  • Prometheus拉取状态只针对 pushgateway,不能对每个节点都有效。

  • Pushgateway出现问题,整个采集到的数据都会出现问题。

  • 监控下线,prometheus还会拉取到旧的监控数据,需要手动清理 pushgateway不要的数据。

1.4 Pushgateway流程图

在这里插入图片描述

我们编写脚本将数据发送到 Pushgateway,Pushgateway将数据 push 到 Prometheus。

1.5 与Prometheus结合使用流程图

通过客户端 POST数据至pushgateway,prometheus拉取pushgateway里数据,经过alertmanager报警规则触

发,到prometheusalert自定义模板,最后飞书机器人发送该报警信息。

在这里插入图片描述

1.6 Pushgateway使用

1.6.1 下载部署包

下载地址:

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

这里下载 pushgateway-1.4.3.linux-amd64.tar.gz

https://github.com/prometheus/pushgateway/releases/download/v1.4.3/pushgateway-1.4.3.linux-amd64.tar.gz

1.6.2 解压

tar -xvf pushgateway-1.4.3.linux-amd64.tar.gz

1.6.3 启动

nohup ./pushgateway >> nohup.out 2>&1 &

1.6.4 测试

访问:http://192.168.54.195:9091/

在这里插入图片描述

1.6.5 在Prometheus配置

- job_name: pushgatewaystatic_configs:- targets: ['192.168.54.195:9091']labels:instance: pushgateway

重新启动 Prometheus:

nohup ./prometheus --config.file=prometheus.yml >> nohup.out 2>&1 &

在这里插入图片描述

1.6.6 测试发送数据

# 推送指定的数据格式到pushgateway
# 将"metrics"字节赋值"3.6",向{job="test_job"}添加单条数据
$ echo "metric 3.6" | curl --data-binary @- http://192.168.54.195:9091/metrics/job/test_job

查看结果:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

# 添加复杂数据
cat <<EOF | curl --data-binary @- http://192.168.54.195:9091/metrics/job/test_job/instance/test_instance
node_memory_usage 36
node_memory_total 36000
EOF

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

# 利用shell脚本完成数据推送
$ vim push.sh
# 内容
node_memory_usages=$(free -m | grep Mem | awk '{print $3/$2*100}')
job_name="memory"
instance_name="192.168.54.195"
cat <<EOF | curl --data-binary @- http://192.168.54.195:9091/metrics/job/$job_name/instance/$instance_name
# TYPE node_memory_usages gauge
node_memory_usages $node_memory_usages
EOF
# 执行
./push.sh

在这里插入图片描述

1.6.7 定时任务定时推送数据

# 新建定时任务
crontab -e 
或者
vim /etc/crontab

第一种方式 crontab -e

  • 输入 crontab -e
  • 按下 a 键进入到编辑模式
  • 输入定时任务
  • 同时按下 ctrl+c 退出编辑模式
  • 按下 shift+: 输入 wq 退出 crontab

第二种方式 vim /etc/crontab

$ vim /etc/crontab
# 写入如下内容
1 * * * * sh /home/zhangshixing/prometheus/prometheus-2.34.0-rc.2.linux-amd64/push.sh
# 查看定时任务
# 第一种方式
$ crontab -l
1 * * * * sh /home/zhangshixing/prometheus/prometheus-2.34.0-rc.2.linux-amd64/push.sh
# 第二种方式
$ cat /var/log/cron
Mar  3 09:23:01 zsx crond[27252]: (root) RELOAD (/var/spool/cron/root)
$ cat /var/spool/cron/root
1 * * * * sh /home/zhangshixing/prometheus/prometheus-2.34.0-rc.2.linux-amd64/push.sh

1.6.8 删除某个组下的某实例的所有数据

curl -X DELETE http://192.168.54.195:9091/metrics/job/some_job/instance/some_instance
curl -X DELETE http://192.168.54.195:9091/metrics/job/some_job

1.7 Pushgateway使用方法

$ ./pushgateway --help
usage: pushgateway [<flags>]The PushgatewayFlags:-h, --help                     		Show context-sensitive help (also try --help-long and --help-man).--web.config.file=""       		[EXPERIMENTAL] Path to configuration file that can enable TLS or uthentication.--web.listen-address=":9091"		Address to listen on for the web interface, API, and telemetry.--web.telemetry-path="/metrics"	Path under which to expose metrics.--web.external-url=        		The URL under which the Pushgateway is externally reachable(可从外部访问Pushgateway的URL).--web.route-prefix=""      		Prefix for the internal routes of web endpoints. Defaults to the path of --web.external-url(web端点内部路由的前缀,默认为-web.external-url的路径).--web.enable-lifecycle     		Enable shutdown via HTTP request.--web.enable-admin-api     		Enable API endpoints for admin control actions.--persistence.file=""      		le to persist metrics. If empty, metrics are only kept in memory(持久化metrics的文件,如果该文件为空,则metrics只保留在内存中).--persistence.interval=5m  		The minimum interval at which to write out the persistence file(写入持久性文件的最小间隔).--push.disable-consistency-check	Do not check consistency of pushed metrics. DANGEROUS.                  --log.level=info           		Only log messages with the given severity or above. One of: [debug, nfo, warn, error]--log.format=logfmt        		Output format of log messages. One of: [logfmt, json]--version                  		Show application version.

1.8 docker部署pushgateway

搜索镜像:

$ docker search pushgateway

在这里插入图片描述

$ docker search prom/pushgateway

在这里插入图片描述

拉取镜像:

$ docker pull prom/pushgateway

在这里插入图片描述

启动:

$ docker run -d --name pushgateway -p 9091:9091 --network host prom/pushgateway

在这里插入图片描述

通过http://192.168.54.195:9091/进行访问:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/71826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记一次时间序列算法的自回归预测--ARAutoreg

背景 最近公司给客户要做一些数据的预测&#xff0c;但是客户不清楚哪些做起来比较符合他们的&#xff0c;于是在经过与业务方的沟通&#xff0c;瞄准了两个方面的数据 1.工程数据&#xff1a;对工程数据做评估&#xff0c;然后做预警&#xff0c;这个想法是好的&#xff0c;…

DGIOT-Modbus-RTU控制指令05、06的配置与下发

[小 迪 导 读]&#xff1a;伴随工业物联网在实际应用中普及&#xff0c;Modbus-RTU作为行业内的标准化通讯协议。在为物联网起到采集作用的同时&#xff0c;设备的控制也是一个密不可分的环节。 场景解析&#xff1a;在使用Modbus对设备进行采集后&#xff0c;可以通过自动控制…

多波束测线问题

多波束测线问题 问题的背景是海洋测深技术&#xff0c;特别是涉及单波束测深和多波束测深系统。这些系统利用声波传播原理来测量水体深度。 单波束测深系统通过向海底发射声波信号并记录其返回时间来测量水深。该系统的特点是每次只有一个波束打到海底&#xff0c;因此数据分布…

理解项目开发(寺庙小程序)

转载自&#xff1a;历经一年&#xff0c;开发一个寺庙小程序&#xff01; (qq.com) 破防了&#xff01;为方丈开发一款纪念小程序&#xff01; (qq.com) 下面内容转载自&#xff1a;程序员5K为青岛啤酒节开发个点餐系统&#xff01; (qq.com) 看一个人如何完成一个项目的开发…

CSS笔记(黑马程序员pink老师前端)浮动,清除浮动

浮动可以改变标签的默认排列方式。浮动元素常与标准流的父元素搭配使用. 网页布局第一准则:多个块级元素纵向排列找标准流&#xff0c;多个块级元素横向排列找浮动。 float属性用于创建浮动框&#xff0c;将其移动到一边&#xff0c;直到左边缘或右边缘触及包含块或另一个浮动框…

分类预测 | MATLAB实现PCA-LSTM(主成分长短期记忆神经网络)分类预测

分类预测 | MATLAB实现PCA-LSTM(主成分长短期记忆神经网络)分类预测 目录 分类预测 | MATLAB实现PCA-LSTM(主成分长短期记忆神经网络)分类预测预测效果基本介绍程序设计参考资料致谢 预测效果 基本介绍 MATLAB实现PCA-LSTM(主成分长短期记忆神经网络)分类预测。Matlab实现基于P…

【java】【项目实战】[外卖十一]项目优化(Ngnix)

目录 一、Nginx概述 1、Nginx介绍 2、Nginx下载和安装 3、Nginx目录结构 二、Nginx命令 1、查看版本 2、检查配置文件正确性 3、启动和停止 4、重新加载配置文件 三、Nginx配置文件结构 1、全局块 2、events块 3、http块 四、Nginx具体应用 1、部署静态资源 2、…

LeetCode 904. 水果成篮

题目链接 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目解析 在你去摘水果的时候&#xff0c;你当前只能拥有两种种类的水果&#xff0c;若想拿第三种水果&#xff0c;就需要发下前两种水果中的一种。 法一&#xff1a;滑动窗口哈希表(未优化…

【Linux】shell脚本和bat脚本:

文章目录 一、脚本对应环境&#xff1a;【1】shell&#xff1a;linux环境&#xff1b;后缀名为.sh【2】bat&#xff1a;windows环境&#xff1b;后缀名为.bat或者.cmd 二、脚本执行&#xff1a;【1】shell执行【2】bat脚本执行 三、脚本相关命令&#xff1a;1. shell命令【1】s…

有向图和无向图的表示方式(邻接矩阵,邻接表)

目录 一.邻接矩阵 1.无向图​编辑 2.有向图 补充&#xff1a;网&#xff08;有权图&#xff09;的邻接矩阵表示法 二.邻接表 1.无向图 2.有向图 三.邻接矩阵与邻接表的关系 一.邻接矩阵 1.无向图 &#xff08;1&#xff09;对角线上是每一个顶点与自身之间的关系&…

数据库(MySQL)的存储过程

一、存储过程介绍 存储过程是事先经过编译并存储在数据库中的一段SQL 语句的集合&#xff0c;调用存储过程可以简化应用开发人员的很多工作&#xff0c;减少数据在数据库和应用服务器之间的传输&#xff0c;对于提高数据处理的效率是有好处的。 存储过程思想上很简单&#xff0…

多功能透明屏,在智能家居领域中,有哪些功能特点?显示、连接

多功能透明屏是一种新型的显示技术&#xff0c;它能够在透明的表面上显示图像和视频&#xff0c;并且具有多种功能。 这种屏幕可以应用于各种领域&#xff0c;如商业广告、智能家居、教育等&#xff0c;为用户提供更加便捷和多样化的体验。 首先&#xff0c;多功能透明屏可以…

[HNCTF 2022 Week1]——Web方向 详细Writeup

Week1 [HNCTF 2022 Week1]2048 f12查看源代码 可以看出游戏的分数是score 修改score的值 得到flag [HNCTF 2022 Week1]Interesting_include 得到源码 <?php //WEB手要懂得搜索 //flag in ./flag.phpif(isset($_GET[filter])){$file $_GET[filter];if(!preg_match(&qu…

3次多项式轨迹规划(PLC SCL代码)

机器人、运动控制等常用的轨迹规划有三次多项式、五次多项式、梯形速度规划,S型速度规划,今天我们主要介绍三次多项式轨迹规划,有关T型和S型轨迹规划大家可以查看下面文章博客,这里不再赘述, 梯形轨迹规划 梯形速度曲线轨迹规划(速度前馈+PID、SCL+ ST代码)_RXXW_Dor的博…

雅思写作 三小时浓缩学习顾家北 笔记总结(五)

目录 饥饿网100句翻译练习 Many girls are unwilling to seek employment in male-dominated industries. Many girls are not willing to find jobs in male-dominated industries. The main function of schools is to impart knowledge to the next generation. The ar…

Kafka3.0.0版本——增加副本因子

目录 一、服务器信息二、启动zookeeper和kafka集群2.1、先启动zookeeper集群2.2、再启动kafka集群 三、增加副本因子3.1、增加副本因子的概述3.2、增加副本因子的示例3.2.1、创建topic(主题)3.2.2、手动增加副本存储 一、服务器信息 四台服务器 原始服务器名称原始服务器ip节点…

PostgreSQL PG15 新功能 PG_WALINSPECT

开头还是介绍一下群&#xff0c;如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis &#xff0c;Oracle ,Oceanbase 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请加微信号 liuaustin3 &#xff08;…

Android离线文字识别-tesseract4android调用

Android在线文字识别可以调阿里云的接口Android文字识别-阿里云OCR调用__花花的博客-CSDN博客 需要离线文字识别的话&#xff0c;可以调tesseract4android。个人测试效果不是特别理想&#xff0c;但是速度真的很快&#xff0c;VIVO S10后摄照片&#xff0c;80ms内识别完成。现…

qemu-system-x86_64 命令创建虚拟机,报gtk initialization failed的

因为是ssh命令行启动&#xff0c;增加--nographic # /opt/debug/bin/qemu-system-aarch64 -machine virt-6.2 -qmp tcp:localhost:1238,server,nowait --nographic configure accelerator virt-6.2 start machine init start cpu init start add rom file: virtio-net-pci…

【免费模板】2023数学建模国赛word+latex模板免费分享

无需转发 免费获取2023国赛模板&#xff0c;获取方式见文末 模板文件预览如下&#xff1a; 模板参考格式如下&#xff1a; &#xff08;题目&#xff09;XXXXXX 摘 要&#xff1a; 开头段&#xff1a;需要充分概括论文内容&#xff0c;一般两到三句话即可&#xff0c;长度控…