Percona PMM 的 clickhouse 不会清理旧的 metric_log 目录

Percona PMM 的 clickhouse 不会清理旧的 metric_log 目录

我们已经在 docker 中安装了 Percona 的 PMM 几年了,并且将/srv目录挂载到文件系统。

我们发现 clickhouse 服务没有清理目录中的数据/srv/clickhouse/data/system/metric_log。那里的一些目录已有 2 年多历史,有些目录仍包含 +150MB 数据。我认为我们可以清理它,但我在 pmm 网站上找不到有关此问题的任何文档。

我可以手动删除这些目录,但我希望 pmm(或 clickhouse)有一些可用的保留机制。

我还验证了 pmm 的保留工作是否按预期进行,因为 pmm 仪表板中没有任何早于 pmm 中配置的保留期的数据。

这些目录的大小(和名称)的简短列表:

--- /srv/clickhouse/data/system/metric_log -----
  130.5 MiB [##########] /202312_8404047_8653546_1838
  105.5 MiB [########  ] /202207_2445036_2694502_2246
   99.6 MiB [#######   ] /202301_4676883_4912218_2210
   95.6 MiB [#######   ] /202307_6644116_6874350_2392
   94.1 MiB [#######   ] /202305_5942426_6168500_2386
   92.4 MiB [#######   ] /202112_5912_265478_2749
   92.3 MiB [#######   ] /202212_4205342_4421596_2234
...

大部分数据都存储在 中[dir]/event_time_microseconds.bin

如您所见,其中一些目录虽然较旧,但仍然包含相当多的数据。

答案1

从其文档中提到的配置示例来看,这些文件很可能因为未达到阈值而保留在那里(点击此处了解更多信息https://clickhouse.com/docs/en/operations/server-configuration-parameters/settings#metric_log)。

我不会冒险手动删除它们,因为我无法预测结果。相反,您可以尝试暂时禁用metrics_log,一旦目录被清理并且空间被回收,您就可以重新启用日志。

这肯定需要您停止 PMM 的 clickhouse 服务器,修改配置,然后启动服务器。

换句话说,如果你在docker容器中运行它,则需要执行以下三个步骤

  1. 停止服务器:docker exec -it pmm-server supervisorctl stop clickhouse
  2. 通过覆盖更改 clickhouse 配置:
To disable metric_log setting, you should create the following file
"/etc/clickhouse-server/config.d/disable_metric_log.xml" with the following content:

<clickhouse>
<metric_log remove="1" />
</clickhouse>
  1. 启动服务器:docker exec -it pmm-server supervisorctl start clickhouse

/srv在进行任何更改之前,请确保对 PMM 的目录进行了完整备份,以便在出现问题时可以恢复:)

相关内容