【发布时间】:2021-12-30 03:23:40
【问题描述】:
我有一个在 VM 上运行的双节点 PostgreSQL 集群,其中每个 VM 都运行 pgpool 服务和 Postgres 服务器。
由于内存配置不足,Postgres 服务器崩溃了,所以我在 postgresql.conf 文件中调整了 VM 内存和更改的 Postgres 内存配置。由于该内存发生变化,因此从属 pgpool 节点每晚在特定时间分离,但在查看有关 CPU、负载、进程磁盘使用或内存的 node_exporter 指标时,并未显示任何峰值或突然变化。
从节点分离发生在之前但不是日复一日。我偶然发现了this thread 并阅读了有关故障转移的文档的this part,但是由于 Postgres 服务器没有崩溃并且与从节点的现有连接正在工作(它继续提供现有连接但没有采用新连接) 所以网络问题似乎无关紧要,尤其是在咨询了我们的 OPS 团队之后,他们是否注意到任何异常的网络或 DNS 活动可以解释这一点。不幸的是,他们没有注意到任何有趣的发现。
我在每个节点上都有pg_exporter、postgres_exporter 和node_exporter 来监控服务器和VM 行为,我应该寻找什么来调试它?我应该要求我们的 OPS 团队具体检查什么?我们的 pgpool 日志文件仅说明无法访问其他节点,但没有确切原因,如上述文档所述:
Pgpool-II 不区分每种情况,只是决定 如果健康检查失败,特定 PostgreSQL 节点将不可用。
这仍然是网络\DNS 问题吗?如果是这样。我该如何确认?
感谢您阅读并花时间帮助我解决这个难题
【问题讨论】:
标签: network-programming postgresql-9.6 prometheus-node-exporter pgpool veeam