主题
Docker 安装 Prometheus
在 Docker 中安装 Prometheus 可以通过几个简单的步骤完成。以下是如何查找、拉取、启动 Prometheus 容器并配置其基本设置的指南。
查找 Prometheus 镜像
首先,你可以使用 Docker 搜索命令来查找 Prometheus 的可用镜像:
bash
docker search prometheus拉取 Prometheus 镜像
选择你想要安装的 Prometheus 版本(这里以 v2.37.0 为例),并使用 Docker 拉取命令来获取镜像:
bash
docker pull prom/prometheus:v2.37.0启动 Prometheus 容器
接下来,你可以使用 Docker 运行命令来启动 Prometheus 容器。这里我们还将挂载一个配置文件,并将容器的重启策略设置为始终重启。
bash
docker run -d --name=prometheus \
-p 9090:9090 \
-v /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
--restart=always prom/prometheus:v2.37.0 \
--config.file=/etc/prometheus/prometheus.yml \
--web.enable-lifecycle参数说明:
-d:在后台运行容器--name=prometheus:给容器命名-p 9090:9090:将容器的 9090 端口映射到宿主机的 9090 端口-v /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:将宿主机的prometheus.yml配置文件挂载到容器的/etc/prometheus/prometheus.yml--restart=always:无论容器退出状态如何,始终重启容器--config.file=/etc/prometheus/prometheus.yml:指定 Prometheus 配置文件的位置--web.enable-lifecycle:启用 Prometheus Web UI 的热重载和优雅关闭功能
配置 Prometheus (prometheus.yml)
Prometheus 的配置文件 (prometheus.yml) 定义了 Prometheus 如何抓取和聚合指标。以下是一个示例配置文件,其中包含多个抓取配置(scrape_configs):
yaml
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'auth'
scrape_interval: 5s
metrics_path: /actuator/prometheus
static_configs:
- targets: ['172.31.121.149:8082', '172.31.121.150:8082']
# 其他 job 配置...配置说明:
scrape_interval:全局抓取间隔evaluation_interval:规则评估间隔scrape_configs:定义要抓取的目标列表job_name:作业名称static_configs:静态配置的目标列表metrics_path:指标路径(如 Spring Boot Actuator 的/actuator/prometheus)
访问 Prometheus
将修正后的配置文件保存到宿主机上的 /data/prometheus/prometheus.yml 路径,然后重新启动 Prometheus 容器以使更改生效:
bash
docker restart prometheus访问 Prometheus Web UI:
http://localhost:9090常用管理命令
查看日志
bash
docker logs prometheus重新加载配置
如果启用了 --web.enable-lifecycle,可以通过 API 重新加载配置:
bash
curl -X POST http://localhost:9090/-/reload停止容器
bash
docker stop prometheus启动容器
bash
docker start prometheus总结
通过 Docker 安装 Prometheus 可以快速搭建监控系统,配合 Grafana 等可视化工具,可以构建完整的监控解决方案。