@Docker Compose 部署 Pushgateway
文章目录
- Docker Compose 部署 Pushgateway
- 1. 目的
- 2. 适用范围
- 3. 先决条件
- 4. 部署步骤
- 4.1 创建项目目录
- 4.2 创建 docker-compose.yml 文件
- 4.3 启动 Pushgateway 服务
- 4.4 验证服务运行状态
- 4.5 测试 Pushgateway 访问
- 5. 配置 Prometheus 采集 Pushgateway 数据
- 6. 日常维护
- 6.1 查看服务日志
- 6.2 停止服务
- 6.3 更新 Pushgateway 版本
- 6.4 数据备份
- 7. 故障排除
- 7.1 端口冲突
- 7.2 权限问题
- 7.3 服务无法启动
- 8. 安全建议
- 9. 附录
Docker Compose 部署 Pushgateway
1. 目的
本文档提供了使用 Docker Compose 部署 Prometheus Pushgateway 的标准操作流程,确保 Pushgateway 服务能够快速、可靠地部署和运行。
2. 适用范围
适用于需要使用 Pushgateway 作为 Prometheus 监控体系中间组件的环境。
3. 先决条件
- 已安装 Docker 和 Docker Compose
- 服务器具有互联网连接以下载镜像
- 了解基本的 Docker 和 Prometheus 概念
4. 部署步骤
4.1 创建项目目录
mkdir -p ~/pushgateway/{config,data}
cd ~/pushgateway
4.2 创建 docker-compose.yml 文件
cat > docker-compose.yml <<EOF
version: '3.8'services:pushgateway:image: prom/pushgateway:v1.6.2container_name: pushgatewayrestart: unless-stoppedports:- "9091:9091"volumes:- ./data:/datacommand:- '--persistence.file=/data/pushgateway.data'- '--persistence.interval=5m'logging:driver: "json-file"options:max-size: "10m"max-file: "3"
EOF
4.3 启动 Pushgateway 服务
docker-compose up -d
4.4 验证服务运行状态
docker-compose ps
预期输出应显示 pushgateway 服务状态为 “Up”。
4.5 测试 Pushgateway 访问
curl http://localhost:9091
或通过浏览器访问 http://<服务器IP>:9091
,应能看到 Pushgateway 的 Web 界面。
5. 配置 Prometheus 采集 Pushgateway 数据
在 Prometheus 的配置文件中添加以下 job 配置:
scrape_configs:- job_name: 'pushgateway'honor_labels: truestatic_configs:- targets: ['pushgateway:9091']
6. 日常维护
6.1 查看服务日志
docker-compose logs -f pushgateway
6.2 停止服务
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 权限问题
如果遇到数据目录权限问题,可以执行:
sudo chown -R 65534:65534 ./data
7.3 服务无法启动
检查日志获取详细信息:
docker-compose logs pushgateway
8. 安全建议
- 在生产环境中,建议通过反向代理添加认证
- 限制可以访问 Pushgateway 的客户端 IP
- 定期清理不再需要的指标数据
9. 附录
- Pushgateway 官方文档: https://github.com/prometheus/pushgateway
- Prometheus 官方文档: https://prometheus.io/docs/