乐于分享
好东西不私藏

Linux 下载、安装 Prometheus,云原生监控与告警的开源系统(附安装包prometheus-3.13.2.linux-amd64.tar.gz)

Linux 下载、安装 Prometheus,云原生监控与告警的开源系统(附安装包prometheus-3.13.2.linux-amd64.tar.gz)

文章目录

    • 1. Prometheus 简介
    • 2. v3.13.2 版本亮点
      • 2.1 安全修复
      • 2.2 缺陷修复
    • 3. 获取安装包
    • 4. 安装
      • 4.1 生产环境配置(systemd 服务化)
    • 5. 使用
      • 5.1 配置抓取目标
      • 5.2 PromQL 常用查询
      • 5.3 告警规则
      • 5.4 配置校验与热加载
      • 5.5 运行状态监控

1. Prometheus 简介

Prometheus 是一款开源的系统与服务监控告警平台,2012 年诞生于 SoundCloud,由 Matt Proud 和 Julius Volz 在 Google 内部监控系统 Borgmon 的启发下用 Go 语言编写。2016 年 5 月成为云原生计算基金会(CNCF)最早一批项目之一,2018 年更成为继 Kubernetes 之后第二个从 CNCF 毕业的项目。如今 Prometheus 在 GitHub 上拥有约 6.5 万颗星标1.7 万余位贡献者,是云原生监控领域的事实标准,几乎所有 Kubernetes 集群都在用它做指标采集与告警。

Prometheus 要解决的,是分布式环境中指标监控数据分散、查询困难的问题:传统监控工具要么依赖分布式存储、部署复杂,要么只能看曲线、难以按维度查询告警。而 Prometheus 用"拉取(pull)"模式定时抓取各目标暴露的指标,配合多维数据模型和 PromQL 查询语言,让运维能随时用一条查询看清任意维度的服务状态,并在条件满足时自动触发告警——单节点即可独立运行,无需外部存储依赖。

Prometheus 的核心特点:

  • 多维数据模型
    :时间序列由指标名和一组键/值标签(label)定义,天然支持按维度切片与聚合
  • PromQL 查询语言
    :强大灵活的查询语言,充分利用维度化数据模型
  • 单节点自治
    :不依赖分布式存储,单个服务器节点即可独立运行
  • HTTP 拉取模型
    :按配置周期通过 HTTP 拉取目标指标,也支持通过 Pushgateway 接收批处理作业的推送
  • 服务发现
    :支持 Kubernetes、Consul 等动态发现抓取目标,也支持静态配置
  • 原生告警
    :内置告警规则评估,可对接 Alertmanager 统一告警分发
  • 联邦扩展
    :支持层级与水平方向的联邦(federation),可横向扩展采集规模

2. v3.13.2 版本亮点

该版本汇集了 2 位贡献者 的 2 条 贡献。

v3.13.2 发布于 2026 年 7 月 29 日,是一个维护性补丁版本,重点包含安全升级与一处稳定性修复:

2.1 安全修复

  • 升级 golang.org/x/text 至 v0.39.0,修复安全漏洞 CVE-2026-56852;升级 google.golang.org/grpc 至 v1.82.1,修复 GHSA-hrxh-6v49-42gf
  • 建议所有使用远程写入(Remote Write)或 OTLP 接收功能的用户尽快升级

2.2 缺陷修复

  • PromQL 稳定性
    :预分配活跃查询跟踪器(active query tracker)文件,避免数据磁盘写满时出现 SIGBUS 崩溃

3. 获取安装包

如果访问 GitHub 不便,安装包及中文文档:https://hanshuixin.org/go/225F(内含 prometheus-3.13.2.linux-amd64.tar.gz、README 中英对照、发布说明中英对照和 LICENSE)。

适用于 Linux x86_64(amd64)。

Prometheus 其他版本:https://hanshuixin.org/resource/software_integrated_package/Linux/Prometheus

Linux安装prometheus-v3.13.2(prometheus-3.13.2.linux-amd64).zip├── prometheus-3.13.2.linux-amd64.tar.gz   ← 解压后运行├── Linux安装prometheus-v3.13.2(prometheus-3.13.2.linux-amd64).pdf├── README/│   ├── README.md│   └── README-中文版.md├── 发布说明/│   ├── RELEASE-NOTES.md│   └── RELEASE-NOTES-中文版.md└── LICENSE

4. 安装

prometheus-3.13.2.linux-amd64.tar.gz 是 Prometheus 官方发布的 Linux x86_64 预编译二进制包,不绑定特定发行版,解压即可运行:

# 解压二进制包tar -xzf prometheus-3.13.2.linux-amd64.tar.gz# 进入解压目录(内含 prometheus 与 promtool 两个可执行文件)cd prometheus-3.13.2.linux-amd64# 启动 Prometheus(使用自带的默认配置)./prometheus --config.file=prometheus.yml

启动后访问 http://localhost:9090 即可打开 Prometheus 的 Web 界面。

4.1 生产环境配置(systemd 服务化)

实际生产部署中,建议将二进制部署到统一目录,创建无登录权限的专用运行用户,并以 systemd 服务托管,便于开机自启、崩溃自动拉起与统一管理:

# 将二进制部署到统一目录sudo mkdir -p /opt/prometheussudo cp prometheus promtool /opt/prometheus/# 创建专用用户(无登录权限)并授权sudo useradd --system --no-create-home --shell /sbin/nologin prometheussudo chown -R prometheus:prometheus /opt/prometheus

创建服务文件 /etc/systemd/system/prometheus.service

[Unit]Description=Prometheus MonitoringDocumentation=https://prometheus.io/docs/introduction/overview/After=network.target[Service]Type=simpleUser=prometheusGroup=prometheusWorkingDirectory=/opt/prometheusExecStart=/opt/prometheus/prometheus \  --config.file=/opt/prometheus/prometheus.yml \  --web.listen-address=0.0.0.0:9090 \  --storage.tsdb.retention.time=1y \  --storage.tsdb.path=/opt/prometheus/dataExecReload=/bin/kill -HUP labels.xxx }} 引用标签生成可读描述。在 prometheus.yml 中引入规则文件:rule_files:  - "rules.yml"rules.yml 按场景分组成组,常见的有基础设施、业务应用、站点可用性三类:groups:  - name: infra-alerts    rules:      # 主机离线      - alert: 主机离线        expr: up{job="node"} == 0        for: 2m        labels:          severity: critical        annotations:          summary: 主机离线          description: "{{ labels.instance }} 磁盘剩余空间低于 5GB"  - name: app-alerts    rules:      # 业务服务离线      - alert: 服务离线        expr: up{job="springboot"} == 0        for: 1m        labels:          severity: critical        annotations:          description: "{{ labels.instance }} JVM 堆内存使用率超过 90%"  - name: site-alerts    rules:      # 官网首页不可访问(由 Blackbox 探测产生 probe_success 指标)      - alert: 首页不可访问        expr: probe_success{instance=~".*example.com/labels.instance }} 探测失败"告警触发后,Prometheus 会将告警推送给 Alertmanager 做统一去重、分组、静默,再通过邮件、Webhook 等方式通知,形成完整告警链路。5.4 配置校验与热加载修改配置后,先用 promtool 校验再热加载,避免错误配置导致服务异常:# 校验配置./promtool check config prometheus.yml# 校验规则文件./promtool check rules rules.yml# 热加载(无需重启)sudo systemctl reload prometheus5.5 运行状态监控Web 界面的"状态"菜单提供了监控 Prometheus 自身的手段:Targets(抓取目标):查看每个抓取目标的健康状态、抓取耗时与最近错误Alerts(告警):查看所有告警规则当前状态(inactive / pending / firing)Status:查看配置哈希、启动时间、TSDB 运行信息等对外部站点探活类指标,也可在查询页用 probe_success == 0 快速排查不可访问的目标。