Pushgateway是Prometheus监控系统中的一个重要组件,它采用被动push的方式获取数据,由应用主动将数据推送到pushgateway,然后Prometheus再从Pushgateway抓取数据。使用Pushgateway的主要原因是:
但是PushGateway也存在一些弊端:
下载安装包
wget https://github.com/prometheus/pushgateway/releases/download/v1.5.1/pushgateway-1.5.1.linux-amd64.tar.gz
tar xvf pushgateway-1.5.1.linux-amd64.tar.gz
pushgateway-1.5.1.linux-amd64/pushgateway /usr/bin/
pushgateway -h #查看帮助
准备service文件
root@prometheus-server-01:~# cat /lib/systemd/system/pushgateway.service
[Unit]
Description=Prometheus Pushgateway
After=network.target[Service]
Type=simple
User=root
Group=root
ExecStart=pushgateway --web.listen-address=:9091
Restart=on-failure[Install]
WantedBy=multi-user.target
启动服务
systemctl daemon-reload
systemctl start pushgateway
systemctl status pushgateway
systemctl enable pushgateway
访问pushgateway界面
在prometheus配置中添加job,抓取pushgateway数据,内容如下:
- job_name: pushgatewayhonor_labels: truestatic_configs:- targets: ["192.168.122.21:9091"]
配置修改完成后重启Prometheus。然后在Prometheus界面查看target状态
要推送数据到Pushgateway中,可以其提供的API接口来添加,默认URL地址为http://
其中job-name是必填项,是job标签的值,后边可以跟任意数量的标签&标签值对,一般会添加一个instance/
执行如下命令进行单条数据推送
#my_metric表示指标名称,2022表示指标值
echo "my_metric 2022"| curl --data-binary @- http://192.168.122.21:9091/metrics/job/test-job/instance/192.168.122.22
#再执行一次推送,将值改为2023
echo "my_metric 2023"| curl --data-binary @- http://192.168.122.21:9091/metrics/job/test-job/instance/192.168.122.22
在Pushgateway界面查看数据,如下图,可以看到只显示了最新值。
在Prometheus中查询my_metric,验证是否获取到数据
cat <
在Pushgateway界面查看数据
在Prometheus中查询,验证是否获取到数据
curl -X DELETE http://192.168.122.21:9091/metrics/job/test-job/instance/192.168.122.22
在Pushgateway界面验证
下一篇:猜数字大小 II