注意: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,可使用 prom/promdash Docker 镜像。默认情况下,该镜像会以生产模式启动 thin webserver。若要运行迁移等 rake 任务,可指定任何命令作为 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 "[***]"
运行 PromDash 的方式类似。运行后,在 Web UI([***])中添加 URL 为 [***] 的 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:
[***]
如果担心 点击劫持***,只要不需要在 iframe 中显示仪表板,恢复此提交是安全的。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速