ProbeDeck — клиент для iOS и iPadOS, предназначенный для проверки работоспособности сервера ClickHouse, просмотра
таблиц system и выполнения SQL. Он подключается к HTTP-интерфейсу ClickHouse через сеть устройства
или SSH-бастион; промежуточный сервер не требуется.
Перед началом работы
- Установите ProbeDeck из App Store.
- Используйте iOS или iPadOS версии 17.0 или новее.
- Разрешите устройству подключаться к конечной точке ClickHouse по HTTP или HTTPS через сеть, VPN или SSH-бастион.
- Создайте пользователя ClickHouse с доступом к базам данных, к которым вы хотите выполнять запросы.
- Предоставьте пользователю доступ
SELECTк соответствующим таблицамsystemдля мониторинга.
| ProbeDeck | ClickHouse Cloud | Самоуправляемый ClickHouse | Примечания |
|---|---|---|---|
| Версия 1.1.7 или новее | Текущий сервис | Нет фиксированной минимальной версии сервера | Использует интерфейс HTTP(S). Проверьте подключение и убедитесь, что каждый раздел мониторинга доступен в вашей версии сервера и с назначенными привилегиями. |
Некоторые разделы мониторинга зависят от необязательных таблиц логов или более новых системных таблиц. Например,
system.server_settings, которую ProbeDeck использует для определения настроенного ограничения памяти, требует ClickHouse
версии 23.3 или новее. ProbeDeck помечает затронутый раздел как ограниченный, если его источник недоступен.
Как это работает
- ProbeDeck отправляет SQL-запросы к конечной точке ClickHouse по HTTP(S).
- Он считывает данные мониторинга из таблиц
system, используя настроенного пользователя ClickHouse. - Приложение отображает на устройстве результаты запросов и представления мониторинга. Если с устройства нет прямого маршрута к конечной точке, SSH-бастион может туннелировать то же HTTP(S)-соединение.
Подключение к ClickHouse Cloud
Получите сведения о подключении к сервису
В консоли ClickHouse Cloud откройте сервис, выберите Connect, затем HTTPS.
Чтобы подключиться к ClickHouse по HTTP(S), вам понадобится следующая информация:
| Параметр(ы) | Описание |
|---|---|
HOST and PORT |
Обычно используется порт 8443 при использовании TLS и 8123 без TLS. |
DATABASE NAME |
По умолчанию есть база данных default; используйте имя базы данных, к которой хотите подключиться. |
USERNAME and PASSWORD |
По умолчанию имя пользователя — default. Используйте имя пользователя, подходящее для вашего сценария использования. |
Сведения о подключении для вашего сервиса ClickHouse Cloud доступны в консоли ClickHouse Cloud. Выберите сервис и нажмите Connect:

Выберите HTTPS. Сведения о подключении будут показаны в примере команды curl.

Если вы используете самоуправляемый ClickHouse, сведения о подключении задаёт ваш администратор ClickHouse.
Добавьте подключение в ProbeDeck
- На экране Connections нажмите +.
- Введите имя подключения и хост без
https://. - Укажите
8443в поле Port и включите TLS. - Введите имя пользователя и пароль базы данных из диалогового окна Connect. Имя базы данных указывать необязательно.
- Нажмите Test Connection. После успешной проверки ProbeDeck отобразит версию сервера и время выполнения полного запроса и ответа.
- Нажмите Save.
ProbeDeck использует эти учетные данные базы данных для аутентификации SQL-запросов к конечной точке сервиса. ClickHouse Cloud использует ключи уровня организации со страницы API Keys для Cloud API и эндпоинтов Query API. При SQL-подключении ProbeDeck эти ключи не используются.

Подключение к самоуправляемому ClickHouse
Выберите конечную точку HTTP
Используйте порт 8123 для стандартного незашифрованного HTTP-интерфейса. Для HTTPS включите TLS и используйте
порт, настроенный на сервере; часто используется 8443.
Добавьте и проверьте подключение
- На экране Connections нажмите +.
- Введите хост сервера без схемы URL.
- Укажите HTTP(S)-порт и включите или отключите TLS.
- Введите имя пользователя ClickHouse, пароль и при необходимости базу данных.
- Нажмите Test Connection, затем Save.
При подключении к серверу в локальной сети iOS может запросить разрешение на доступ к локальной сети. Если конечная точка доступна только из корпоративной сети, сначала подключите устройство к VPN.
Подключение через SSH-бастион
Включите SSH Tunnel в форме подключения и укажите:
- Хост бастиона и SSH-порт (по умолчанию
22). - Имя пользователя SSH.
- Пароль SSH или закрытый ключ.
ProbeDeck открывает SSH-канал direct-tcpip от бастиона к хосту ClickHouse и HTTP(S)-
порту, указанному в разделе Server. При первом подключении перед подтверждением сравните SHA-256-отпечаток ключа хоста бастиона
со значением, полученным от администратора сервера.
Настройка аутентификации и TLS
ProbeDeck передаёт имя пользователя и пароль базы данных в заголовках запроса X-ClickHouse-User и
X-ClickHouse-Key. Учётные данные в URL не передаются.
Для взаимного TLS включите TLS Client Certificate, импортируйте файл PKCS#12 (.p12), содержащий
сертификат клиента и закрытый ключ, а затем введите парольную фразу.
Когда самоуправляемая конечная точка использует самоподписанный сертификат или сертификат, выданный частным CA, ProbeDeck отображает его SHA-256-отпечаток, издателя, subject и срок действия. Сравните отпечаток со значением, полученным от администратора сервера, прежде чем принять сертификат. ProbeDeck сохраняет это решение для данного соединения; при изменении сертификата соединение будет заблокировано, пока вы не проверите его.
ProbeDeck хранит секреты соединения и импортированный ключевой материал в связке ключей iOS на устройстве.
Мониторинг ClickHouse
Откройте сохранённое подключение и выберите Мониторинг. На панели мониторинга представлены следующие источники:
| Область | Источник ClickHouse |
|---|---|
| Выполняющиеся запросы, время выполнения, память и прочитанные строки | system.processes |
| Состояние репликации и очередь | system.replicas, system.replication_queue |
| Диски, части и слияния | system.disks, system.parts, system.merges |
| Мутации | system.mutations |
| Метрики памяти и сервера | system.metrics, system.asynchronous_metrics, system.server_settings |
| Исторические скорости запросов и диска | system.metric_log, system.asynchronous_metric_log |

Нажмите Выполняющиеся запросы, чтобы отсортировать активные запросы по времени выполнения и просмотреть использование памяти и количество прочитанных строк.

Выполнение запроса к набору данных о ценах на недвижимость в Великобритании
В этом примере используется набор данных о ценах на недвижимость в Великобритании.
Загрузите набор данных в uk_price_paid, затем:
- Откройте подключение и выберите Данные.
- Откройте редактор SQL.
- Выполните этот ограниченный запрос только для чтения:
SELECT
town,
count() AS sales,
round(avg(price)) AS average_price
FROM uk_price_paid
GROUP BY town
ORDER BY sales DESC
LIMIT 10Результат должен содержать десять городов с количеством транзакций и средними ценами.
Известные ограничения
- ProbeDeck работает на iOS и iPadOS версии 17.0 и новее.
- Бесплатные пользователи могут сохранять только одно подключение. При его удалении слот освобождается; ProbeDeck Pro позволяет сохранять неограниченное количество подключений.
- Поддерживается интерфейс ClickHouse HTTP(S), но не собственный протокол.
- ProbeDeck загружает результаты SQL постранично, по 200 строк, и ограничивает каждый запрос 10 000 строками. Для больших таблиц используйте
избирательное условие
WHEREиLIMIT. - Доступность раздела Monitoring зависит от привилегий пользователя ClickHouse и наличия необязательных таблиц логов.
- Устройство должно иметь маршрут к конечной точке через сеть, VPN или встроенный SSH-туннель.
- Monitoring и SQL в режиме только для чтения не требуют покупки в приложении.
KILL QUERY,KILL MUTATION, операторы записи, DDL-операторы и другие операционные действия требуют ProbeDeck Pro.
Устранение неполадок
Ошибка аутентификации
Ещё раз скопируйте имя пользователя и пароль базы данных. Для конечной точки сервиса ClickHouse Cloud используйте учётные данные базы данных из диалогового окна Connect сервиса. Не используйте вместо них ключ организации со страницы API Keys в ClickHouse Cloud.
В подключении отказано или истекло время ожидания
Убедитесь, что устройство может подключиться к хосту по HTTP(S)-порту. Проверьте IP Access List Cloud, VPN,
межсетевой экран и сопоставление портов. Не используйте порты собственного протокола 9000 или 9440.
Monitoring показывает ограниченные разрешения
Пользователь ClickHouse не может читать одну или несколько необходимых таблиц system. Запросите у администратора сервера
минимальные привилегии SELECT для нужных вам разделов мониторинга, затем переподключитесь.
Отпечаток TLS изменился
Прежде чем принимать новый отпечаток, попросите администратора сервера подтвердить ротацию сертификата. Неожиданное изменение может указывать на другую конечную точку или перехват TLS.
Следующие шаги
- Подробные сведения о продукте см. на сайте ProbeDeck.
- Сведения о конфигурации сервера см. в документации по HTTP-интерфейсу ClickHouse.