如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
注意:PromDash 已被弃用。目前官方推荐使用 Grafana 来可视化 Prometheus 指标,因为它原生支持 Prometheus,且被广泛采用、功能强大。
Prometheus 的仪表板工具,用于展示和可视化监控指标。
!promdash
sudo apt-get install libmysqlclient-dev(详情)sudo apt-get install postgresql-9.{3|4} postgresql-server-dev-9.{3|4}(详情)sudo apt-get install sqlite3 libsqlite3-dev(详情)安装 gems:
bashbundle
设置数据库:
bashcp config/database.yml.example config/database.yml RAILS_ENV=development bundle exec rake db:setup
启动 Rails 服务器:
bashbundle exec rails s
在生产模式下,需要定义多个环境变量来配置数据库参数:
bashDATABASE_URL="mysql2://username:password@host/database" RAILS_ENV="production"
注意:除 MySQL 外,还可使用其他与 Rails 兼容的关系型数据库,如 PostgreSQL 或 SQLite3。详见 [***]
创建独立的 Ruby 环境并预编译资源:
bashmake build
从捆绑环境运行生产服务器:
bashbin/env bin/bundle exec bin/thin -p $PORT start
要使用 Docker 部署 PromDash,可使用 https://registry.hub.docker.com/u/prom/promdash/ Docker 镜像。默认情况下,该镜像会以生产模式启动 thin webserver。若要运行迁移等 rake 任务,可指定任何命令作为 Docker 镜像的参数。
Docker 快速启动部署
以下是使用基于文件的本地数据库运行 PromDash 的快速启动示例。
首先,在主机上的共享本地 Docker 卷中创建 SQLite3 数据库:
bashdocker run --rm -v /tmp/prom:/tmp/prom \ -e DATABASE_URL=sqlite3:/tmp/prom/file.sqlite3 \ prom/promdash ./bin/rake db:migrate
然后,使用刚创建的数据库启动 PromDash:
bashdocker run -p 3000:3000 -v /tmp/prom:/tmp/prom \ -e DATABASE_URL=sqlite3:/tmp/prom/file.sqlite3 \ prom/promdash
可直接向 thin 服务器传递参数:
bashdocker run -p 3000:4000 -v /tmp/prom:/tmp/prom \ -e DATABASE_URL=sqlite3:/tmp/prom/file.sqlite3 \ prom/promdash ./bin/thin -a localhost -p 4000 start
要在反向代理后部署 PromDash,可使用环境变量 PROMDASH_PATH_PREFIX 和 RAILS_RELATIVE_URL_ROOT 设置全局路径前缀。设置后,所有 URL 都将以指定前缀开头。
一种简单的方式是在同一台机器上运行反向代理、Prometheus 和 PromDash,通过认证保护部署,限制直接的 IP:PORT 访问。
反向代理(如 nginx、HAProxy)
http(s)://dash.example.com/dash 路由到后端 localhost:3000http(s)://dash.example.com/prom 路由到后端 localhost:9090运行 Prometheus 时仅绑定到 localhost,以限制绕过认证的直接外部网络访问。记得在 -web.external-url 中传递路径部分。Docker 示例:(完整参考)
bashdocker run -p 127.0.0.1:9090:9090 -v /prometheus-data \ prom/prometheus -config.file=/prometheus-data/prometheus.yml \ -web.external-url "http://dash.example.com/prom"
运行 PromDash 的方式类似。运行后,在 Web UI(http://dash.example.com/dash)中添加 URL 为 http://dash.example.com/prom/ 的 Prometheus 服务器。
bashdocker run -p 127.0.0.1:3000:3000 -v /tmp/prom:/tmp/prom \ -e DATABASE_URL=sqlite3:/tmp/prom/file.sqlite3 \ -e PROMDASH_PATH_PREFIX=/dash \ -e RAILS_RELATIVE_URL_ROOT=/dash \ prom/promdash
最后,访问 dash.example.com/dash 和 dash.example.com/prom 检查反向代理是否正常工作,两者都应提示输入凭据(如 HTTP 基本认证)。可使用 Chrome 无痕模式强制重新认证。然后访问公共 IP 的 <IP>:3000/dash 和 <IP>:9090/prom,确认无法直接访问(页面加载错误)。
部署 PromDash 新版本前,请遵循以下清单:
bundle exec rake db:migrate)?部署新版本后:
由于经常需要在内联框架(iframe)中显示各种 PromDash 视图,我们为所有视图禁用了 Rails 的默认头 X-Frame-Options: SAMEORIGIN:
https://github.com/prometheus/promdash/commit/5b1da215296b5316568ad7c8449652f0d7f74ebe
如果担心 点击劫持***,只要不需要在 iframe 中显示仪表板,恢复此提交是安全的。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务