↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

pgBadger 13.2

增量报告

快速分析 PostgreSQL 与 PgBouncer 日志,生成完整且可独立浏览的报告

增量模式先以二进制形式保存解析统计,再生成每日 HTML 报告、每周累计报告,以及把它们组织起来的日历式索引。它适合反复处理轮转日志,同时避免重复统计相同记录。

生成每日与每周报告

在每日轮转完成后运行 pgBadger,并指定一个持久化输出目录:

0 4 * * * /usr/bin/pgbadger -I -q /var/log/postgresql/postgresql.log.1 -O /var/www/pg_reports/

-I 启用增量模式,-O 指定保存二进制状态、日历索引和生成报告的目录。pgBadger 会在该目录自行维护增量状态;只有明确希望把状态文件放到其他位置时,才需要 --last-parsed。

也可以把 HTML 放到单独目录,同时在原目录保留二进制状态:

$ pgbadger -I -O /var/lib/pgbadger/data -H /var/www/pg_reports postgresql.log.1

二进制文件是未来重建报告的源数据。如果报告必须能够重新生成,应备份这些文件,或保留原始日志。

保留策略

只保留指定周数:

$ pgbadger --incremental --retention 8 \
    --outdir /var/www/pg_reports \
    /var/log/postgresql/postgresql.log.1

更早的周与日目录会被自动删除。不要直接在唯一一份报告历史上首次试用该策略,应先在非生产副本上验证。

把公共资源单独写出

默认情况下,每份 HTML 报告都内嵌 JavaScript 与 CSS。增量目录包含大量报告时,-X / --extra-files 会把公共资源单独写出,减少重复数据:

$ pgbadger -X -I -O /var/www/pg_reports postgresql.log.1

移动报告时,必须把所有 HTML 与对应版本的资源目录一起移动。

重建已有报告

升级 pgBadger 或应用报告生成修复后,可以从保留的二进制数据重建 HTML:

$ rm /var/www/pg_reports/*.js
$ rm /var/www/pg_reports/*.css
$ pgbadger -X -I -O /var/www/pg_reports --rebuild

如果原报告按数据库拆分生成,请在重建时再次加入 -E / --explode。

请使用长选项 --rebuild。当前命令参考中的 -R 表示 --retention;把 -R 当作重建缩写会执行错误的选项。

添加月度报告

每日与每周报告会自动生成。月度汇总需要显式执行,因为很长的历史可能使计算开销很大:

$ pgbadger -X --month-report 2026-07 /var/www/pg_reports/

生成的月份会加入日历索引。再次运行命令会从现有二进制数据重建该月份。按数据库拆分的历史需要继续使用 -E:

$ pgbadger -E -X --month-report 2026-07 /var/www/pg_reports/

完整命令参考还提供 --day-report YYYY-MM-DD、--no-week、--noreport、--start-monday 和 --iso-week-number,可用于更特殊的调度策略。

可以直接打开随站点打包的增量报告示例 ,离线查看日历、周链接与每日报告的目录层级。

来源与许可

文档取自 pig.center · 上游文档

版本
13.2
许可
PostgreSQL
来源修订
67435324c7d65112905ab8f5c5cd83820587cbe49071d0fe1bd04c92de2fc3aa
译文修订
67435324c7d65112905ab8f5c5cd83820587cbe49071d0fe1bd04c92de2fc3aa
原始 Markdown