@Docker Compose 部署 Pushgateway

文章目录

  • [Docker Compose 部署 Pushgateway](#Docker Compose 部署 Pushgateway)
    • [1. 目的](#1. 目的)
    • [2. 适用范围](#2. 适用范围)
    • [3. 先决条件](#3. 先决条件)
    • [4. 部署步骤](#4. 部署步骤)
      • [4.1 创建项目目录](#4.1 创建项目目录)
      • [4.2 创建 docker-compose.yml 文件](#4.2 创建 docker-compose.yml 文件)
      • [4.3 启动 Pushgateway 服务](#4.3 启动 Pushgateway 服务)
      • [4.4 验证服务运行状态](#4.4 验证服务运行状态)
      • [4.5 测试 Pushgateway 访问](#4.5 测试 Pushgateway 访问)
    • [5. 配置 Prometheus 采集 Pushgateway 数据](#5. 配置 Prometheus 采集 Pushgateway 数据)
    • [6. 日常维护](#6. 日常维护)
      • [6.1 查看服务日志](#6.1 查看服务日志)
      • [6.2 停止服务](#6.2 停止服务)
      • [6.3 更新 Pushgateway 版本](#6.3 更新 Pushgateway 版本)
      • [6.4 数据备份](#6.4 数据备份)
    • [7. 故障排除](#7. 故障排除)
      • [7.1 端口冲突](#7.1 端口冲突)
      • [7.2 权限问题](#7.2 权限问题)
      • [7.3 服务无法启动](#7.3 服务无法启动)
    • [8. 安全建议](#8. 安全建议)
    • [9. 附录](#9. 附录)

Docker Compose 部署 Pushgateway

1. 目的

本文档提供了使用 Docker Compose 部署 Prometheus Pushgateway 的标准操作流程,确保 Pushgateway 服务能够快速、可靠地部署和运行。

2. 适用范围

适用于需要使用 Pushgateway 作为 Prometheus 监控体系中间组件的环境。

3. 先决条件

  • 已安装 Docker 和 Docker Compose
  • 服务器具有互联网连接以下载镜像
  • 了解基本的 Docker 和 Prometheus 概念

4. 部署步骤

4.1 创建项目目录

bash 复制代码
mkdir -p ~/pushgateway/{config,data}
cd ~/pushgateway

4.2 创建 docker-compose.yml 文件

bash 复制代码
cat > docker-compose.yml <<EOF
version: '3.8'

services:
  pushgateway:
    image: prom/pushgateway:v1.6.2
    container_name: pushgateway
    restart: unless-stopped
    ports:
      - "9091:9091"
    volumes:
      - ./data:/data
    command:
      - '--persistence.file=/data/pushgateway.data'
      - '--persistence.interval=5m'
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
EOF

4.3 启动 Pushgateway 服务

bash 复制代码
docker-compose up -d

4.4 验证服务运行状态

bash 复制代码
docker-compose ps

预期输出应显示 pushgateway 服务状态为 "Up"。

4.5 测试 Pushgateway 访问

bash 复制代码
curl http://localhost:9091

或通过浏览器访问 http://<服务器IP>:9091,应能看到 Pushgateway 的 Web 界面。

5. 配置 Prometheus 采集 Pushgateway 数据

在 Prometheus 的配置文件中添加以下 job 配置:

yaml 复制代码
scrape_configs:
  - job_name: 'pushgateway'
    honor_labels: true
    static_configs:
      - targets: ['pushgateway:9091']

6. 日常维护

6.1 查看服务日志

bash 复制代码
docker-compose logs -f pushgateway

6.2 停止服务

bash 复制代码
docker-compose down

6.3 更新 Pushgateway 版本

  1. 修改 docker-compose.yml 中的镜像版本号
  2. 执行 docker-compose pull 拉取新镜像
  3. 执行 docker-compose up -d 重启服务

6.4 数据备份

Pushgateway 的数据存储在 ./data 目录下,定期备份此目录即可。

7. 故障排除

7.1 端口冲突

如果 9091 端口已被占用,可以修改 docker-compose.yml 中的端口映射,例如改为 "9092:9091"

7.2 权限问题

如果遇到数据目录权限问题,可以执行:

bash 复制代码
sudo chown -R 65534:65534 ./data

7.3 服务无法启动

检查日志获取详细信息:

bash 复制代码
docker-compose logs pushgateway

8. 安全建议

  1. 在生产环境中,建议通过反向代理添加认证
  2. 限制可以访问 Pushgateway 的客户端 IP
  3. 定期清理不再需要的指标数据

9. 附录


相关推荐
coppher1 分钟前
Ubuntu 22.04 amd64 离线安装 Docker 完整教程
linux·docker
xyz59915 分钟前
如何在 WSL 中删除指定版本的 Ubuntu 以及安装
linux·运维·ubuntu
linux修理工22 分钟前
Claude code与CC-switch安装使用
运维·人工智能
小叶lr25 分钟前
jenkins打包前端样式丢失/与本地不一致问题
运维·前端·jenkins
Agent产品评测局29 分钟前
互联网行业自动化平台选型,运营全流程提效指南:2026企业级智能体架构与实战全解析
运维·人工智能·ai·chatgpt·架构·自动化
亚空间仓鼠43 分钟前
OpenEuler系统常用服务(五)
linux·运维·服务器·网络
minji...2 小时前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
虚伪的空想家2 小时前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes
SXJR2 小时前
k8s中的Pod
云原生·容器·kubernetes
文静小土豆2 小时前
K8s 滚动更新在 Java 应用中的实践与优化
java·容器·kubernetes