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 会将受影响的部分标记为受限。
工作原理
- ProbeDeck 向 ClickHouse HTTP(S) 端点发送 SQL 请求。
- 它使用已配置的 ClickHouse 用户从
system表读取监控数据。 - 应用会在设备上显示查询结果和监控视图。当设备无法直接访问端点时,可通过 SSH 堡垒机建立相同的 HTTP(S) 连接。
连接 ClickHouse Cloud
1
获取服务连接详细信息
在 ClickHouse Cloud 控制台中,打开您的服务,选择 Connect,然后选择 HTTPS。要通过 HTTP(S) 连接到 ClickHouse,你需要以下信息:
选择 HTTPS。连接信息会显示在示例 
如果你使用的是自管理 ClickHouse,则连接信息由你的 ClickHouse 管理员配置。
你的 ClickHouse Cloud 服务的连接信息可在 ClickHouse Cloud 控制台中查看。
选择一个服务,然后点击 Connect:

curl 命令中。
2
在 ProbeDeck 中添加连接
- 在 Connections 页面中,点击 +。
- 输入连接名称和主机地址 (不含
https://) 。 - 将 Port 设置为
8443,并启用 TLS。 - 输入 Connect 对话框中的数据库用户名和密码。数据库名称为 可选。
- 点击 Test Connection。检查成功后,ProbeDeck 会显示服务器版本和往返时间。
- 点击 Save。
连接到自托管 ClickHouse
1
选择 HTTP 端点
默认未加密的 HTTP 接口使用端口
8123。对于 HTTPS,请启用 TLS 并使用
服务器上配置的端口;常用端口为 8443。端口
9000 和 9440 用于原生 ClickHouse 协议。ProbeDeck 使用 HTTP(S)
接口,因此请输入服务器的 HTTP 端口。2
添加并测试连接
- 在 Connections 页面中,点击 +。
- 输入服务器主机名,不要包含 URL 协议。
- 设置 HTTP(S) 端口和 TLS 选项。
- 输入 ClickHouse 用户名、密码和可选的数据库。
- 点击 Test Connection,然后点击 Save。
通过 SSH 堡垒机连接
- 堡垒机主机地址和 SSH 端口 (默认为
22) 。 - SSH 用户名。
- SSH 密码或私钥。
direct-tcpip 通道,从堡垒机连接到 服务器 部分中指定的 ClickHouse 主机和 HTTP(S)
端口。首次连接时,在接受前请将堡垒机的 SHA-256 主机密钥指纹与服务器管理员提供的值进行核对。
配置身份验证和 TLS
X-ClickHouse-User 和
X-ClickHouse-Key 请求头发送数据库用户名和密码,不会将凭据置于 URL 中。
如需使用双向 TLS,请启用 TLS Client Certificate,然后导入包含
客户端证书和私钥的 PKCS#12 (.p12) 文件,并输入其密码短语。
当自托管端点提供自签名证书或由私有
CA 签发的证书时,ProbeDeck 会显示其 SHA-256 指纹、签发方、主体和有效期。接受前,请将该
指纹与服务器管理员提供的值进行比对。ProbeDeck 会将此决定绑定到该连接;如果证书发生变更,连接会停止,直至您完成审核。
ProbeDeck 会将连接密钥和导入的密钥材料存储在设备的 iOS Keychain 中。
监控 ClickHouse
点击 正在运行的查询,按耗时对活动查询排序,并查看内存和读取行数。
查询英国房产价格数据集
uk_price_paid,然后:
- 打开连接,然后选择 数据。
- 打开 SQL 编辑器。
- 运行以下有界只读查询:
已知限制
- ProbeDeck 支持 iOS 和 iPadOS 17.0 及更高版本。
- 免费用户一次只能保存一个连接。删除该连接即可释放名额;ProbeDeck Pro 支持 保存不限数量的连接。
- 它支持 ClickHouse HTTP(S) 接口,不支持原生协议。
- ProbeDeck 会按每页 200 行加载 SQL 查询结果,并将每个请求最多限制为 10,000 行。对于大型表,请使用
有选择性的
WHERE子句和LIMIT。 - 监控的可见性取决于 ClickHouse 用户的授权以及可选的日志表。
- 设备需要能够通过其网络、VPN 或内置 SSH 隧道访问端点。
- 监控和只读 SQL 无需应用内购买。
KILL QUERY、KILL MUTATION、 写入和 DDL 语句以及其他运维操作需要 ProbeDeck Pro。
故障排查
身份验证失败
身份验证失败
重新复制数据库用户名和密码。对于 ClickHouse Cloud 服务端点,请使用服务 Connect 对话框中的
数据库凭据。请勿改用 ClickHouse Cloud API Keys 页面中的组织级
密钥。
连接被拒绝或超时
连接被拒绝或超时
确认设备能够访问主机和 HTTP(S) 端口。检查 Cloud IP 访问列表、VPN、
防火墙和端口映射。请勿使用原生协议端口
9000 或 9440。监控显示权限受限
监控显示权限受限
ClickHouse 用户无法读取一个或多个必需的
system 表。请向服务器管理员申请
使用相应监控区域所需的最低 SELECT 授权,然后重新连接。TLS 指纹已更改
TLS 指纹已更改
接受新指纹前,请让服务器管理员确认是否已轮换证书。意外的更改可能表明端点不同,
或 TLS 拦截路径发生了变化。
后续步骤
- 有关 ProbeDeck 的详细信息,请访问 ProbeDeck 网站。
- 有关服务器配置,请参阅 ClickHouse HTTP 接口文档。