将 Proxmox Backup Server 统计数据导出至 Prometheus。
指标通过 Proxmox Backup Server API 获取。
| 指标名称 | 含义 | 标签 |
|---|---|---|
| pbs_up | 最近一次 Proxmox Backup Server 查询是否成功? | |
| pbs_version | Proxmox Backup Server 版本 | version, repoid, release |
| pbs_available | 底层存储的可用字节数 | datastore |
| pbs_size | 底层存储的总字节数 | datastore |
| pbs_used | 底层存储的已用字节数 | datastore |
| pbs_snapshot_count | 备份总数 | datastore, namespace |
| pbs_snapshot_vm_count | 每台虚拟机的备份总数 | datastore, namespace, vm_id, vm_name |
| pbs_snapshot_vm_last_timestamp | 虚拟机最近一次备份的时间戳 | datastore, namespace, vm_id, vm_name |
| pbs_snapshot_vm_last_verify | 虚拟机最近一次备份的验证状态 | datastore, namespace, vm_id, vm_name |
| pbs_host_subscription_due_timestamp_seconds | 主机订阅到期时间戳(秒) | productname |
| pbs_host_subscription_info | 主机订阅信息 | productname, status |
| pbs_host_subscription_status | 指示订阅是否处于标签所指状态 | status = (active|expired|invalid|new|notfound|superseded) |
| pbs_host_cpu_usage | 主机 CPU 使用率 | |
| pbs_host_memory_free | 主机空闲内存 | |
| pbs_host_memory_total | 主机总内存 | |
| pbs_host_memory_used | 主机已用内存 | |
| pbs_host_swap_free | 主机空闲交换空间 | |
| pbs_host_swap_total | 主机总交换空间 | |
| pbs_host_swap_used | 主机已用交换空间 | |
| pbs_host_disk_available | 本地根磁盘的可用空间(字节) | |
| pbs_host_disk_total | 本地根磁盘的总空间(字节) | |
| pbs_host_disk_used | 本地根磁盘的已用空间(字节) | |
| pbs_host_uptime | 主机运行时间 | |
| pbs_host_io_wait | 主机 IO 等待时间 | |
| pbs_host_load1 | 主机 1 分钟负载 | |
| pbs_host_load5 | 主机 5 分钟负载 | |
| pbs_host_load15 | 主机 15 分钟负载 |
$ ./pbs-exporter -help
您可以使用以下标志配置导出器。所有标志也可通过环境变量设置。环境变量的优先级高于标志。
| 标志 | 环境变量 | 描述 | 默认值 |
|---|---|---|---|
pbs.loglevel | PBS_LOGLEVEL | 日志级别(debug、info) | info |
pbs.api.token | PBS_API_TOKEN | 用于身份验证的 API 令牌 | |
pbs.api.token.name | PBS_API_TOKEN_NAME | 用于身份验证的 API 令牌名称 | pbs-exporter |
pbs.endpoint | PBS_ENDPOINT | Proxmox Backup Server 地址 | http://localhost:8007(若未设置 target 参数) |
pbs.username | PBS_USERNAME | 用于身份验证的用户名 | root@pam |
pbs.timeout | PBS_TIMEOUT | 对 Proxmox Backup Server 请求的超时时间 | 5s |
pbs.insecure | PBS_INSECURE | 禁用 TLS 证书验证 | false |
pbs.metrics-path | PBS_METRICS_PATH | 暴露指标的路径 | /metrics |
pbs.listen-address | PBS_LISTEN_ADDRESS | Web 界面和遥测的监听地址 | :10019 |
Prometheus-pbs-exporter 也可直接安装在 Proxmox Backup Server 上,无需额外启动 Docker 容器。
# 下载 prometheus-pbs-exporter
mkdir /opt/pbs-exporter
cd /opt/pbs-exporter
wget https://github.com/natrontech/pbs-exporter/releases/download/v0.6.4/pbs-exporter_v0.6.4_linux_amd64.tar.gz
tar xfvz pbs-exporter_v0.6.4_linux_amd64.tar.gz
cp pbs-exporter-linux-amd64 /bin/
# 创建用于运行 prometheus-pbs-exporter 的专用用户
useradd -m pbs-exporter -s /sbin/nologin
# 下载 systemd 单元文件
cd /etc/systemd/system
wget https://raw.githubusercontent.com/natrontech/pbs-exporter/refs/heads/main/systemd/prometheus-pbs-exporter.service
systemd daemon-reload
# 创建 prometheus-pbs-exporter 环境文件(至少需要令牌)
vi /etc/pbs-exporter.env
# 添加令牌内容及其他所需选项:
TOKEN=beef-1337-cafe-beef-cafe-1337
# 启用并启动服务
systemctl enable prometheus-pbs-exporter.service
systemctl start prometheus-pbs-exporter.service
如果使用 Docker secrets,可通过以下环境变量设置密钥文件路径:
| 环境变量 | 描述 |
|---|---|
PBS_API_TOKEN_FILE | API 令牌文件的路径 |
PBS_API_TOKEN_NAME_FILE | API 令牌名称文件的路径 |
PBS_USERNAME_FILE | 用户名文件的路径 |
有关如何在 Docker Compose 中使用 Docker secrets 的示例,请参见 docker-compose-secrets.yaml 文件。
变量 PBS_API_TOKEN、PBS_API_TOKEN_NAME 和 PBS_USERNAME 的优先级高于密钥文件。
若要监控多台 Proxmox Backup Server,可在查询字符串中使用 targets 参数。无需设置 pbs.endpoint 标志(或 PBS_ENDPOINT 环境变量),而是在查询字符串中使用 target 参数指定要监控的 Proxmox Backup Server。此时,您可以通过以下 URL 抓取指标:http://localhost:10019/metrics?target=http://10.10.10.10:8007。
这在使用 Prometheus 并希望通过一个 "pbs-exporter" 实例监控多台 Proxmox Backup Server 时非常有用。有关 Prometheus 静态配置示例,请参见 prometheus/static-config 目录。
[!IMPORTANT] 如果设置了
pbs.endpoint或PBS_ENDPOINT,则target参数将被忽略。
根据 API 文档,我们必须提供节点名称(节点 IP 不可用),但似乎任何名称都可以,因此我们在请求中使用 "localhost"。此设置已在单台 Proxmox Backup Server 主机上测试通过。
我们已在 Proxmox Backup Server 版本 3.X 上测试过此导出器(参见 Proxmox Backup Server 路线图)。如果您已在更新版本上测试过该导出器,或遇到问题,请告知我们。
应用的每个版本均包含 Go 二进制归档文件、校验和文件、SBOM 以及容器镜像。
发布工作流使用 SLSA 标准 为其构建创建溯源信息,该标准符合 Level 3 规范。可使用 slsa-verifier 或 cosign 工具验证每个工件(参见 发布验证)。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务