
prom/prometheus
Prometheus(简称Prom)是一款开源的监控与告警系统,由SoundCloud发起,现为云原生计算基金会(CNCF)毕业项目,采用时序数据库存储监控指标,支持多维度数据模型和PromQL查询语言,可通过静态配置或动态服务发现机制采集数据,并能基于自定义规则触发告警,广泛集成于Kubernetes等云原生环境,为分布式系统提供可靠的性能监控与问题诊断能力。
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Prometheus
访问 [prometheus.io] 可获取完整文档、示例及指南。
项目概述
Prometheus 是 [Cloud Native Computing Foundation] (CNCF)旗下项目,专注于系统和服务监控。它通过配置的目标定期收集指标,评估规则表达式,展示结果,并能在满足特定条件时触发告警。
核心特点
- 多维度数据模型:时间序列由指标名称和一组键值维度定义。
- PromQL 查询语言:强大灵活,可充分利用数据的维度特性。
- 独立部署能力:无需依赖分布式存储,单节点即可自主运行。
- HTTP 拉取模式:通过拉取方式收集时间序列数据。
- 支持推送模式:通过中间网关支持批处理任务的时间序列推送。
- 目标发现机制:支持服务发现或静态配置两种方式发现监控目标。
- 丰富的可视化支持:提供多种图表和仪表盘展示模式。
- 联邦能力:支持层级和水平联邦部署。
架构概览
项目提供架构图展示组件关系(可参考官方文档中的架构示意图)。
安装指南
预编译二进制文件
已发布版本的预编译二进制文件可在 [prometheus.io 的下载页面] 获取。推荐使用最新的生产版本二进制文件进行安装,具体步骤可参考文档中的 [安装章节] 。
Docker 镜像
Docker 镜像托管在 [Quay.io] 或 [Docker Hub] 。
快速启动 Prometheus 容器进行试用:
bashdocker run --name prometheus -d -p 127.0.0.1:9090:9090 docker.xuanyuan.run/prom/prometheus
启动后可通过 <[]> 访问 Prometheus。
从源码构建
依赖要求
- Go:版本需不低于 go.mod 中指定的版本。
- NodeJS:版本需不低于 .nvmrc 中指定的版本。
- npm:版本 8 及以上(可通过
npm --version检查,安装参考 [npm 官网] )。
构建步骤
-
克隆仓库:
bashgit clone [] cd prometheus -
使用
go install构建(需从仓库根目录运行):bashGO111MODULE=on go install github.com/prometheus/prometheus/cmd/... prometheus --config.file=your_config.yml注意:此方式需确保
web/ui/static和web/ui/templates目录下的前端资源存在,且未包含 React UI(需通过make assets或make build显式构建)。 -
使用
make build构建(内置前端资源,可随处运行):bashmake build ./prometheus --config.file=your_config.yml
Makefile 目标说明
build:构建prometheus和promtool二进制文件(含前端资源编译)。test:运行所有测试。test-short:运行简短测试。format:格式化源代码。vet:检查代码常见错误。assets:构建 React UI。
服务发现插件
Prometheus 内置多种服务发现插件。从源码构建时,可编辑 plugins.yml 文件(YAML 格式的 Go 导入路径列表)禁用不需要的插件,修改后需重新执行 make build。
若需添加第三方插件(暂不推荐),需额外调整 go.mod 和 go.sum 文件。
作为 Go 库使用
Remote Write
Remote Write 的 Protobuf 定义独立发布于 [buf.build] ,可通过以下命令获取(实验性功能):
shellgo get buf.build/gen/go/prometheus/prometheus/protocolbuffers/go@latest
版本对应关系
Prometheus 版本号与 Go 模块版本遵循以下规则:
- v3.y.z 版本:对应 Go 模块标签
v0.3y.z(y 为两位数,不足补零,如 v3.0.0 对应v0.300.0)。
示例:安装 v3.0.0 作为库:shellgo get github.com/prometheus/prometheus@v0.300.0 - v2.y.z 版本:对应 Go 模块标签
v0.y.z。
示例:安装 v2.35.0 作为库:shellgo get github.com/prometheus/prometheus@v0.35.0
React UI 开发
关于 React 前端的构建、运行及开发详情,可参考 React 应用的 README.md。
更多信息
- Go 文档:通过 [pkg.go.dev] 查看(v3.y.z 显示为
v0.3y.z,v2.y.z 显示为v0.y.z)。 - 社区支持:访问 [社区页面] 获取开发者和用户交流渠道。
贡献指南
参考 [CONTRIBUTING.md] 。
许可协议
采用 Apache License 2.0,详见 [LICENSE] 。
prom/prometheus 国内 Docker 镜像拉取说明
在国内网络环境下,直接使用 docker pull 访问 Docker Hub 官方仓库时,较常遇到连接超时、TLS 握手失败或 registry 响应缓慢等情况。这类问题多与跨境链路质量、运营商策略及客户端 DNS 解析有关,并非单个镜像本身异常。
轩辕镜像提供两种常用加速方式:一是使用公共加速域名 docker.xuanyuan.run 拉取(可参考 登录认证方式);二是在控制台配置 专属域名拉取,将拉取命令中的 registry 前缀替换为分配的专属域名,通常能提升成功率与稳定性。
以 prom/prometheus 为例,加速拉取命令格式为 docker pull docker.xuanyuan.run/prom/prometheus:<标签>,请将 <标签> 替换为具体版本。下方「镜像拉取方式」区块提供与本文一致的命令示例,可直接复制使用。
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
轩辕镜像加速拉取命令点我查看更多 prometheus 镜像标签
DockerHub 原生拉取命令
镜像拉取常见问题
功能
错误码
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务