一、使用预编译二进制文件

我们为Prometheus大多数的官方组件,提供了预编译二进制文件。可用版本下载列表

二、源码安装

如果要从源码安装Prometheus的官方组件,可以查看各个项目源码目录下的Makefile

三、Docker安装

所有Prometheus服务的Docker镜像在官方组织Quay.io或者Docker Hub下,都是可用的。

Docker上运行Prometheus服务,只需要简单地执行docker run -p 9090:9090 prom/prometheus命令行即可。这条命令会启动Prometheus服务,使用的是默认配置文件,并对外界暴露9090端口。

Prometheus镜像使用docker中的volumn卷存储实际度量指标。在生产环境上使用容器卷模式,可以在Prometheus更新和升级时轻松管理Prometheus数据,这种使用docker volumn卷方式存储数据,是被docker官方强烈推荐的。

通过几个选项,可以达到使用自己的配置的目的。下面有两个例子。

3.1 卷&绑定挂载

通过运行以下命令从主机绑定您的prometheus.yml:

docker run -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

或者为这个配置文件使用一个独立的volumn

docker run -p 9090:9090 -v /prometheus-data \ prom/prometheus -config.file=/prometheus-data/prometheus.yml

3.2 自定义镜像

为避免管理主机上的文件并对其进行绑定安装,可以将配置烘焙到映像中。 如果配置本身相当静态并且在所有环境中都相同,则此方法很有效。

为此,使用Prometheus配置和Dockerfile创建一个新目录,如下所示:

  1. FROM prom/prometheus
  2. ADD prometheus.yml /etc/prometheus/

然后编译和运行它:

  1. docker build -t my-prometheus .
  2. docker run -p 9090:9090 my-prometheus

一个更高级的选项是可以通过一些工具动态地渲染配置,甚至后台定期地更新配置。

四、使用配置管理系统

如果你喜欢使用配置管理系统,你可能对下面地第三方库感兴趣:

Ansible:

Chef:

Puppet:

SaltStack: