安装

使用预编译二进制文件

我们为大多数官方 Prometheus 组件提供预编译的二进制文件。请查看下载部分以获取所有可用版本的列表。

从源代码

要从源代码构建 Prometheus 组件,请参阅相应存储库中的 Makefile 目标。

使用 Docker

所有 Prometheus 服务都可以作为 Docker 镜像在 Quay.ioDocker 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 目录中,因此每次容器重新启动时数据都会被清除。要保存您的数据,您需要为容器设置持久存储(或绑定挂载)。

使用持久存储运行 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

一个更高级的选项是在启动时使用一些工具动态渲染配置,甚至让守护进程定期更新它。

使用配置管理系统

如果您喜欢使用配置管理系统,您可能会对以下第三方贡献感兴趣

Ansible

Chef

Puppet

SaltStack

此文档是开源的。请通过提交问题或拉取请求来帮助改进它。