列式查询日常巡检应先看什么
列式查询日常巡检应先看什么ClickHouse 的运行状态除了 CPU 和磁盘空间还受 MergeTree 后台任务、副本队列以及 Keeper 协调状态影响。系统表里出现积压不一定代表故障但持续积压、与写入模式或查询延迟同时变化时值得进一步检查。本文给出日常巡检的观察面和处置顺序。告警阈值应按分区数量、写入批次、版本和容量基线设定。1. Mergetree 引擎与分布式协调巡检拓扑ClickHouse 的健康状况由前台查询、后台 Merge / Mutation 任务以及 ZooKeeper 协调三大板块交织决定。2. 避免弯路5 大关键巡检维度与硬指标在设计巡检脚本时必须将以下 5 个系统表指标锁定为每日核心关注项2.1 Active Parts 数量与写入频繁度MergeTree 依靠后台将小的 Part 块合并为大 Part。如果写入客户端每秒发送数百个微小 Block如没有在 Buffer 表中攒批将导致Too many parts in all data parts in table异常强行拒绝写操作。巡检标准单个 Table 单个 Partition 内的 Active Parts 数量不得超过 300 个。2.2 Unfinished Mutations 挂起队列ALTER TABLE ... UPDATE/DELETE属于重型 Mutation 操作。如果有未完成的 Mutation 被阻塞例如因为内存不足无法重写 Data Part后台的正常 Merge 任务也会被间接阻塞。巡检标准system.mutations中is_done 0的任务持续时间不能超过 2 小时。2.3 System Replication Queue 日志积压对于 ReplicatedMergeTree副本间的数据同步依赖replication_queue。一旦队列中存在postponed或重试次数极高的任务说明副本间数据已发生严重漂移。3. ClickHouse 深度巡检自动化脚本以下 Python 脚本直连 ClickHouse HTTP 接口对 Merges、Mutations、Parts 状态及 Replication Queue 进行综合扫描输出风险报告并自动识别“亚健康”数据表。#!/usr/bin/env python3 # -*- coding: utf-8 -*- import os import requests import logging from typing import Dict, List, Any logging.basicConfig(levellogging.INFO, format[%(asctime)s] [%(levelname)s] %(message)s) class ClickHouseHealthInspector: def __init__(self, host: str 127.0.0.1, port: int 8123, user: str default): self.url fhttp://{host}:{port}/ credential os.environ.get(CLICKHOUSE_CREDENTIAL) self.auth (user, credential) if credential else None self.warnings: List[str] [] self.errors: List[str] [] def _query(self, sql: str) - List[Dict[str, Any]]: 执行 SQL 并返回 JSON 结果 params {query: f{sql} FORMAT JSON} try: resp requests.post(self.url, paramsparams, authself.auth, timeout10) resp.raise_for_status() return resp.json().get(data, []) except Exception as e: logging.error(巡检查询 SQL 失败 [%s]: %s, sql, str(e)) self.errors.append(fSQL 查询异常: {sql}) return [] def check_too_many_parts(self): 巡检是否接近 Parts 数量上限 sql SELECT database, table, partition, count() as parts_cnt FROM system.parts WHERE active 1 GROUP BY database, table, partition HAVING parts_cnt 150 ORDER BY parts_cnt DESC rows self._query(sql) for r in rows: msg f表 [{r[database]}.{r[table]}] 分区 [{r[partition]}] 活动 Parts 数量较高: {r[parts_cnt]} (上限警告阈值: 300) if int(r[parts_cnt]) 300: self.errors.append(msg) else: self.warnings.append(msg) def check_stuck_mutations(self): 巡检长期未完成的 Mutation sql SELECT database, table, mutation_id, command, create_time FROM system.mutations WHERE is_done 0 AND create_time now() - INTERVAL 1 HOUR rows self._query(sql) for r in rows: msg f表 [{r[database]}.{r[table]}] 存在挂起超过 1 小时的 Mutation: ID{r[mutation_id]}, Cmd{r[command]} self.errors.append(msg) def check_replication_queue(self): 巡检副本复制队列延迟与异常 sql SELECT database, table, count() as queue_size, sum(num_tries) as total_tries FROM system.replication_queue GROUP BY database, table HAVING queue_size 50 OR total_tries 20 rows self._query(sql) for r in rows: msg f副本队列阻滞: 表 [{r[database]}.{r[table]}] 积压任务数: {r[queue_size]}, 总重试次数: {r[total_tries]} self.errors.append(msg) def run_full_inspection(self): logging.info( 开始 ClickHouse 内核与生态集群日常深度巡检 ) self.check_too_many_parts() self.check_stuck_mutations() self.check_replication_queue() logging.info(巡检扫描完成。警告数: %d, 错误数: %d, len(self.warnings), len(self.errors)) for w in self.warnings: logging.warning([巡检警告] %s, w) for e in self.errors: logging.error([巡检错误] %s, e) if __name__ __main__: inspector ClickHouseHealthInspector(host127.0.0.1, port8123) inspector.run_full_inspection()4. 被动告警 vs 自动化深度巡检 Trade-offs在 ClickHouse 运维治理实践中仅依赖被动告警与建立主动探针巡检的效率对比如下评估维度被动响应式告警 (Simple Metrics)自动化深度探针巡检 (In-depth Inspection)故障发现节点业务写入报错Too many parts之后Parts 数量攀升至 150 预警阶段提前介入定位准确度低。告警只告知磁盘或 CPU 高高。直接精确定位到具体表、Partition 与挂起的 Mutation ID对集群影响故障已爆发可能面临重启或停止写流量提前做OPTIMIZE TABLE或杀掉僵尸 Mutation业务无感巡检研发成本极低。设置标准 OS 阈值告警即可中。需要深入理解 ClickHousesystem系统表设计运维效果只能发现已触发的告警可较早发现积压趋势效果需用告警命中率和复盘结果验证5. 日常巡检治理与自动化收口建议避免频繁手动 OPTIMIZE如果在巡检中发现 Parts 过多切忌盲目针对全表执行OPTIMIZE TABLE ... FINAL这会引发巨量的 CPU 与 Disk I/O 开销。应优先排查前端写流量是否缺乏 Buffer 攒批。Keeper 元数据监控针对 ClickHouse Keeper必须将system.zookeeper的响应延迟与节点数纳入巡检防止 Keeper 垃圾回收不及时导致 ZK 事务暴涨。巡检脚本自动化挂载将巡检探针以cron作业或 K8s CronJob 形式部署巡检结果转化为 JSON 挂载至企业统一运维平台实现日常隐患的早发现早干预。

相关新闻

GLM-5.3 API 上线:同参数基座,编程能力靠后训练提升 50%

GLM-5.3 API 上线:同参数基座,编程能力靠后训练提升 50%

8 月 19 日,智谱宣布 GLM-5.3 的 API 正式开放调用。这个模型 8 月 14 日就发布了,这两天刚把 API 全面铺开,同时官方放话:模型权重将于下周五开源。如果你这两天的信息流里全是"开源第一""并列旗舰"这类词&a…

2026/8/20 16:11:21 阅读更多 →
PDF批量修改有多简单?免费开源的PDF补丁丁5分钟速成指南

PDF批量修改有多简单?免费开源的PDF补丁丁5分钟速成指南

PDF批量修改有多简单?免费开源的PDF补丁丁5分钟速成指南 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等 项目地址: https://…

2026/8/20 16:11:21 阅读更多 →
数据库解析器异常后应留下哪些记录

数据库解析器异常后应留下哪些记录

数据库解析器异常后应留下哪些记录 对 MySQL Lexer/Parser 做扩展时,内存访问、AST 重写和锁顺序都值得额外审查。出现崩溃或卡顿后,结论应由 core、符号表、SQL 样本和版本信息共同支持,不能只凭堆栈中的一个函数名判断原因。 本文以故障演练…

2026/8/20 16:11:21 阅读更多 →

最新新闻

repo-supervisor支持扫描哪些文件?JSON/JS/YAML分词器机制详解

repo-supervisor支持扫描哪些文件?JSON/JS/YAML分词器机制详解

repo-supervisor支持扫描哪些文件?JSON/JS/YAML分词器机制详解 【免费下载链接】repo-supervisor Scan your code for security misconfiguration, search for passwords and secrets. :mag: 项目地址: https://gitcode.com/gh_mirrors/re/repo-supervisor r…

2026/8/20 17:02:32 阅读更多 →
抖音批量下载工具完整上手指南:一条命令把作者主页的全部无水印视频带回家

抖音批量下载工具完整上手指南:一条命令把作者主页的全部无水印视频带回家

抖音批量下载工具完整上手指南:一条命令把作者主页的全部无水印视频带回家 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and bro…

2026/8/20 17:02:32 阅读更多 →
pytorch-pwc 社区与支持指南:如何参与开源贡献、提交 Issue 与 Pull Request

pytorch-pwc 社区与支持指南:如何参与开源贡献、提交 Issue 与 Pull Request

pytorch-pwc 社区与支持指南:如何参与开源贡献、提交 Issue 与 Pull Request 【免费下载链接】pytorch-pwc a reimplementation of PWC-Net in PyTorch that matches the official Caffe version 项目地址: https://gitcode.com/gh_mirrors/py/pytorch-pwc …

2026/8/20 17:02:32 阅读更多 →
5 分钟快速上手 torrent-cli:安装配置与第一个磁力搜索命令完整教程

5 分钟快速上手 torrent-cli:安装配置与第一个磁力搜索命令完整教程

5 分钟快速上手 torrent-cli:安装配置与第一个磁力搜索命令完整教程 【免费下载链接】torrent-cli 🔨 磁力获取器命令行工具 项目地址: https://gitcode.com/gh_mirrors/to/torrent-cli torrent-cli 是一款开源的「磁力获取器命令行工具」&#x…

2026/8/20 17:02:32 阅读更多 →
jellyfin-plugin-douban vs TMDB刮削器:中文影视库为什么更需要豆瓣元数据

jellyfin-plugin-douban vs TMDB刮削器:中文影视库为什么更需要豆瓣元数据

jellyfin-plugin-douban vs TMDB刮削器:中文影视库为什么更需要豆瓣元数据 【免费下载链接】jellyfin-plugin-douban Douban metadata provider for Jellyfin 项目地址: https://gitcode.com/gh_mirrors/je/jellyfin-plugin-douban 如果你自建过 Jellyfin 影…

2026/8/20 17:02:32 阅读更多 →
条码字体 Libre Barcode 实战指南:从第一张标签到批量打印一次讲透

条码字体 Libre Barcode 实战指南:从第一张标签到批量打印一次讲透

条码字体 Libre Barcode 实战指南:从第一张标签到批量打印一次讲透 【免费下载链接】librebarcode Libre Barcode: barcode fonts for various barcode standards. 项目地址: https://gitcode.com/gh_mirrors/li/librebarcode 一张扫不出来的条码&#xff0c…

2026/8/20 17:01:23 阅读更多 →

日新闻

Framework笔记本BIOS更新变砖,“可维修”承诺遭遇芯片级维修考验!

Framework笔记本BIOS更新变砖,“可维修”承诺遭遇芯片级维修考验!

Framework笔记本BIOS更新引“变砖”危机2026年7月7日,Framework向用户quantum5发送邮件,建议其安装BIOS 3.20更新。然而,更新后电脑出现严重问题,屏幕显示三角形和随机像素图案,风扇狂转,系统完全挂起。qua…

2026/8/20 0:00:46 阅读更多 →
2026还在担忧建站平台哪家好?手把手带你搭建自家网站!

2026还在担忧建站平台哪家好?手把手带你搭建自家网站!

2026还在担忧建站平台哪家好?手把手带你搭建自家网站!据艾瑞咨询发布的《2026年中国企业数字化服务市场研究报告》,2025年国内网站建设市场规模已达896亿元,同比增长18.7%。中国互联网络信息中心数据显示,截至2025年底…

2026/8/20 0:00:46 阅读更多 →
2026高端网站建设公司哪家好?怎么选才能不花冤枉钱?

2026高端网站建设公司哪家好?怎么选才能不花冤枉钱?

2026高端网站建设公司哪家好?怎么选才能不花冤枉钱?据艾瑞咨询《2026年中国企业数字化服务市场研究报告》,2025年国内网站建设市场规模已达896亿元,其中高端定制网站服务占比突破42%。更值得关注的是,91%的规模以上企业…

2026/8/20 0:00:46 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/19 11:55:18 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/19 9:46:27 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/19 11:55:16 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/20 6:11:08 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/19 7:42:22 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/19 11:55:13 阅读更多 →