教程记录 · ARTICLE

Clickhouse 关闭系统日志记录

本文针对ClickHouse系统日志占用磁盘空间导致网站访问缓慢的问题,提供了排查与解决方案。通过执行SQL查询定位大体积日志表,并使用截断命令临时释放空间。为实现一劳永逸的优化,文章建议修改服务器配置文件以关闭或重定向系统日志至空设备,随后重启服务即可彻底解决磁盘告警问题,保障系统稳定运行。

网站访问越来越慢,查系统发现磁盘已经快到100%占用了,逐一排查发现Clickhouse的目录已经快到30G了,我总硬盘才50G(系统就占了10多个G)。

 

-- 查询占用大小
SELECT
    table,
    formatReadableSize(sum(bytes_on_disk)) AS disk_size,
    sum(rows) AS rows
FROM system.parts
WHERE active
  AND database = 'system'
GROUP BY table
ORDER BY sum(bytes_on_disk) DESC;
-- 清理表
-- 格式:TRUNCATE TABLE system.XXX_log
TRUNCATE TABLE system.trace_log; 

忘记截图了,放一个清理后的截图:

一劳永逸,修改配置,完事后重启:

 

cat > /etc/clickhouse-server/config.d/disable_system_logs.xml <<'EOF'
<clickhouse>
    <query_log remove="1"/>
    <query_thread_log remove="1"/>
    <query_views_log remove="1"/>
    <part_log remove="1"/>
    <trace_log remove="1"/>
    <text_log remove="1"/>
    <metric_log remove="1"/>
    <asynchronous_metric_log remove="1"/>
    <session_log remove="1"/>
    <processors_profile_log remove="1"/>
    <error_log remove="1"/>
    <query_metric_log remove="1"/>
    <background_schedule_pool_log remove="1"/>
    <asynchronous_insert_log remove="1"/>
</clickhouse>
EOF

或者把日志指向到/dev/null

grep -RniE 'query_log|trace_log|text_log|metric_log|part_log|ttl' \
  /etc/clickhouse-server/config.xml \
  /etc/clickhouse-server/config.d/ 2>/dev/null

 

← 返回内容

COMMENTS

评论 0

提交后需审核通过才会显示 · 登录后使用账户昵称