Loading...

文章背景图

Prometheus:开源系统监控与告警工具|部署与从源码构建全指南

2026-11-02
0
- 字
- 分钟
|

Prometheus · 开源系统监控与告警工具|部署与从源码构建全指南

项目仓库: https://github.com/prometheus/prometheus

开源协议:Apache 2.0 · 默认 Web 端口:9090 · 推荐安装:预编译二进制 · Docker:prom/prometheus · 从源码:Go + Node.js + npm 10+ · 官方文档:prometheus.io/docs


1 项目简介

Prometheus 是开源的系统监控与告警工具,以多维数据模型和 PromQL 采集时序指标,是云原生可观测性生态的核心项目(CNCF 毕业项目)。它通过拉取(pull)方式采集目标指标,提供存储、查询、告警与可视化。

1.1 核心信息一览

项目项 内容
项目名称 Prometheus
仓库地址 github.com/prometheus/prometheus
项目定位 开源监控与告警(时序数据库)
开源协议 Apache 2.0
默认 Web 端口 9090
推荐安装 预编译二进制(prometheus.io/download)
Docker 镜像 prom/prometheus(Docker Hub / Quay)
官方文档 prometheus.io/docs

1.2 适用场景

  • 基础设施与应用指标监控。
  • 云原生环境指标采集与告警。
  • 配合 Grafana 做可视化。

1.3 能力边界(官方口径)

  • 官方推荐用最新生产 release 的预编译二进制安装。
  • go install 构建的版本需从克隆仓库根目录运行,且不含 React UI(需 make assets/make build)。

2 功能特性

  • 多维数据模型:指标名 + 键值标签。
  • PromQL:强大的查询语言。
  • 拉取式采集:HTTP pull 指标。
  • 告警管理:告警规则与通知。
  • 服务发现:多种服务发现集成。

3 官方跳转链接汇总

类别 链接 说明
仓库主页 https://github.com/prometheus/prometheus 源码
下载 prometheus.io/download 预编译二进制
安装文档 Installing 官方安装
Docker Hub prom/prometheus 镜像
配置示例 prometheus.yml 示例配置

4 方式一:预编译二进制(官方推荐)

从 prometheus.io/download 下载最新生产 release,解压后:

./prometheus --config.file=prometheus.yml

访问 http://localhost:9090。

5 方式二:Docker 快速试用

docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus

启动后访问 http://localhost:9090/。

6 方式三:从源码构建

6.1 前置要求

  • Go:go.mod 指定版本或更高。
  • Node.js:.nvmrc 指定版本或更高。
  • npm:10 或更高。

6.2 步骤

git clone https://github.com/prometheus/prometheus.git
cd prometheus

# 用 go 工具构建(注意:需从仓库根目录运行,且不含 React UI)
go install github.com/prometheus/prometheus/cmd/...
prometheus --config.file=your_config.yml

用 make build 构建会把 web 资源编译进去,可在任意目录运行:

make build

7 配置项说明

配置 位置 说明
--config.file 启动参数 主配置文件(prometheus.yml)
端口 9090 Web UI 与 API

8 常见故障排查

  • Web UI 缺失:用 go install 构建时需 make assets/make build 编译 React UI。
  • 端口 9090 冲突:用 --web.listen-address 改端口。
  • 目标没数据:检查 prometheus.yml 的 scrape_configs。

9 风险与说明

  • 许可证:Apache 2.0。
  • 生产部署:官方推荐预编译 release,不用 main 分支。
  • 非官方声明:本文基于官方仓库 README 整理,命令以最新 release 为准。
评论交流

文章目录