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


相关推荐
码农101号21 分钟前
Linux中容器文件操作和数据卷使用以及目录挂载
linux·运维·服务器
ladymorgana42 分钟前
【docker】修改 MySQL 密码后 Navicat 仍能用原密码连接
mysql·adb·docker
有点小帅得平哥哥44 分钟前
本地部署index-tts并且通过docker做成镜像
docker·index-tts
程序员弘羽1 小时前
Linux进程管理:从基础到实战
linux·运维·服务器
大熊程序猿1 小时前
netcore PowerShell 安装-linux
linux·运维
AIbase20242 小时前
国内MCP服务平台推荐!aibase.cn上线MCP服务器集合平台
运维·服务器·人工智能
艾立泰智能包装2 小时前
电商分拣的“效率密码”:艾立泰轻量化托盘引领自动化流水线革新
运维·自动化
cpsvps_net2 小时前
Windows内存泄漏自动化
运维·自动化
你不知道我是谁?3 小时前
负载均衡--常见负载均衡算法
运维·负载均衡
小张是铁粉3 小时前
docker学习二天之镜像操作与容器操作
学习·docker·容器