Prometheus

55479
下载
Prometheus 是一个开源的监控和告警系统,专注于时间序列数据的采集与存储。由 SoundCloud 开发,配备高级查询语言PromQL,便于数据挖掘与分析,并无缝对接多种可视化平台。

安装


使用预编译的二进制文件

我们提供了大多数官方 Prometheus 组件的预编译二进制文件。请访问下载页面获取所有的可用版本。

从源代码构建

要从源代码构建 Prometheus 组件,请查看各个仓库中的Makefile

使用 Docker

所有的 Prometheus 服务都作为 Docker 镜像可以在 Quay.ioDocker Hub 找到。

在 Docker 中运行 Prometheus 非常简单,只需执行 docker run -p 9090:9090 prom/prometheus 即可。这将以示例配置启动 Prometheus,并监听9090端口。

Prometheus 镜像使用卷来存储实际的指标。对于生产中的部署,我们强烈建议使用 named volume 来简化 Prometheus 升级时的数据管理。

设置命令行参数

Docker 镜像使用默认的命令行参数启动,这些参数可以在 Dockerfile 中找到(请调整超链接以对应你正在使用的版本)。

如果你想向docker run命令添加额外的命令行参数,则需要自己重新添加这些参数,否则它们会被覆盖。

卷与绑定挂载

有几种不同的方式可以进行挂载。下面是两个例子。

  1. 运行以下命令从主机挂载prometheus.yml文件:
Terminal window
docker run \
-p 9090:9090 \
-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
  1. 或者,运行以下命令将包含prometheus.yml的目录挂载到/etc/prometheus
Terminal window
docker run \
-p 9090:9090 \
-v /path/to/config:/etc/prometheus \
prom/prometheus

保存 Prometheus 数据

Prometheus 数据存储在容器内的/prometheus目录中,因此每次容器重启时数据都会被清除。要保存数据,你需要设置持久化存储(persistent storage)以供你的容器使用。

在运行 Prometheus 容器添加持久卷(persistent volume):

Terminal window
# 创建用于存储数据的持久卷
docker volume create prometheus-data
# 启动 Prometheus 容器
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/

现在进行构建后运行:

Terminal window
docker build -t my-prometheus .
docker run -p 9090:9090 my-prometheus

更高级的选择是在启动时使用一些工具进行配置动态渲染。你甚至可以设定一个守护进程去周期性更新配置。

使用配置管理系统

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

Ansible

Chef

Puppet

SaltStack

该文档基于 Prometheus 官方文档翻译而成。


observability.cn Authors 2024 | Documentation Distributed under CC-BY-4.0
Copyright © 2017-2024, Alibaba. All rights reserved. Alibaba has registered trademarks and uses trademarks.
浙ICP备2021005855号-32