
【免费下载链接】ch-uiUse CH-UI to work with your data from Click House self-hosted with a user-friendly interface. CH-UI is a modern and feature-rich user interface for ClickHouse databases. It offers an intuitive platform for querying ClickHouse databases, executing queries, and visualizing metrics about your instance.项目地址https://gitcode.com/gh_mirrors/ch/ch-ui点击查看免费下载如果你已经在用 ClickHouse 存 OpenTelemetry 日志但还在手写 SQL 翻查报错那么 CH-UI 的 Telemetry 模块值得你花十分钟了解它把 ClickHouse 变成一个开箱即用的日志搜索引擎——内置搜索语法、日志直方图、服务/级别分面、Live 实时滚动和上下文查看全部功能都是直接对你的表执行 SQL不复制、不另建索引。日志搜索Logs功能完全免费开源无需 Docker、无需额外组件下载一个二进制即可运行。为什么选 CH-UI 做日志搜索大多数 ClickHouse 工具只给你一个查询框而 CH-UI 是一个完整的开源管理平台SQL 编辑器、仪表盘、数据管道、AI 助手、遥测查询全部集成在一个 Go 二进制里。它的 Telemetry 模块有 4 个关键设计零额外存储不把你的日志复制到别处也不建第二套索引每个界面背后都是发给 ClickHouse 的 SQL走的是和你 SQL 编辑器相同的连接与权限内置日志搜索语法类似service:checkout level:error的写法自动翻译成安全的 WHERE 条件输入永远只作为字面量不存在注入问题搜索 分面 直方图 Live 滚动一次查日志像用 ELK而不是写三段聚合 SQL免费核心日志搜索、数据源管理、Saved Searches 都在 Apache 2.0 社区版里Traces、Metrics、Service Map、Monitors 属于 Pro第一步把日志送进 ClickHouse两条路路线 AOpenTelemetry Collector 直写 ClickHouse如果你已有 Collector 在采集日志只需让它的 ClickHouse exporter 把数据写进 CH-UI 能访问的库。配置里开启create_schema: true首次启动就会自动建好otel_logs、otel_traces和otel_metrics_*系列表exporters: clickhouse: endpoint: tcp://clickhouse:9000 database: default create_schema: true ttl: 72h service: pipelines: logs: receivers: [otlp] processors: [batch] exporters: [clickhouse]表结构和列名由 exporter 决定CH-UI 后面会自动识别。路线 B让 CH-UI 直接当采集端最省事没有 CollectorCH-UI 本身就内置 OTLP 接收端点POST /ingest/v1/logs和/ingest/v1/traces支持 protobuf 和 JSON。服务端实现在 internal/ingest/receiver.go。操作只有 4 步打开Visualize → Telemetry → Logs点击Send data here确认三个字段Database默认default、Table默认otel_logs、Retention保留天数默认 30 天点击Set up——CH-UI 会一次性创建表、Ingest 管道、ingest key 和 Telemetry 数据源复制只显示一次的chi_...key按页面提示配置你的采集端它支持 OpenTelemetry Collector 的otlphttpexporter、OTel SDK 环境变量、Fluent Bit甚至直接用curl发一条测试日志。每条请求都会先落盘 spool 再写入 ClickHouseCH-UI 重启或 ClickHouse 短暂故障都不会丢已确认的数据。 桌面试用只需执行ch-ui desktop它监听 127.0.0.1 并自动打开浏览器。第二步一键 Detect Sources识别 otel 表数据落地后进入 Telemetry 页的Sources区块点击Detect sourcesCH-UI 会扫描当前连接找到 exporter 默认命名的otel_logs/otel_traces/otel_metrics_*表并逐列校验映射是否匹配真实表结构internal/telemetry/source.go 定义了列角色映射时间戳、Body、Severity、ServiceName、TraceId、属性 Map 等确认无误后点添加即可。如果你的表名不遵循默认命名也可以New source手动映射选库表、逐字段填写角色界面会用对勾实时标记该列是否存在还能用Test检查缺失列、统计最近一小时行数。Correlation设置可以把日志源与 Traces 源关联起来实现「日志行一键跳转对应 Trace」。日志搜索语法10 个常用示例速查Telemetry 的搜索框使用一套编译到 ClickHouse 的查询语言实现见 internal/telemetry/query/compile.go相邻的词条默认AND查询写法含义timeoutBody 全文词匹配大小写不敏感time*通配符模糊匹配rate limit exceeded短语精确匹配level:error日志级别也可写severity:errorservice:checkout按服务名过滤支持service:api*通配http.status_code:500属性数值比较!user.id:*判断某属性「存在」level:error OR level:fatal布尔 OR 与括号分组NOT level:debug排除条件等价于-level:debugScopeName:otel.sdk直接按真实列名查询两个实用细节属性查找会自动遍历 Log、Resource、Scope 三层属性 Map!的语义是「所有属性 Map 中都没有该值」如果你想「保留有这个 key 但值不同的行」补一个存在性检查即可例如user.id:* -user.id:42。搜索结果视图分面、直方图与 Live 滚动Logs 页的布局UI 组件见 ui/src/lib/components/telemetry/LogsSection.svelte分三层左侧 Facets 分面按 severity、service、属性 key/value 分组计数。分面会忽略「自己字段」的过滤所以选中ERROR后依然能看到其他级别的计数方便对比顶部直方图按 severity 堆叠的日志量曲线直接用鼠标拖动框选一段区域即可放大到对应时间段排查「几点开始报错」非常快下方日志列表按时间倒序、滚动分页加载。开启Live tail后每 5 秒自动拉取新增行像tail -f一样盯着实时日志点击任意一行打开右侧详情面板5 个 Tab 各有所长Overview解析后的结构化字段携带 trace id 的行可直接跳转 TraceAttributes全部属性悬停即可一键加过滤或排除Context该服务在前后一小时内、此行的上下文日志——排查「报错前发生了什么」的核心功能Trace同一 trace 的其他日志关联了 Traces 源时直接显示瀑布图Raw原始 JSON另外整个搜索条件含时间范围都编码在 URL 里复制链接发给同事对方打开就是同一个视图。第三步Saved Searches 让高频排查一键复现把「查询语句 时间范围 数据源」保存为 Saved Search之后从搜索框下拉直接加载。Saved Searches 在同一连接的所有用户间共享属于社区版功能。建议把日常巡检固化成几条service:api-gateway level:error最近 1 小时、http.status_code:500最近 24 小时等。Pro 版还可以在此之上继续扩展Pro 功能能力TracesTrace 列表 瀑布图duration:500直接定位慢调用Metrics最多 4 条指标查询同屏p50/p95/p99 从桶数据插值Service Map自动绘制服务调用拓扑标注调用量/错误率/p95Monitors「保存的搜索 阈值」变成告警触发时记录telemetry.monitor事件并可接 Alert 通道同时内置的 Brain AI 助手自带query_logs、query_traces、query_metrics等工具可以直接用自然语言问「最近一小时 checkout 服务的错误日志」。性能与安全防护机制所有查询只读没有写路径每条查询强制max_execution_time 25秒、max_result_rows 100000可能被截断的结果会明确显示partial data标记SQL 里的标识符全部来自已校验的列映射搜索框内容永远只作为字面量转义数据源、Saved Search 的创建与修改需要 analyst 或 admin 角色且全部写入审计日志常见问题快速排查症状大概率原因Detect sources 检测不到表连接账号看不到表或表名不是 exporter 默认名 → 手动 New source 映射时间过滤无结果timestamp 列必须是DateTime/DateTime64不支持字符串时间属性全是空的检查列是Map还是JSON新版 exporter 可用 JSON 布局两者都支持用Test重新校验映射日志发进来但搜索不到到Pipelines确认管道在运行key 不对会显示bad key拒绝记录总结CH-UI Telemetry 的价值链路很短日志入 ClickHouse → Detect sources → 搜索框里查问题全程不引入新组件、不复制数据。社区版已经覆盖了日志搜索、分面、直方图、Live tail、上下文与 Saved Searches 这套完整的日志排障工作流如果你还需要 Trace 瀑布、服务拓扑和遥测监控Pro 版在此基础上平滑扩展。想动手试试从 ship-logs.md 这条最短路径开始即可。赞分享【免费下载链接】ch-uiUse CH-UI to work with your data from Click House self-hosted with a user-friendly interface. CH-UI is a modern and feature-rich user interface for ClickHouse databases. It offers an intuitive platform for querying ClickHouse databases, executing queries, and visualizing metrics about your instance.项目地址https://gitcode.com/gh_mirrors/ch/ch-ui点击查看免费下载相关推荐Supabase 日志引擎迁移指南把 BigQuery 日志查询转换为 ClickHouse 的 logs 表与 log_attributes 映射Supabase 日志引擎迁移指南把 BigQuery 日志查询转换为 ClickHouse 的 logs 表与 log_attributes 映射 本文讲解后端前端数据库认证鉴权如何快速上手Grug-12B5分钟搭建你的第一个紧凑推理AI应用如何快速上手Grug 12B5分钟搭建你的第一个紧凑推理AI应用 Grug 12B是基于google/gemma 4 12B it进行紧凑推理优化的AI模型NGINX-UI 日志搜索引擎 searcher 包深度解析分布式搜索、查询构建、分面聚合与多级缓存实战NGINX UI 日志搜索引擎 searcher 包深度解析分布式搜索、查询构建、分面聚合与多级缓存实战 导读 本文以 internal/nginx_log/后端前端运维认证鉴权上一篇Qwen3-Next-80B-Instruct部署异常vLLM容器环境下模型持续生成冗长思考过程问题排查下一篇运营小白的 Dify 工作流亲测实录3 个模板把我的崩溃瞬间变成自动化流程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考