本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

Prometheus exporter for pgBackRest。
指标基于pgbackrest info --output json命令的结果收集。默认情况下,会为该命令返回的所有备份集(stanza)收集指标。你可以指定需要收集指标的备份集。需在安装了pgBackRest的主机上或Docker容器内运行exporter。
如需可视化收集的指标,可使用现成的仪表盘pgBackRest Exporter Dashboard或自行创建。
| 指标 | 描述 | 标签 | 补充说明 |
|---|---|---|---|
pgbackrest_stanza_backup_compete_bytes | 进行中备份的已完成大小 | stanza | |
pgbackrest_stanza_backup_total_bytes | 进行中备份的总大小 | stanza | |
pgbackrest_stanza_lock_status | 当前备份集锁定状态 | stanza | 取值说明:0 - 无备份集活动操作,1 - 备份集正在运行以下命令之一:backup、expire或stanza-*。 |
pgbackrest_stanza_status | 当前备份集状态 | stanza | 取值说明:0 - 正常,1 - 备份集路径不存在,2 - 无有效备份,3 - 备份集数据缺失,4 - 仓库间不一致,5 - 仓库间数据库不匹配,6 - 请求的备份不存在,99 - 其他。 |
| 指标 | 描述 | 标签 | 补充说明 |
|---|---|---|---|
pgbackrest_repo_status | 当前仓库状态 | cipher, repo_key, stanza | 取值说明:0 - 正常,1 - 备份集路径不存在,2 - 无有效备份,3 - 备份集数据缺失,4 - 仓库间不一致,5 - 仓库间数据库不匹配,6 - 请求的备份不存在,99 - 其他 |
| 指标 | 描述 | 标签 | 补充说明 |
|---|---|---|---|
pgbackrest_backup_annotations | 备份中的注释数量 | backup_name, backup_type, database_id, block_incr, repo_key, stanza | |
pgbackrest_backup_databases | 备份中的数据库数量 | backup_name, backup_type, block_incr, database_id, repo_key, stanza | |
pgbackrest_backup_references | 引用其他备份的数量(备份引用列表) | backup_name, backup_type, block_incr, database_id, ref_backup, repo_key, stanza | |
pgbackrest_backup_duration_seconds | 备份持续时间(秒) | backup_name, backup_type, block_incr, database_id, repo_key, stanza, start_time, stop_time | |
pgbackrest_backup_error_status | 备份错误状态 | backup_name, backup_type, block_incr, database_id, repo_key, stanza | 取值说明:0 - 备份无页面校验和错误,1 - 备份包含一个或多个页面校验和错误。需手动运行命令(如pgbackrest info --stanza stanza --set backup_name --repo repo_key)查看错误列表。 |
pgbackrest_backup_info | 备份信息 | backrest_ver, backup_name, backup_type, block_incr, database_id, lsn_start, lsn_stop, pg_version, prior, repo_key, stanza, wal_start, wal_stop | 取值说明:1 - 备份信息存在。 |
pgbackrest_backup_delta_bytes | 实际需备份的数据库数据量 | backup_name, backup_type, block_incr, database_id, repo_key, stanza | |
pgbackrest_backup_size_bytes | 数据库的完整未压缩大小 | backup_name, backup_type, block_incr, database_id, repo_key, stanza | |
pgbackrest_backup_repo_delta_bytes | 备份中压缩文件的大小 | backup_name, backup_type, block_incr, database_id, repo_key, stanza | |
pgbackrest_backup_repo_size_bytes | 从备份恢复数据库所需的完整压缩文件大小 | backup_name, backup_type, block_incr, database_id, repo_key, stanza | |
pgbackrest_backup_repo_delta_map_bytes | 块增量差异映射的大小 | backup_name, backup_type, block_incr, database_id, repo_key, stanza | |
pgbackrest_backup_repo_size_map_bytes | 块增量映射的大小 | backup_name, backup_type, block_incr, database_id, repo_key, stanza |
| 指标 | 描述 | 标签 | 补充说明 |
|---|---|---|---|
pgbackrest_backup_since_last_completion_seconds | 距离最近一次完整、差异或增量备份完成的秒数 | backup_type, block_incr, stanza | |
pgbackrest_backup_last_annotations | 最近一次完整、差异或增量备份中的注释数量 | backup_type, block_incr, stanza | |
pgbackrest_backup_last_databases | 最近一次完整、差异或增量备份中的数据库数量 | backup_type, block_incr, stanza | |
pgbackrest_backup_last_references | 最近一次完整、差异或增量备份引用其他备份的数量 | backup_type, block_incr, ref_backup, stanza | |
pgbackrest_backup_last_duration_seconds | 最近一次完整、差异或增量备份的持续时间(秒) | backup_type, block_incr, stanza | |
pgbackrest_backup_last_error_status | 最近一次完整、差异或增量备份的错误状态 | backup_type, block_incr, stanza | |
pgbackrest_backup_last_delta_bytes | 最近一次完整、差异或增量备份中实际需备份的数据库数据量 | backup_type, block_incr, stanza | |
pgbackrest_backup_last_size_bytes | 最近一次完整、差异或增量备份中数据库的完整未压缩大小 | backup_type, block_incr, stanza | |
pgbackrest_backup_last_repo_delta_bytes | 最近一次完整、差异或增量备份中压缩文件的大小 | backup_type, block_incr, stanza | |
pgbackrest_backup_last_repo_size_bytes | 从最近一次完整、差异或增量备份恢复数据库所需的完整压缩文件大小 | backup_type, block_incr, stanza | |
pgbackrest_backup_last_repo_size_map_bytes | 最近一次完整、差异或增量备份中块增量映射的大小 | backup_type, block_incr, stanza | |
pgbackrest_backup_last_repo_delta_map_bytes | 最近一次完整、差异或增量备份中块增量差异映射的大小 | backup_type, block_incr, stanza |
| 指标 | 描述 | 标签 | 补充说明 |
|---|---|---|---|
pgbackrest_wal_archive_status | 当前WAL归档状态 | database_id, pg_version, repo_key, stanza, wal_max, wal_min | 取值说明:0 - WALMin或WALMax为空,无有效WAL归档信息,1 - WALMin和WALMax均非空,有有效WAL归档信息。 |
| 指标 | 描述 | 标签 | 补充说明 |
|---|---|---|---|
pgbackrest_exporter_build_info | pgBackRest Exporter构建信息 | branch, goarch, goos, goversion, revision, tags, version | |
pgbackrest_exporter_status | pgBackRest Exporter数据获取状态 | stanza | 取值说明:0 - 从pgBackRest获取信息时出错,1 - 成功从pgBackRest获取信息。 |
对于差异备份(backup_type="diff")的pgbackrest_*_last_*指标,应用以下逻辑:
对于增量备份(backup_type="incr")的pgbackrest_*_last_*指标,应用以下逻辑:
对于pgbackrest_exporter_status指标,应用以下逻辑:
stanza标签值为all-stanzas;若pgbackrest_stanza_lock_status指标为1,表示备份集正在运行以下命令之一:backup、expire或stanza-*,极有可能是backup/expire。
对于pgBackRest >= v2.48,可判断是否有备份正在运行:
pgbackrest_stanza_backup_compete_bytes和pgbackrest_stanza_backup_total_bytes指标非0且pgbackrest_stanza_lock_status指标为1,则有备份正在运行;0且pgbackrest_stanza_lock_status指标为1,则备份集正在运行expire或stanza-*命令,极有可能是expire。收集的指标数量可能因pgBackRest版本而异。不同版本下,部分指标可能无法收集或标签值无意义:
pgBackRest < v2.48
以下指标恒为0:
pgbackrest_stanza_backup_compete_bytes,pgbackrest_stanza_backup_total_bytes。pgBackRest >= v2.45
pgbackrest_backup_repo_size_bytes指标对于块增量备份的值为0。
pgBackRest < v2.44
以下指标恒为0:
pgbackrest_backup_repo_size_map_bytes,pgbackrest_backup_repo_delta_map_bytes。pgbackrest_backup_*指标的block_incr标签值为"n"。
pgBackRest < v2.41
以下指标恒为0:
pgbackrest_backup_databases,pgbackrest_backup_last_databases,pgbackrest_backup_annotations,pgbackrest_backup_last_annotations。pgBackRest < v2.38
pgbackrest_backup_info指标的lsn_start和lsn_stop标签值为"-"。
pgBackRest < v2.36
以下指标恒为0:
pgbackrest_backup_error_status。pgBackRest < v2.32
以下指标恒为0:
pgbackrest_repo_status。所有指标的repo_key标签值为"0"。
git clone [***] cd pgbackrest_exporter make build ./pgbackrest_exporter <flags>
可用配置参数:
./pgbackrest_exporter --help usage: pgbackrest_exporter [<flags>] Flags: -h, --[no-]help 显示上下文相关帮助(也可尝试 --help-long 和 --help-man)。 --web.telemetry-path="/metrics" 暴露指标的路径。 --web.listen-address=:9854 ... 暴露指标和Web界面的地址。可重复指定多个地址。示例:`:9100` 或 `[::1]:9100`(HTTP),`vsock://:9100`(vsock) --web.config.file="" 启用TLS或认证的配置文件路径。详见: [***] --collect.interval=600 指标收集间隔(秒)。 --backrest.config="" pgBackRest配置文件的完整路径。 --backrest.config-include-path="" 额外pgBackRest配置文件的完整路径。 --backrest.stanza-include="" ... 指定收集指标的备份集。可多次指定。 --backrest.stanza-exclude="" ... 指定排除收集指标的备份集。可多次指定。 --backrest.backup-type="" 指定收集指标的备份类型。可选值:[full, incr, diff]。 --[no-]backrest.database-count 暴露备份中的数据库数量。 --backrest.database-parallel-processes=1 收集数据库信息的并行进程数。 --[no-]backrest.database-count-latest 暴露最近备份中的数据库数量。 --[no-]backrest.reference-count 暴露引用其他备份的数量(备份引用列表)。 --[no-]backrest.verbose-wal 为WAL指标暴露额外标签。 --log.level=info 仅记录指定级别及以上的日志。可选值:[debug, info, warn, error] --log.format=logfmt 日志输出格式。可选值:[logfmt, json] --[no-]version 显示应用版本。
可通过--backrest.config和--backrest.config-include-path参数指定pgBackRest的自定义配置文件和额外配置路径,需提供完整路径。例如:--backrest.config=/tmp/pgbackrest.conf和/或--backrest.config-include-path=/tmp/pgbackrest/conf.d。
通过--backrest.stanza-include参数指定收集指标的备份集,可多次指定。例如:--backrest.stanza-include=demo1 --backrest.stanza-include=demo2,此时仅为demo1和demo2备份集收集指标。
通过--backrest.stanza-exclude参数指定排除收集指标的备份集,可多次指定。例如:--backrest.stanza-exclude=demo1 --backrest.stanza-exclude=demo2,此时不为demo1和demo2备份集收集指标。若同一备份集同时指定包含和排除,则排除优先。例如:--backrest.stanza-include=demo1 --backrest.stanza-exclude=demo1,此时不为demo1备份集收集指标。
指定--backrest.verbose-wal参数后,WALMin和WALMax将作为指标标签添加,这会在每次WAL归档时创建新的时间序列。
指定--log.level=debug参数后,指标的取值和标签信息将打印到日志中。
--web.config.file参数可指定TLS和/或基本认证的配置文件路径,TLS配置和基本认证说明详见exporter-toolkit/web。
通过--backrest.backup-type参数指定收集指标的备份类型,有效值为full、incr或diff。例如:--backrest.backup-type=full,此时仅为完整备份收集指标。该参数适用于pgBackRest >= v2.38。当值为incr或diff时,所有pgbackrest_backup_last_*指标将不收集;当值为full时,指标将如同最近备份为完整备份(即差异和增量备份的指标取值与完整备份相同)。对于早期pgBackRest版本,会出现类似option 'type' not valid for command 'info'的错误。
指定--backrest.database-count参数后,将收集备份中的数据库数量信息。该参数适用于pgBackRest >= v2.41。对于早期版本,会出现类似option 'set' is currently only valid for text output的错误。对于大量备份集和备份,可能需要更多时间收集指标,每个备份集需执行pgBackRest命令获取数据。
--backrest.database-parallel-processes参数可增加收集数据库信息的并行进程数,仅在指定--backrest.database-count时有效。
默认pgBackRest版本为2.55.1,可通过参数指定其他版本。基础镜像使用[docker-pgbackrest]([***]
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429