首页 > 其他分享 >prometheus学习笔记之PushGateway

prometheus学习笔记之PushGateway

时间:2024-09-24 14:13:42浏览次数:11  
标签:prometheus 笔记 9091 job PushGateway 推送 数据 pushgateway

一、pushgateway 简介

pushgateway 是采用被动推送的方式,而不是类似于 prometheus server 主动连接 exporter 获取监控数据。
pushgateway 可以单独运行在一个节点, 然后需要自定义监控脚本把需要监控的主动推送给 pushgateway的 API 接口, 然后 pushgateway 再等待 prometheus server 抓取数据, 即 pushgateway 本身没有任何抓
取监控数据的功能, 目前 pushgateway 只是被动的等待数据从客户端推送过来。

#常用选项 --persistence.file="" #数据保存的文件, 默认只保存在内存中 --persistence.interval=5m #数据持久化的间隔时间

二、部署 pushgateway

二进制、容器、k8s都可以部署,这里为了方便直接使用二进制部署

wget https://github.com/prometheus/pushgateway/releases/download/v1.6.0/pushgateway-1.6.0.linux-amd64.tar.gz
tar xf pushgateway-1.6.0.linux-amd64.tar.gz 
mv pushgateway-1.6.0.linux-amd64 /usr/local/pushgateway
cd /usr/local/pushgateway
./pushgateway -h
nohup ./pushgateway &  #没有配置文件,主要通过命令行传参
netstat -tnlp #默认监控9091端口

三、配置prometheus抓取pushgateway

vim prometheus.yml
  - job_name: "pushgateway-monitor-metrics"
    static_configs:
      - targets: ["192.168.100.133:9091"] #pushgateway 地址和端口
    honor_labels: true #保留源标签

curl -X POST http://127.0.0.1:9090/-/reload

四、客户端手动推送数据

1.推送单条数据

要 Push 数据到 PushGateway 中, 可以通过其提供的 API 标准接口来添加, 默认 URL 地址为:
http://<ip>:9091/metrics/job/<JOBNAME>{/<LABEL_NAME>/<LABEL_VALUE>},
其中<JOBNAME>是必填项, 为 job 标签值, 后边可以跟任意数量的标签对, 一般我们会添加一个 instance/<INSTANCE_NAME>实例名称标签, 来方便区分各个指标。
#推送一个 job 名称为 mytest_job, key 为 mytest_metric 值为 2024 echo "mytest_metric 2024" | curl --data-binary @- http://192.168.100.133:9091/metrics/job/mytest_job

访问pushgateway

mytest_metric  命令行创建的job名称,实际通prometheus中的job一样
push_time_seconds  自动生成,记录指标数据的失败上传时间
push_failure_time_seconds 自动生成,记录指标数据的成功上传时间

prometheus验证数据

可以看到已经成功抓取到了 

2.推送多条数据

cat <<EOF | curl --data-binary @- http://192.168.100.133:9091/metrics/job/test_job/instance/172.31.0.100
#TYPE node_memory_usage gauge
node_memory_usage 4311744512
# TYPE memory_total gauge
node_memory_total 103481868288
EOF

查看pushgateway的metric

prometheus查看写入的数据

3.简易推送数据脚本样例

# cat mem_monitor.sh
#!/bin/bash
total_memory=$(free |awk '/Mem/{print $2}')
used_memory=$(free |awk '/Mem/{print $3}')

job_name="custom_memory_monitor"
instance_name=`ifconfig eth0 | grep -w inet | awk '{print $2}'`
pushgateway_server="http://172.30.7.111:9091/metrics/job"

cat <<EOF | curl --data-binary @- ${pushgateway_server}/${job_name}/instance/${instance_name}  #可以写多个标签,格式为  key/value,如果新增一个zone标签,可以写成为 /instance/${instance_name}/zone/ShangHai ,后面可以一直加
#TYPE custom_memory_total gauge
custom_memory_total $total_memory
#TYPE custom_memory_used gauge
custom_memory_used $used_memory
EOF

五、删除数据

1.命令行

#根据job及标签删除对应的数据
curl -X DELETE http://192.168.100.133:9091/metrics/job/test_job/instance/172.31.0.100

2.web界面

 

 

标签:prometheus,笔记,9091,job,PushGateway,推送,数据,pushgateway
From: https://www.cnblogs.com/panwenbin-logs/p/18427183

相关文章

  • 笔记本电脑检测不到存储设备无法启动
    我装了debian和ubuntu的双系统,在进行数据迁移的时候,因为需要手动拷贝,就重启了一下,结果…bios找不到存储设备无法启动了,而在此之前系统完全没有报错,两块硬盘(一块ssd一块机械硬盘)都状态良好。感觉就很突然,我也没做什么奇怪的事,就是反复重启在两个系统间切换,不怎么就这样了,系统也......
  • 网络安全学习路线+自学笔记(超详细) 自学网络安全看这一篇就够了
    一、什么是网络安全网络安全是一种综合性的概念,涵盖了保护计算机系统、网络基础设施和数据免受未经授权的访问、攻击、损害或盗窃的一系列措施和技术。经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。作为一......
  • mysql学习笔记2
    书接上回,重新进入mysql,继续学习新内容。1.进入mysql并新建数据库sudomysql-uroot-pcreatedatabasetest_database;usetest_database;selectdatabase();可以看到mysql>selectdatabase();+---------------+|database()|+---------------+|test_databa......
  • 【自学笔记】支持向量机(3)——软间隔
    引入  上一回解决了SVM在曲线边界的上的使用,使得非线性数据集也能得到正确的分类。然而,对于一个大数据集来说,极有可能大体呈线性分类趋势,但是边界处混杂,若仍采用原来的方式,会得到极其复杂的超平面边界,浪费了算力。  上述要求所有训练样本满足约束的分类方式称为硬分类......
  • C++学习笔记(三)-----【内联函数】
    1内联函数1.1为什么要有内联函数答:还是为了补C语言的坑,补宏的坑#defineN10//实现一个ADD的宏函数//错误写法#defineADD(intx,inty){returnx+y;}#defineADD(x,y){returnx+y;}#defineADD(x,y)returnx+y;#defineADD(x,y)x+y;//宏不需......
  • 【刷题笔记】2020 CSP-J
    2020CSP-J题目整理B-直播获奖思路梳理题目中说“如有选手成绩相同,则所有成绩并列的选手都能获奖,因此实际获奖人数可能比计划中多”,这是一个坑点,因为即使有分数相同的人,他的分数也是和位于第\(n*w\%\)人的分数相同的,而题目只让输出分数,所以不用在意。先来考虑暴力算法,没加进......
  • 【刷题笔记】2019 CSP-S
    2019CSP-S题目整理A-格雷数思路简介思路很简单,如果编号在中点的左边那么就输出0,否则输出1,同时还要改变编号。代码实现#include<bits/stdc++.h>#definemaxn80usingnamespacestd;typedef__int128int1;int1n,k;__int128read(){ charch=getchar(); __int128......
  • 零基础小白如何入门CTF,看这一篇就够了(附学习笔记、靶场、工具包)_ctf入门
    CTF简介:CTF(CaptureTheFlag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式,2......
  • EEPROM手册阅读笔记
    目录一、特征描述二、功能描述三、总线特性四、设备寻址五、写入操作1.字节写入2.页写入六、读取操作1.当前地址读取2.随机读取3.顺序读取一、特征描述1.MicrochipTechnologyInc.24AA04/24LC04B(24XX04*)是一款4Kbit电气可擦除PROM。该器件由两个256x8......
  • VulnHub靶场笔记 - Breach: 2.1
    靶机下载地址:https://download.vulnhub.com/breach/Breach-2_final2.1.zip一.安装下载后为压缩包文件解压后双击打开.ova文件根据压缩包里附带的说明我们需要将靶机的ip配为静态IP:192.168.110.151选择虚拟网络编辑器选择仅主机的网卡并将子网ip改为110网段点......