Skip to content

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 等可视化工具,可以构建完整的监控解决方案。