Skip to main content

组件

ClickHouse 连接器运行两个守护进程,均内置于 clicklink 二进制文件中:
  • 抓取器按固定时间间隔读取 ClickHouse 系统表允许列表,在本地缓冲结果,并将结果连同基础设施元数据和运行状况发送到您的连接器端点。
  • 故障排查器与您的连接器端点保持出站命令通道,并在活跃的支持会话期间执行只读诊断。会话之外不会执行任何操作。
在 Kubernetes 上,两者均作为工作负载运行,由 clicklink-connector Helm 图表部署在您选择的命名空间中 (默认为 clicklink) 。在 Linux VM 上,它们以非特权 clicklink 系统用户身份运行,分别对应 clicklink-scraperclicklink-troubleshooter 两个 systemd 单元。

连接

连接器发起的所有连接均为出站连接。完整列表如下: 每个 API 请求都会携带 Authorization 请求头,其中包含基于方法、路径、时间戳和正文哈希计算的 HMAC-SHA256 签名。因此,即使在 TLS 通道内,请求也无法被重放或在传输过程中篡改。 对于入站连接,连接器仅暴露本地健康检查和指标端口,以及支持会话页面中所述的可选会话网关。ClickHouse 的控制平面绝不会连接其中任何一个。

证书生命周期

连接器使用其自行获取和维护的客户端证书向您的端点进行身份验证:
  • 注册。 clicklink clctl init 会在本地生成私钥和证书签名请求,其中组织 ID 用作通用名称,端点主机名用作唯一的 DNS SAN。私钥绝不会离开您的环境。
  • 首次签发。 CSR 会提交到 /v1/pcm/cert/sign 注册签名端点,并通过 HMAC 进行身份验证。如果您的组织已存在未过期的证书,该端点将以 409 拒绝请求,命令行客户端会输出如何使用现有证书完成操作,或如何通过 --force 明确将其替换。
  • 自动续订。 每个守护进程每 12 小时检查一次证书有效期,并在剩余 10 天时通过 /v1/pcm/cert/renew (mTLS 加 HMAC) 申请续订一张有效期为 30 天的证书。在 Kubernetes 上,每个守护进程都会通过仅限精确名称的 RBAC 授权,将续订后的证书写回 clicklink-mtls Secret;在 VM 上,守护进程用户对 TLS 目录拥有写入权限。续订无需人工操作。
连接器会使用系统信任库验证端点的服务器证书;如果端点使用私有 CA,则使用注册时提供的 CA bundle 进行验证。

数据流

哪些内容会离开您的环境

  • 来自允许列表中系统表的指标。 抓取器默认抓取 metric_logasynchronous_metric_logtableswarningsserver_settings。允许列表由显式配置指定;抓取器不会读取列表之外的任何内容。
  • 基础设施元数据。 通过 API 同步的实例、基础设施和备份清单。
  • 健康状况和自身指标。 组件状态以及连接器自身的运行指标。
  • 支持会话输出。 在您启用的会话期间执行的只读诊断结果,经过脱敏处理。

默认不会离开的内容

  • 抓取路径中的原始查询文本。 默认抓取集特意排除了 system.query_log,因为其查询列可能包含字面值,从而携带 PII 或密钥;是否重新添加该表,由您在充分知情的前提下针对每个部署自行决定。支持会话期间,默认表允许列表包含 system.processes,其中会显示正在执行的查询文本;有关如何将其裁剪,请参阅支持会话
  • 凭据。 配置文件不包含凭据,ClickHouse 仅存储连接器用户密码的 bcrypt 哈希值,密钥则保存在 Kubernetes Secrets 或主机上仅 root 可读的文件中。抓取和同步路径均不会传输这些信息。
  • 未脱敏的 故障排查器 输出。 故障排查器 返回的所有内容在离开前都会经过脱敏模式 (内置模式和您自定义的模式) 处理。请参阅支持会话

信任边界

  • 您的环境就是边界。 ClickHouse Cloud 仅接收抓取器发送的数据,以及活跃支持会话返回的数据。它绝不会主动向您的环境发起连接。
  • 会话网关由您控制。 除非您选择通过入口将其暴露,否则只能在您的环境内访问它 (在 Kubernetes 上通过 kubectl port-forward,或在 VM 本地访问) 。ClickHouse 的控制平面绝不会连接到它。
  • ClickHouse 访问权限为只读。 pcm_scraperpcm_troubleshooter 用户拥有按表授予的 SELECT 权限,此外还有一项仅供抓取器使用的系统权限,用于将日志表刷写到磁盘;除此之外没有其他权限。不存在 INSERT、DDL 或用户管理权限。完整列表请参阅特权模型
  • Kubernetes 访问权限限定在命名空间范围内。 所有 RBAC 均通过连接器和实例命名空间中的 Role 授予:对工作负载资源仅有只读操作权限,并且只能按确切名称访问连接器自身的 Secret。不存在 execdeletepatch 权限。
  • 网络策略。 在 Kubernetes 上,chart 可以渲染 NetworkPolicy,拒绝除您列出的 CIDR 以外的所有连接器出口流量。策略是否生效取决于集群是否运行了强制执行策略的 CNI;如果没有,策略不会生效。请参阅配置
  • VM 上的主机加固。 这些单元以不可登录的系统用户身份运行,并启用 ProtectSystem=strictNoNewPrivileges、只读配置路径和 FIPS 模式。
有关连接器的完整授权和 RBAC 规则,请参阅特权模型参考文档。如果集群改由 ClickHouse 为您运营,信任模型会有所不同;请参阅 BYOC 架构BYOC 特权页面。
最后修改于 2026年8月26日