DALIBO 很荣幸宣布 pgBadger v3 的发布,这是新的 PostgreSQL 日志分析器。pgBadger 以速度为构建目标,能从您的 PostgreSQL 日志文件中生成详细的报告。
本次发布带来了显著的改进。所有 pgBadger 用户都应尽快升级。
pgBadger 的早期版本仅限于使用一个 CPU。PostgreSQL 日志文件是顺序扫描的。分析非常大的日志文件可能需要几个小时。
此限制现已解除。您可以根据需要使用任意数量的 CPU 核心,并并行扫描您的日志。
要启用并行处理,只需使用 -j N 选项,其中 N 是您想使用的核心数。
请注意,并行模式有一个小缺点。在这种方法中,某些查询可能会被截断。如果您启用了 N 个核心,结果可能在每个日志文件中最多有 N 个查询会不同。
然而,这是一个小问题:如果您有数百万个查询需要分析,并行模式才显得有意义。而且,如果日志文件中存在数百万个查询,您可能可以容忍丢失几个,因为丢失的查询不太可能改变整体结果。
不过,为了避免这个问题,您可以使用 pgBadger 的“每个文件并行模式”来分析您的日志,但性能会比标准的并行模式低。要启用此行为,您需要使用“-J N”选项而不是“-j N”。在每个文件模式下,当有成百上千个小日志文件(例如,10MB 的轮换大小限制)并且至少有 8 个核心时,性能才开始真正显现。
目标是让 pgBadger 能够使用指定的任意数量的核心进行并行日志解析。以下是使用 pgbadger 分析五个日志文件(共 9.5 GB)的一些性能结果:
我们认为这个性能提升非常显著 :)
除了传统的 HTML、TXT 和 Tsung 输出格式外,pgBadger 3 现在还能生成二进制输入/输出格式。如果您只想存储日志统计信息并在稍后生成带有图形的 HTML 报告,这种新格式非常有用。
简而言之,pgBadger 的两大主要活动是解析和报告。有了这种二进制格式,您现在可以将这些活动分开,并在不同时间运行它们。例如,您可以每天解析一次日志,然后仅在需要时生成 HTML 报告。
您还可以组合多个二进制文件。例如,您可以每周创建一个二进制报告,并汇总最后 4 周的报告以生成月度 HTML 报告。
这种新的二进制格式也与 pgShark 等其他工具兼容:https://github.com/dalibo/pgshark/。
这个主要版本还包含其他功能:
... 以及许多错误修复。
有关更改的完整列表,请查看 https://github.com/dalibo/pgbadger/blob/master/ChangeLog 上的发行说明
警告:为了简单起见,已移除“--enable-log_min_duration”和“--enable-log_duration”命令行选项。pgbadger 现在能无差别地解析任何 log_duration、log_statement 和 log_min_duration_statement 行,并根据这些行调整报告。
如果您通过 cron 运行 pgBadger,请注意:如果这些选项中的任何一个出现在命令行中,pgbadger 将拒绝启动。
DALIBO 要感谢提交补丁的开发人员以及报告错误和功能请求的用户,尤其是 Matt Romaine、Luke Cyca、Kevin Brannen、Adam Schroder、pilat66、Euler Taveira de Oliveira、stuntmunkee、pierrestroh、Vipul、Dirk-Jan Bulsink 和 Vincent Laborie。
pgBadger 是一个开源项目。任何为改进该工具做出的贡献都受到欢迎。您只需通过 GitHub 工具或直接在我们的邮件列表中发送您的想法、功能请求或补丁。
链接
关于 pgBadger :
pgBadger 是 Gilles Darold(也是 ora2pg 迁移工具的作者)创建的新一代 PostgreSQL 日志分析器。pgBadger 是一个快速易用的工具,可分析您的 SQL 流量并生成带有动态图的 HTML5 报告。pgBadger 是理解 PostgreSQL 服务器行为并识别需要优化的 SQL 查询的理想工具。
文档、下载和演示请访问 http://dalibo.github.com/pgbadger/
关于 DALIBO :
DALIBO 是法国领先的 PostgreSQL 公司,自 2005 年以来一直为客户提供支持、培训和咨询。该公司通过多种方式为 PostgreSQL 社区做出贡献,包括:代码、文章、翻译、免费会议和研讨会。
在 http://dalibo.github.com 查看 DALIBO 的开源项目