我们已经在 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容器中运行它,则需要执行以下三个步骤
- 停止服务器:
docker exec -it pmm-server supervisorctl stop clickhouse
- 通过覆盖更改 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>
- 启动服务器:
docker exec -it pmm-server supervisorctl start clickhouse
/srv
在进行任何更改之前,请确保对 PMM 的目录进行了完整备份,以便在出现问题时可以恢复:)