CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/Prometheus/安装
文档目录
安装Prometheus Agent 模式存储联邦编写 HTTP 服务发现管理 APIPrometheus 3.0 迁移指南API 稳定性保证功能开关

Prometheus

安装

我们为大多数官方 Prometheus 组件提供了预编译的二进制文件。请查看下载页面获取所有可用版本的列表。 如需从源码构建 Prometheus 组件,请参阅相应代码仓库中的 Makefile 目标。 所有 Prometheus 服务都可以在 Quay.io 或 Docker Hub 上以 Docker 镜像的形式获取。 在 Docker 上运行 Prometheus 非常简单,只需执行...

使用预编译二进制文件

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

从源码构建

如需从源码构建 Prometheus 组件,请参阅相应代码仓库中的 Makefile 目标。

使用 Docker

所有 Prometheus 服务都可以在 Quay.io 或 Docker Hub 上以 Docker 镜像的形式获取。

在 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

  • prometheus-community/ansible

Chef

  • rayrod2030/chef-prometheus

Puppet

  • puppet/prometheus

SaltStack

  • saltstack-formulas/prometheus-formula

文章大纲