Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Keeper HTTP API とダッシュボード

ClickHouse Keeper は、監視、ヘルスチェック、ストレージ管理のための HTTP API と埋め込み Web ダッシュボードを提供します。 このインターフェイスを使用すると、Web ブラウザーや HTTP クライアントを通じて、運用担当者はクラスターの状態を確認し、コマンドを実行し、Keeper ストレージを管理できます。

設定

HTTP API を有効にするには、keeper_server 設定に http_control セクションを追加します。

<keeper_server>
    <!-- その他の keeper_server の設定 -->

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

設定オプション

設定 デフォルト 説明
http_control.port - ダッシュボードと API の HTTP ポート
http_control.secure_port - HTTPS ポート (SSL の設定が必要)
http_control.readiness.endpoint /ready レディネスプローブ用のカスタムパス
http_control.storage.session_timeout_ms 30000 ストレージ API 操作のセッションタイムアウト

エンドポイント

ダッシュボード

  • パス: /dashboard
  • メソッド: GET
  • 説明: Keeper を監視・管理するための埋め込み Web ダッシュボードを提供します

ダッシュボードでは、次の機能を利用できます。

  • クラスターの状態をリアルタイムで可視化
  • ノードの監視 (ロール、レイテンシ、接続)
  • ストレージブラウザー
  • コマンド実行用インターフェイス

クラスタータブ

クラスタータブでは、Raft メンバーシップをトポロジーグラフとテーブルで表示します。各メンバーのヘルス状態は、次の色で示されます。

  • — 稼働中で、リーダーと同期している
  • — 稼働中だが、リーダーより stale_log_gap 件を超えるログエントリ分遅れている
  • — 到達不能 (ハートビートの期限内に Raft 応答が正常に返されなかった)
  • 灰色 — 不明 (ピアのヘルス状態を確認できるのはリーダーのみであり、フォロワーではピアは不明として表示される)

テーブルには、各メンバーのロール (リーダー、フォロワー、オブザーバー) 、Raft の優先度、最後のログ索引、リーダーに対するレプリケーションラグ、最後に成功した Raft 応答からの経過時間も表示されます。現在のノードがリーダーではない場合、このタブにはリーダーのダッシュボードを開くディープリンクが表示され、そこですべてのピアのヘルス状態を確認できます。このタブは /dashboard?tab=cluster で直接開くこともできます。

レディネスプローブ

  • パス: /ready (設定可能)
  • メソッド: GET
  • 説明: ヘルスチェック用のエンドポイント

正常時のレスポンス (HTTP 200) :

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

Commands API

  • パス: /api/v1/commands/{command}
  • メソッド: GET, POST
  • 説明: Four-Letter Word コマンドまたは ClickHouse Keeper Client CLI コマンドを実行します

クエリパラメータ:

  • command - 実行するコマンド
  • cwd - パスベースのコマンドのカレントワーキングディレクトリ (デフォルト: /)

例:

# Four-Letter Wordコマンド
curl http://localhost:9182/api/v1/commands/stat

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

Storage API

  • ベースパス: /api/v1/storage
  • 説明: Keeper ストレージ操作用の REST API

Storage API は REST の規約に従っており、HTTP メソッドで操作の種類を示します。

操作 パス HTTPメソッド ステータスコード 説明
取得 /api/v1/storage/{path} GET 200 ノードデータを取得
一覧 /api/v1/storage/{path}?children=true GET 200 子ノードの一覧を取得
存在確認 /api/v1/storage/{path} HEAD 200 ノードが存在するか確認
作成 /api/v1/storage/{path} POST 201 新しいノードを作成
更新 /api/v1/storage/{path}?version={v} PUT 200 ノードデータを更新
削除 /api/v1/storage/{path}?version={v} DELETE 204 ノードを削除
Navigation