文章目录
- [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 版本
- 修改 docker-compose.yml 中的镜像版本号
- 执行
docker-compose pull
拉取新镜像 - 执行
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. 安全建议
- 在生产环境中,建议通过反向代理添加认证
- 限制可以访问 Pushgateway 的客户端 IP
- 定期清理不再需要的指标数据
9. 附录
- Pushgateway 官方文档: https://github.com/prometheus/pushgateway
- Prometheus 官方文档: https://prometheus.io/docs/