原文地址:https://www.cybertec-postgresql.com/en/pgwatch2-v1-9-beta-released/
原文作者:Pavlo Golub
我们要宣布 pgwatch2 v1.9 的 beta 版本现已可供下载。此版本包含 pgwatch2 v1.9 最终版本中将提供的所有功能的预览,但在此之前版本的一些细节可能会发生变化。
您可以在发行说明中找到有关 pgwatch2 v1.9 中所有新功能和更改的信息。
本着开源软件的精神,我们强烈建议您在您的系统上测试 pgwatch2 v1.9 的新功能,以帮助我们消除任何可能存在的错误或其他问题。虽然我们不建议您在生产环境中运行 pgwatch2 v1.9.0-beta,但我们鼓励您找到针对此 beta 版本运行典型应用程序工作负载的方法。
pgwatch2 v1.9 功能亮点
新功能
距离我们上一次发布已经有很长时间了。尽管 pgwatch2 v1.9 不被认为是一次重大升级,但还是有很多令人印象深刻的变化。
首先,我们有一个新的 pgwatch2 维护者。就是我,帕夫洛·戈卢布 。我希望 pgwatch2 的作者 Kaarel Moppel 仍然会为这个项目工作——但现在没有额外的支持和维护负担。
我们为所有二进制文件和 Docker 镜像使用了最新的 Go v1.17。
我们现在拥有完整的 PostgreSQL v14 支持和对最新 Grafana v8 可视化解决方案的支持。对于仍在使用之前版本的 Grafana 的用户,我们还添加了对 v7 和 v6 仪表板的支持。
为了改善我们的 CI/CD 体验并自动化一些任务,我们在一系列计划的工作流程中引入了三个 GitHub Actions:-
- 释放
- CodeQL 分析
- 关闭过时的问题和 PR
- 发布工作流将自动构建所有工件,包括 Docker 映像,并发布发布。
CodeQL 分析保护代码安全。它将彻底调查每个拉取请求和每次推送。
毫不奇怪,许多问题都是为开源项目创建的,而这些项目从未得到主题启动者的后续贡献。我们启用了关闭陈旧问题和 PR 工作流程,以跟上新问题和 PR 的持续风暴。它会将没有活动的问题和 PR 标记为过时,并最终关闭它们。
我们添加了更多很酷的功能,例如新的采集器选项,例如–try-create-listed-exts-if-missing。或者像监控“wait_events”的新指标。
性能
我们提供了许多代码修改以提高性能。
Prometheus 模式监控现在是必不可少的优化之一。
我们重写了收集器代码以跳过表而无需等待 AccessExclusiveLock。
我们添加了一个新的 --min-db-size-mb 标志来忽略“空”数据库。它允许收集器跳过为空数据库或小型数据库获取度量值。
pgwatch2 v1.9 带有完全重新设计的连接池,从现在开始它几乎不会依赖 sqlx.DB。
数据库和表大小获取的超时已大大增加 - 至 5 分钟。
通过设置较短的 lock_timeout,指标获取的破坏性降低。
新的 --no-helper-functions 参数允许您跳过依赖于辅助函数的指标定义。此模式使托管实例的工作更加流畅,日志中的错误更少。它在可用时立即使用度量的 SU 或超级用户版本,而不是在第一次失败调用之后。
新的 --emergency-pause-triggerfile 标志旨在快速关闭收集器。该功能的主要思想是快速释放任何额外“监控效果”负载的受监控数据库和网络。
附加的功能
您会在 pgwatch2 v1.9 中发现许多其他新功能和改进。有些对您的用例可能比上面突出显示的更重要。有关新功能和更改功能的完整列表,请参阅发行说明。
测试Bugs和兼容性
每个 pgwatch2 v1.9 版本的稳定性很大程度上取决于社区使用您的工作负载和测试工具测试即将发布的版本的努力,以便在 pgwatch2 v1.9 普遍可用之前发现错误和回归。由于这是一个测试版,因此仍然可以进行微小的更改和错误修复。您的反馈和测试将有助于确定对新功能的最终调整,因此请尽快进行测试。用户测试的质量有助于决定我们何时可以发布正式版本。
未解决的问题列表在 pgwatch2 存储库中公开可用。您可以使用此表单报告错误:https://github.com/cybertec-postgresql/pgwatch2/。
评论
