@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. 附录


相关推荐
小二·2 小时前
Python Web 开发进阶实战:性能压测与调优 —— Locust + Prometheus + Grafana 构建高并发可观测系统
前端·python·prometheus
C_心欲无痕2 小时前
Dockerfile:构建 Docker 镜像
运维·docker·容器
zz_nj3 小时前
工作的环境
linux·运维·服务器
C_心欲无痕3 小时前
nginx - 实现域名跳转的几种方式
运维·前端·nginx
suijishengchengde4 小时前
****LINUX时间同步配置*****
linux·运维
幻云20104 小时前
AI自动化编排:从入门到精通(基于Dify构建AI智能系统)
运维·人工智能·自动化
qiuqyue4 小时前
基于虹软Linux Pro SDK的多路RTSP流并发接入、解码与帧级处理实践
linux·运维·网络
C_心欲无痕4 小时前
Docker 本地部署 CSR 前端项目完整指南
前端·docker·容器
爱跑马的程序员5 小时前
Linux 如何查看文件夹的大小(du、df、ls、find)
linux·运维·ubuntu
飞翔沫沫情7 小时前
MinIO 新版本 Docker 部署指南:告别 Web 控制台,拥抱 CLI 管理
docker·容器·docker-compose·对象存储·minio