Skip to main content
clickhouse-server が起動中またはシャットダウン中に停止した場合、通常のポートは接続を受け付けず、サーバーの実行状況を確認することもできません。 イントロスペクションポートは、サーバーがテーブルのAttachを開始する前に起動し、テーブルのdetachが完了した後にのみ停止するネイティブプロトコルのTCPリスナーです。この期間中、operatorは標準の clickhouse-client で接続し、SHOW PROCESSLISTSELECT * FROM system.stack_traceSYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' SLEEP ENTRY 0.5 などのクエリを実行できます。

設定

イントロスペクションポートは、<introspection>true</introspection> でマークされたコンポーザブルプロトコルのエンドポイントです。デフォルトでは、イントロスペクションポートは設定されていません。
通常のコンポーザブルプロトコルエンドポイントであるため、エンドポイントでサポートされるすべての機能をサポートします。hostportdescriptionnetworks の許可リスト、default_database、および tlsproxy1 レイヤーによるラッピングが利用できます。 introspection フラグは、port を持つエントリであるエンドポイントのプロパティであり、impl 参照を介して継承されません。そのため、1 つのレイヤーをイントロスペクションエンドポイントと通常のエンドポイントで共有できます。 以下のセマンティクスはネイティブプロトコルハンドラーによって実装されるため、スタックの末尾は tcp レイヤーである必要があります。スタックに httpmysqlpostgresprometheus、または interserver レイヤーを含むエンドポイントをマークしようとすると、必要なときに応答しなくなるポートが生成されるのではなく、起動時に INVALID_CONFIG_PARAMETER で拒否されます。

動作

  • 受け付けられるクエリは、SELECTSHOWDESCRIBEEXPLAINEXISTSKILL QUERYSYSTEMSETUSE です。DDL やデータを変更するクエリを含むその他すべてのクエリは、サーバー状態が完全に構築される前または終了処理中でもポートが開いているため、QUERY_IS_PROHIBITED で拒否されます。
  • SYSTEM RELOAD CONFIG および SYSTEM RELOAD USERS は、起動中に設定を再読み込みすると初期化順序が崩れる可能性があるため、サーバーが完全に起動するまで QUERY_IS_PROHIBITED で拒否されます。
  • これらのポートで実行されるクエリは、SHOW PROCESSLIST と同様に、max_concurrent_queries とワークロードスケジューラの対象外です。
  • 接続は専用のスレッドプールで処理されるため、通常の接続プールが枯渇してもこれらのポートには影響しません。プールサイズは max_connections で決まります。
  • CPU 過負荷によりサーバーが通常の接続を拒否している場合でも、接続は受け付けられます。
  • 通常の認証と認可がすべて適用されます。このポートに接続しても、追加のアクセス権は付与されません。ただし、前述の同時実行制限は適用されないため、運用担当者のみが到達できるアドレスにバインドしてください。
  • これらのポートは SYSTEM START LISTEN / SYSTEM STOP LISTEN (ALL および CUSTOM を含む) の対象外であり、設定の再読み込み時にも再構成されません。
最終更新日 2026年8月26日