HTTP API и панель управления Keeper
ClickHouse Keeper предоставляет HTTP API и встроенную веб-панель для мониторинга, проверки работоспособности и управления хранилищем. Этот интерфейс позволяет операторам просматривать состояние кластера, выполнять команды и управлять хранилищем Keeper через веб-браузер или HTTP‑клиенты.
Конфигурация
Чтобы включить HTTP API, добавьте раздел http_control в конфигурацию keeper_server:
Параметры конфигурации
| Параметр | По умолчанию | Описание |
|---|---|---|
http_control.port | - | HTTP-порт для дашборда и API |
http_control.secure_port | - | HTTPS-порт (требуется настройка SSL) |
http_control.readiness.endpoint | /ready | Настраиваемый путь для пробы готовности |
http_control.storage.session_timeout_ms | 30000 | Тайм-аут сеанса для операций API хранилища |
Эндпоинты
Панель мониторинга
- Path:
/dashboard - Method: GET
- Description: Предоставляет встроенную веб-панель мониторинга и управления Keeper
Панель мониторинга включает:
- Визуализацию состояния кластера в реальном времени
- Мониторинг узлов (роль, задержка, соединения)
- Браузер хранилища
- Интерфейс для выполнения команд
Проверка готовности (readiness probe)
- Путь:
/ready(можно изменить) - Метод: GET
- Описание: конечная точка проверки работоспособности
Успешный ответ (HTTP 200):
API команд
- Path:
/api/v1/commands/{command} - Methods: GET, POST
- Description: Выполняет команды Four-Letter Word или команды CLI ClickHouse Keeper Client
Параметры запроса:
command- Команда, которую нужно выполнитьcwd- Текущий рабочий каталог для команд, работающих с путями (по умолчанию:/)
Примеры:
Storage API
- Базовый путь:
/api/v1/storage - Описание: REST API для операций с хранилищем Keeper
Storage API следует REST‑соглашениям, где HTTP-методы определяют тип операции:
| Операция | Путь | Метод | Код статуса | Описание |
|---|---|---|---|---|
| Get | /api/v1/storage/{path} | GET | 200 | Получить данные узла |
| List | /api/v1/storage/{path}?children=true | GET | 200 | Список дочерних узлов |
| Exists | /api/v1/storage/{path} | HEAD | 200 | Проверить, существует ли узел |
| Create | /api/v1/storage/{path} | POST | 201 | Создать новый узел |
| Update | /api/v1/storage/{path}?version={v} | PUT | 200 | Обновить данные узла |
| Delete | /api/v1/storage/{path}?version={v} | DELETE | 204 | Удалить узел |