Перейти к основному содержанию
Перейти к основному содержанию

HTTP API и панель управления Keeper

ClickHouse Keeper предоставляет HTTP API и встроенную веб-панель для мониторинга, проверки работоспособности и управления хранилищем. Этот интерфейс позволяет операторам просматривать состояние кластера, выполнять команды и управлять хранилищем Keeper через веб-браузер или HTTP‑клиенты.

Конфигурация

Чтобы включить HTTP API, добавьте раздел http_control в конфигурацию keeper_server:

<keeper_server>
    <!-- Other keeper_server configuration -->

    <http_control>
        <port>9182</port>
        <!-- <secure_port>9443</secure_port> -->
    </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_ms30000Тайм-аут сеанса для операций API хранилища

Эндпоинты

Панель мониторинга

  • Path: /dashboard
  • Method: GET
  • Description: Предоставляет встроенную веб-панель мониторинга и управления Keeper

Панель мониторинга включает:

  • Визуализацию состояния кластера в реальном времени
  • Мониторинг узлов (роль, задержка, соединения)
  • Браузер хранилища
  • Интерфейс для выполнения команд

Проверка готовности (readiness probe)

  • Путь: /ready (можно изменить)
  • Метод: GET
  • Описание: конечная точка проверки работоспособности

Успешный ответ (HTTP 200):

{
  "status": "ok",
  "details": {
    "role": "leader",
    "hasLeader": true
  }
}

API команд

  • Path: /api/v1/commands/{command}
  • Methods: GET, POST
  • Description: Выполняет команды Four-Letter Word или команды CLI ClickHouse Keeper Client

Параметры запроса:

  • command - Команда, которую нужно выполнить
  • cwd - Текущий рабочий каталог для команд, работающих с путями (по умолчанию: /)

Примеры:

# Four-Letter Word command
curl http://localhost:9182/api/v1/commands/stat

# ZooKeeper CLI command
curl "http://localhost:9182/api/v1/commands/ls?command=ls%20'/'&cwd=/"

Storage API

  • Базовый путь: /api/v1/storage
  • Описание: REST API для операций с хранилищем Keeper

Storage API следует REST‑соглашениям, где HTTP-методы определяют тип операции:

ОперацияПутьМетодКод статусаОписание
Get/api/v1/storage/{path}GET200Получить данные узла
List/api/v1/storage/{path}?children=trueGET200Список дочерних узлов
Exists/api/v1/storage/{path}HEAD200Проверить, существует ли узел
Create/api/v1/storage/{path}POST201Создать новый узел
Update/api/v1/storage/{path}?version={v}PUT200Обновить данные узла
Delete/api/v1/storage/{path}?version={v}DELETE204Удалить узел