Prometheus Pushgateway是用于接收临时性或批处理作业指标数据并将其暴露给Prometheus服务器抓取的中间件,解决非持续运行作业的指标收集问题。
收藏数: 86
下载次数: 256662124
类型:
prom/pushgatewayPrometheus Pushgateway 是 Prometheus 生态系统中的核心组件,主要用于解决临时作业(Ephemeral Jobs)和批处理作业(Batch Jobs)无法被 Prometheus 有效抓取指标的问题。由于这类作业生命周期短暂,可能在 Prometheus 完成抓取周期前终止,导致指标丢失。Pushgateway 作为中间缓存层,接收作业主动推送的指标,并持续暴露 HTTP 端点供 Prometheus 抓取,从而实现对临时任务的指标监控。
/metrics),允许 Prometheus 定期抓取缓存的指标。textfile 收集器。statsd_exporter 或 prom-aggregation-gateway。直接运行容器,默认监听 0.0.0.0:9091,指标仅保存在内存中(服务重启后丢失):
bashdocker run -d \ --name pushgateway \ -p 9091:9091 \ prom/pushgateway
通过 --persistence.file 参数指定本地文件路径,实现指标持久化:
bashdocker run -d \ --name pushgateway \ -p 9091:9091 \ -v /host/path/to/persistence:/data \ # 挂载宿主机目录到容器内 prom/pushgateway \ --persistence.file=/data/pushgateway_metrics # 持久化文件路径
yamlversion: '3.8' services: pushgateway: image: prom/pushgateway container_name: pushgateway ports: - "9091:9091" # 宿主机端口:容器端口 volumes: - ./persistence:/data # 持久化目录(相对路径或绝对路径) command: - --web.listen-address=0.0.0.0:9091 # 监听地址(默认值) - --persistence.file=/data/pushgateway_metrics # 持久化文件 - --web.telemetry-path=/metrics # 指标暴露路径(默认值) restart: unless-stopped # 异常退出后自动重启
| 参数名 | 说明 | 默认值 |
|---|---|---|
--web.listen-address | 网络监听地址,格式为 IP:端口 | 0.0.0.0:9091 |
--persistence.file | 指标持久化文件路径,若不指定则仅内存存储 | 空(不持久化) |
--web.telemetry-path | Prometheus 抓取指标的 HTTP 路径 | /metrics |
--web.enable-lifecycle | 启用 HTTP 生命周期接口(如 /-/reload 重新加载配置) | false |
--log.level | 日志级别,可选 debug/info/warn/error | info |
DELETE /metrics/job/<job_name>)主动清理,避免无效指标残留。--user 参数指定容器用户)。prometheus.yml 中添加 Pushgateway 作为抓取目标:
yamlscrape_configs: - job_name: 'pushgateway' static_configs: - targets: ['pushgateway:9091'] # Pushgateway 地址(容器名或 IP)
以下是 prom/pushgateway 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务