Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

API HTTP e painel do Keeper

O ClickHouse Keeper fornece uma API HTTP e um painel web incorporado para monitoramento, verificações de integridade e gerenciamento do armazenamento. Essa interface permite aos operadores inspecionar o status do cluster, executar comandos e gerenciar o armazenamento do Keeper por meio de um navegador web ou de clientes HTTP.

Configuração

Para habilitar a API HTTP, adicione a seção http_control à configuração do keeper_server:

<keeper_server>
    <!-- Outras configurações do keeper_server -->

    <http_control>
        <port>9182</port>
        <!-- <secure_port>9443</secure_port> -->
    </http_control>
</keeper_server>

Opções de configuração

Configuração Padrão Descrição
http_control.port - Porta HTTP para o painel e a API
http_control.secure_port - Porta HTTPS (requer configuração de SSL)
http_control.readiness.endpoint /ready Caminho personalizado para a probe de prontidão
http_control.storage.session_timeout_ms 30000 Tempo limite da sessão para operações da API de armazenamento

Endpoints

Painel

  • Caminho: /dashboard
  • Método: GET
  • Descrição: Disponibiliza um painel web integrado para monitoramento e gerenciamento do Keeper

O painel oferece:

  • Visualização em tempo real do status do cluster
  • Monitoramento de nós (função, latência, conexões)
  • Explorador de armazenamento
  • Interface para execução de comandos

Aba Cluster

A aba Cluster exibe os membros do Raft em um grafo de topologia e uma tabela. Cada membro é mostrado com uma cor que indica seu estado de integridade:

  • Verde — ativo e sincronizado com o líder
  • Amarelo — ativo, mas com defasagem de mais de stale_log_gap entradas de log em relação ao líder
  • Vermelho — inacessível (nenhuma resposta Raft bem-sucedida dentro da janela de expiração do heartbeat)
  • Cinza — desconhecido (o estado de integridade dos pares só é visível a partir do líder; os seguidores veem seus pares como desconhecidos)

A tabela também mostra a função de cada membro (líder, seguidor ou observador), a prioridade do Raft, o último índice de log, a defasagem de replicação em relação ao líder e o tempo desde a última resposta Raft bem-sucedida. Quando o nó atual não é o líder, a aba oferece um link direto para abrir o painel do líder, onde é possível visualizar o estado de integridade completo dos pares. A aba pode ser aberta diretamente em /dashboard?tab=cluster.

Sonda de prontidão

  • Caminho: /ready (configurável)
  • Método: GET
  • Descrição: endpoint de verificação de integridade

Resposta de sucesso (HTTP 200):

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

API de comandos

  • Caminho: /api/v1/commands/{command}
  • Métodos: GET, POST
  • Descrição: Executa comandos Four-Letter Word ou comandos da CLI do cliente ClickHouse Keeper

Parâmetros de consulta:

  • command - O comando a ser executado
  • cwd - Diretório de trabalho atual para comandos baseados em caminho (padrão: /)

Exemplos:

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

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

API de armazenamento

  • Caminho base: /api/v1/storage
  • Descrição: API REST para operações de armazenamento do Keeper

A API de armazenamento segue as convenções REST, em que os métodos HTTP indicam o tipo de operação:

Operação Caminho Método Código de status Descrição
Obter /api/v1/storage/{path} GET 200 Obter dados do nó
Listar /api/v1/storage/{path}?children=true GET 200 Listar nós filhos
Verificar /api/v1/storage/{path} HEAD 200 Verificar se o nó existe
Criar /api/v1/storage/{path} POST 201 Criar um novo nó
Atualizar /api/v1/storage/{path}?version={v} PUT 200 Atualizar dados do nó
Excluir /api/v1/storage/{path}?version={v} DELETE 204 Excluir nó
Navigation