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


相关推荐
TTBIGDATA8 分钟前
【Ambari开启Kerberos】KERBEROS SERVICE CHECK 报错
大数据·运维·hadoop·ambari·cdh·bigtop·ttbigdata
Archy_Wang_110 分钟前
脚本自动生成专业Linux巡检报告
linux·运维·服务器
java_logo28 分钟前
SGLANG Docker容器化部署指南
linux·运维·docker·容器·eureka·1024程序员节
Qayrup1 小时前
各个系统的 docker安装
运维·docker·容器
代码or搬砖2 小时前
Docker 部署 Java 项目实践
java·docker·容器
蓝象_2 小时前
docker下载配置redis
redis·docker·容器
piaoxue8202 小时前
MFA MACOS 安装流程
linux·运维·服务器
柱子子子子3 小时前
Ubuntu24.04 不能使用todesk 解决办法
运维·服务器
BJ_Bonree4 小时前
圆桌论坛精华实录 | AI是重构运维逻辑的颠覆性革命?博睿数据与行业大咖亲授“AI+可观测性”的破局之道
运维·人工智能·重构
冬夜戏雪4 小时前
【尚庭公寓152-157】[第6天]【配置阿里云号码认证服务】
运维·服务器