我们为大多数官方 Prometheus 组件提供预编译的二进制文件。请查看 下载 部分,获取所有可用版本的列表。
要从源代码构建 Prometheus 组件,请参阅相应仓库中的 Makefile
目标。
所有 Prometheus 服务都以 Docker 镜像的形式在 Quay.io 或 Docker Hub 上提供。
在 Docker 上运行 Prometheus 非常简单,只需运行 docker run -p 9090:9090 prom/prometheus
即可。 这将使用示例配置启动 Prometheus,并在端口 9090 上公开它。
Prometheus 镜像使用卷来存储实际指标。对于生产部署,强烈建议使用 命名卷 以便在 Prometheus 升级时轻松管理数据。
Docker 镜像启动时带有许多默认命令行参数,这些参数可以在 Dockerfile 中找到(调整链接以与正在使用的版本相对应)。
如果想要向 docker run
命令添加额外的命令行参数,则需要重新添加这些参数,因为它们将被覆盖。
要提供您自己的配置,有几种选择。 以下是两个示例。
通过运行以下命令,从主机绑定挂载您的 prometheus.yml
docker run \
-p 9090:9090 \
-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
或者通过运行以下命令,将包含 prometheus.yml
的目录绑定挂载到 /etc/prometheus
docker run \
-p 9090:9090 \
-v /path/to/config:/etc/prometheus \
prom/prometheus
Prometheus 数据存储在容器内的 /prometheus
目录中,因此每次容器重新启动时数据都会被清除。 要保存您的数据,您需要为您的容器设置持久存储(或绑定挂载)。
运行带有持久存储的 Prometheus 容器
# Create persistent volume for your data
docker volume create prometheus-data
# Start Prometheus container
docker run \
-p 9090:9090 \
-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
-v prometheus-data:/prometheus \
prom/prometheus
为了避免在主机上管理文件并进行绑定挂载,可以将配置烘焙到镜像中。 如果配置本身是静态的并且在所有环境中都相同,则此方法效果良好。
为此,创建一个新目录,其中包含 Prometheus 配置和一个像这样的 Dockerfile
FROM prom/prometheus
ADD prometheus.yml /etc/prometheus/
现在构建并运行它
docker build -t my-prometheus .
docker run -p 9090:9090 my-prometheus
更高级的选择是使用一些工具在启动时动态呈现配置,甚至让守护程序定期更新它。
如果您喜欢使用配置管理系统,您可能会对以下第三方贡献感兴趣
本文档是开源的。 请通过提交 issue 或 pull request 来帮助改进它。