安装
使用预编译的二进制文件
我们提供了大多数官方 Prometheus 组件的预编译二进制文件。请访问下载页面获取所有的可用版本。
从源代码构建
要从源代码构建 Prometheus 组件,请查看各个仓库中的Makefile
。
使用 Docker
所有的 Prometheus 服务都作为 Docker 镜像可以在 Quay.io 或 Docker Hub 找到。
在 Docker 中运行 Prometheus 非常简单,只需执行 docker run -p 9090:9090 prom/prometheus
即可。这将以示例配置启动 Prometheus,并监听9090端口。
Prometheus 镜像使用卷来存储实际的指标。对于生产中的部署,我们强烈建议使用 named volume 来简化 Prometheus 升级时的数据管理。
设置命令行参数
Docker 镜像使用默认的命令行参数启动,这些参数可以在 Dockerfile 中找到(请调整超链接以对应你正在使用的版本)。
如果你想向docker run
命令添加额外的命令行参数,则需要自己重新添加这些参数,否则它们会被覆盖。
卷与绑定挂载
有几种不同的方式可以进行挂载。下面是两个例子。
- 运行以下命令从主机挂载
prometheus.yml
文件:
- 或者,运行以下命令将包含
prometheus.yml
的目录挂载到/etc/prometheus
:
保存 Prometheus 数据
Prometheus 数据存储在容器内的/prometheus
目录中,因此每次容器重启时数据都会被清除。要保存数据,你需要设置持久化存储(persistent storage)以供你的容器使用。
在运行 Prometheus 容器添加持久卷(persistent volume):
自定义镜像
为了避免进行在主机上管理配置文件后将其挂载的繁琐操作,可以选择将配置内置到镜像中。如果配置本身相对静态并且在所有环境中都不会改变,这种方法效果很好。
为此,创建一个包含 Prometheus 配置和Dockerfile
的新目录:
现在进行构建后运行:
更高级的选择是在启动时使用一些工具进行配置动态渲染。你甚至可以设定一个守护进程去周期性更新配置。
使用配置管理系统
如果你更喜欢使用配置管理系统,你可能会对以下第三方贡献感兴趣:
Ansible
Chef
Puppet
SaltStack
该文档基于 Prometheus 官方文档翻译而成。