Skip to main content
ProbeDeck 是一款适用于 iOS 和 iPadOS 的客户端,可用于检查 ClickHouse server 的健康状况、查看 system 表以及运行 SQL。它可通过设备网络或 SSH 堡垒机连接到 ClickHouse HTTP 接口, 无需中继服务器。

开始之前

  • App Store 安装 ProbeDeck
  • 使用 iOS 或 iPadOS 17.0 或更高版本。
  • 确保设备可通过网络、VPN 或 SSH 堡垒机访问 ClickHouse 的 HTTP 或 HTTPS 端点。
  • 创建一个可访问要查询数据库的 ClickHouse 用户。
  • 授予该用户相关 system 表的 SELECT 权限,以便进行监控。
某些监控部分依赖可选的日志表或较新的系统表。例如, ProbeDeck 用于获取已配置内存限制的 system.server_settings 需要 ClickHouse 23.3 或更高版本。当其数据源不可用时,ProbeDeck 会将受影响的部分标记为受限。

工作原理

  1. ProbeDeck 向 ClickHouse HTTP(S) 端点发送 SQL 请求。
  2. 它使用已配置的 ClickHouse 用户从 system 表读取监控数据。
  3. 应用会在设备上显示查询结果和监控视图。当设备无法直接访问端点时,可通过 SSH 堡垒机建立相同的 HTTP(S) 连接。

连接 ClickHouse Cloud

1

获取服务连接详细信息

在 ClickHouse Cloud 控制台中,打开您的服务,选择 Connect,然后选择 HTTPS要通过 HTTP(S) 连接到 ClickHouse,你需要以下信息:你的 ClickHouse Cloud 服务的连接信息可在 ClickHouse Cloud 控制台中查看。 选择一个服务,然后点击 Connect
ClickHouse Cloud 服务连接按钮
选择 HTTPS。连接信息会显示在示例 curl 命令中。
ClickHouse Cloud HTTPS 连接信息
如果你使用的是自管理 ClickHouse,则连接信息由你的 ClickHouse 管理员配置。
2

在 ProbeDeck 中添加连接

  1. Connections 页面中,点击 +
  2. 输入连接名称和主机地址 (不含 https://) 。
  3. Port 设置为 8443,并启用 TLS
  4. 输入 Connect 对话框中的数据库用户名和密码。数据库名称为 可选。
  5. 点击 Test Connection。检查成功后,ProbeDeck 会显示服务器版本和往返时间。
  6. 点击 Save
ProbeDeck 使用这些数据库凭据对发送至服务端点的 SQL 请求进行身份验证。 ClickHouse Cloud 使用 API Keys 页面中的组织级密钥来访问 Cloud API 和查询 API 端点。 ProbeDeck 的 SQL 连接流程不使用这些密钥。

连接到自托管 ClickHouse

1

选择 HTTP 端点

默认未加密的 HTTP 接口使用端口 8123。对于 HTTPS,请启用 TLS 并使用 服务器上配置的端口;常用端口为 8443
端口 90009440 用于原生 ClickHouse 协议。ProbeDeck 使用 HTTP(S) 接口,因此请输入服务器的 HTTP 端口。
2

添加并测试连接

  1. Connections 页面中,点击 +
  2. 输入服务器主机名,不要包含 URL 协议。
  3. 设置 HTTP(S) 端口和 TLS 选项。
  4. 输入 ClickHouse 用户名、密码和可选的数据库。
  5. 点击 Test Connection,然后点击 Save
对于本地网络中的服务器,iOS 可能会请求本地网络访问权限。如果端点只能通过企业网络访问,请先将设备连接到 企业 VPN。

通过 SSH 堡垒机连接

在连接表单中启用 SSH 隧道,然后输入:
  1. 堡垒机主机地址和 SSH 端口 (默认为 22) 。
  2. SSH 用户名。
  3. SSH 密码或私钥。
ProbeDeck 会通过 SSH direct-tcpip 通道,从堡垒机连接到 服务器 部分中指定的 ClickHouse 主机和 HTTP(S) 端口。首次连接时,在接受前请将堡垒机的 SHA-256 主机密钥指纹与服务器管理员提供的值进行核对。

配置身份验证和 TLS

ProbeDeck 会通过 X-ClickHouse-UserX-ClickHouse-Key 请求头发送数据库用户名和密码,不会将凭据置于 URL 中。 如需使用双向 TLS,请启用 TLS Client Certificate,然后导入包含 客户端证书和私钥的 PKCS#12 (.p12) 文件,并输入其密码短语。 当自托管端点提供自签名证书或由私有 CA 签发的证书时,ProbeDeck 会显示其 SHA-256 指纹、签发方、主体和有效期。接受前,请将该 指纹与服务器管理员提供的值进行比对。ProbeDeck 会将此决定绑定到该连接;如果证书发生变更,连接会停止,直至您完成审核。 ProbeDeck 会将连接密钥和导入的密钥材料存储在设备的 iOS Keychain 中。

监控 ClickHouse

打开已保存的连接,然后选择 监控。该仪表板汇总以下数据源: 点击 正在运行的查询,按耗时对活动查询排序,并查看内存和读取行数。

查询英国房产价格数据集

本示例使用 UK property price dataset。 将数据集加载到 uk_price_paid,然后:
  1. 打开连接,然后选择 数据
  2. 打开 SQL 编辑器。
  3. 运行以下有界只读查询:
结果应包含十个城镇及其交易数量和平均价格。

已知限制

  • ProbeDeck 支持 iOS 和 iPadOS 17.0 及更高版本。
  • 免费用户一次只能保存一个连接。删除该连接即可释放名额;ProbeDeck Pro 支持 保存不限数量的连接。
  • 它支持 ClickHouse HTTP(S) 接口,不支持原生协议。
  • ProbeDeck 会按每页 200 行加载 SQL 查询结果,并将每个请求最多限制为 10,000 行。对于大型表,请使用 有选择性的 WHERE 子句和 LIMIT
  • 监控的可见性取决于 ClickHouse 用户的授权以及可选的日志表。
  • 设备需要能够通过其网络、VPN 或内置 SSH 隧道访问端点。
  • 监控和只读 SQL 无需应用内购买。KILL QUERYKILL MUTATION、 写入和 DDL 语句以及其他运维操作需要 ProbeDeck Pro。

故障排查

重新复制数据库用户名和密码。对于 ClickHouse Cloud 服务端点,请使用服务 Connect 对话框中的 数据库凭据。请勿改用 ClickHouse Cloud API Keys 页面中的组织级 密钥。
确认设备能够访问主机和 HTTP(S) 端口。检查 Cloud IP 访问列表、VPN、 防火墙和端口映射。请勿使用原生协议端口 90009440
ClickHouse 用户无法读取一个或多个必需的 system 表。请向服务器管理员申请 使用相应监控区域所需的最低 SELECT 授权,然后重新连接。
接受新指纹前,请让服务器管理员确认是否已轮换证书。意外的更改可能表明端点不同, 或 TLS 拦截路径发生了变化。

后续步骤

最后修改于 2026年8月14日