前言
在运维与开发过程中,Prometheus 监控大盘通常能完整展示长期运行服务的状态,但凌晨执行的备份脚本、几分钟结束的 CI/CD 任务或临时调度的数据处理作业等短生命周期任务,往往因执行完毕即退出而无法被 Prometheus 的拉取(Pull)机制捕获,形成监控盲区。
针对此类场景,Prometheus 官方提供了 Pushgateway 组件。本文将介绍 Pushgateway 的安装配置方法,并演示如何将临时任务的执行数据主动推送至 Prometheus,实现全链路监控。
1. 环境准备
本文演示环境基于 Linux 虚拟机,相关软件版本如下:
- 操作系统:CentOS Linux release 7.9.2009 (Core)
- Docker:26.1.4
- Prometheus:v3.5.0
- Pushgateway:1.11.2
2. Pushgateway 安装配置
2.1 二进制包安装
- 下载并解压二进制包:
tar -zxvf pushgateway-1.11.2.linux-amd64.tar.gz
mv pushgateway-1.11.2.linux-amd64 pushgateway
rm -rf pushgateway-1.11.2.linux-amd64.tar.gz
- 创建 systemd 服务文件
/etc/systemd/system/pushgateway.service:
[Unit]
Description=Pushgateway for Prometheus
Documentation=https://github.com/prometheus/pushgateway
After=network-online.target
[Service]
Type=simple
User=prometheus
Group=prometheus
ExecStart=/app/pushgateway/pushgateway \
--web.listen-address=:9091 \
--web.enable-admin-api \
--log.level=info
WorkingDirectory=/app/pushgateway
Restart=on-failure
RestartSec=5
StandardOutput=journal
StandardError=journal
SyslogIdentifier=pushgateway
[Install]
WantedBy=multi-user.target
- 设置权限并启动服务:
sudo -R prometheus:prometheus /app/pushgateway
+x /app/pushgateway/pushgateway
systemctl daemon-reload
systemctl start pushgateway
systemctl pushgateway
systemctl status pushgateway


