altinity-expert-clickhouse-overview について
ClickHouse の運用担当者向けに、サーバーの健全性を概観し、追加調査の方向を示す診断スキルです。定義済みの SQL チェックを実行し、結果の解釈と報告方法も案内します。
主な機能
- 0114 項目のシステム健全性チェック
- 0213 項目のしきい値アラートチェック
- 03Keeper が必要な DDL キューチェック
- 04結果の解釈ルール
- 05専門スキルへの振り分け
活用シーン
- 01ClickHouse サーバーの健全性確認
- 02メモリやディスク使用量の超過検出
- 03エラー率やデタッチされたパーツの確認
- 04次に使う専門スキルの選定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ altinity/ altinity-skills --skill altinity-expert-clickhouse-overviewインストール後、Claude Code で/altinity-expert-clickhouse-overviewを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
checks.sqlddl_queue.sqlmetrics.sql詳細
ヘルス概要とルーティング
system.metrics、system.asynchronous_metrics、system.parts、system.disks、system.tables、system.query_log、system.errors、system.text_log から、「このサーバーは正常か、さらに詳しく調べる必要がある領域はどこか」に回答します。設計上、単一ホストが対象です。レプリカごとの差異については、専門スキルを参照してください。
接続モード、クラスター、時間範囲がまだ確定していない場合は、最初に altinity-expert-clickhouse-connection を実行してください。
クエリパック
checks.sql— 14 個のチェック:オブジェクト数、メモリと RAM の比較、主キーとディクショナリの RAM、ディスク使用量、レプリケーション概要、システムログの TTL とサイズ、時間ごとのクエリエラー率、part_log のエラー、system.errorsの上位コード、デタッチされたパーツ、text_logの最近の警告、バックグラウンドプールの使用率。metrics.sql— 13 個のアラートチェック(ID はA3.0.x)。しきい値を超えた場合にのみ行を返し、結果が空なら問題ありません。チェック A3.0.4 と A3.0.5 には、バージョン別の選択肢が 2 つあります(@requires version<26.8/version>=26.8)。サーバーのバージョンに合う方を実行してください。ddl_queue.sql— ON CLUSTER DDL キューのチェック 1 個。@requires keeper。
クエリパックの実行方法
- このスキルのディレクトリにある各パックファイルを読み込みます(スキルローダーにディレクトリパスが表示されます)。
- ステートメントは 1 つずつ実行し、ファイル全体を一度に実行しないでください。ステートメントは
;で終わり、-- @check <id> <title>ヘッダーで始まります。結果には ID を添えてください。 -- @requiresに従ってください。指定されたテーブルが存在しない場合、keeperが必要なのにサーバーに Keeper/ZooKeeper がない場合、またはバージョン条件を満たさない場合は、そのステートメントをスキップします。スキップした ID と理由を記録してください。- クラスターマクロがある場合は、
{cluster}をそのまま使用します。ない場合は、接続スキルの書き換えルールを適用してください。その他の{placeholder}はテンプレート変数です。実際の値に置き換えるか、ステートメントをスキップしてください。 - エラーが発生した場合は、チェック ID とエラーの最初の行を記録してから続行します。
UNKNOWN_IDENTIFIERの場合に限り、DESCRIBE TABLE system.<table>を実行し、存在しない列を削除してください。 severity列がその行の判定です。そのまま転記し、再判定しないでください。
解釈ルール
metrics.sqlのチェックで行が返されない場合は問題ありません。該当する ID を OK 行に列挙してください。Minorの行は情報提供であり、所見ではありません。- システムログテーブルに TTL がない場合(overview-07)は所見です。隣に overview-08 のサイズを引用してください。最大の TTL 未設定テーブルが数 GiB を超える場合、またはディスク使用率が 70 パーセントを超える場合に限り、ログスキルに引き継ぎます。
- エラー率(overview-09)について、障害が継続しているのか、急増しているのかを示し、overview-11 の上位エラーコードを挙げてください。この診断セッション自体が原因のコード(UNKNOWN_IDENTIFIER、UNKNOWN_TABLE、SYNTAX_ERROR)は無視してください。
- オブジェクト数(overview-01)とパーツ数はサーバー全体の値です。最大のパーツ数またはサイズが
system.*テーブルに由来する場合は、ユーザーテーブルのせいにせず、その旨を記載してください。 broken*、unexpected*、ignored*を理由とするデタッチされたパーツ(overview-12)は、レプリケーションまたはディスクの問題を示します。cloneとcovered-by-brokenは通常、安全に削除できます。- MergesAndMutations のバックグラウンドプール使用率(overview-14)が 90 パーセントを超える場合、マージがデータ量ではなく容量によって制限されています。
has_keeper = 0の場合、レプリケーションと DDL キューのチェックは OK ではなく、該当なしとして記載してください。
レポート形式
- ヘッダー:接続モード、クラスターまたは「単一ノード」、ClickHouse のバージョン、時間範囲。
- 所見:列が
check、severity、object、evidence、recommendationの表。所見ごとに 1 行とし、Critical を先頭にします。Evidence には結果行の数値を引用してください。 - OK チェック:問題のある行が返されなかったチェック ID を 1 行で列挙します。
- スキップおよび失敗したチェック:ID と理由、またはエラーの最初の行。必ずこのセクションを含めてください。
- 次の手順:次に読み込むスキルと、すぐに実行する対応。
次に読み込むスキル
- 読み取り専用レプリカ、レプリカ遅延、レプリケーションキューの増大、text_log 内の Keeper エラー →
altinity-expert-clickhouse-replicationスキルを読み込みます - RAM の 80 パーセント超の使用、大きな主キーやディクショナリによる RAM 使用、MEMORY_LIMIT_EXCEEDED エラー →
altinity-expert-clickhouse-memoryスキルを読み込みます - ディスク使用率が 80 パーセント超、または大きなシステムログテーブル →
altinity-expert-clickhouse-storage(ディスク)またはaltinity-expert-clickhouse-logs(ログ TTL)スキルを読み込みます - パーティションあたりのパーツ数が多い、TOO_MANY_PARTS、MergesAndMutations プールの飽和、part_log のマージエラー →
altinity-expert-clickhouse-mergesスキルを読み込みます - クエリエラー率が高い、または SELECT が遅い →
altinity-expert-clickhouse-reportingスキルを読み込みます - INSERT が遅い、または失敗する、NewPart の発生率が高い →
altinity-expert-clickhouse-ingestionスキルを読み込みます - Kafka コンシューマー数がプールサイズを超えている、または text_log に Kafka の警告がある →
altinity-expert-clickhouse-kafkaスキルを読み込みます - ディクショナリの読み込みに失敗する、またはディクショナリの RAM 使用量が多い →
altinity-expert-clickhouse-dictionariesスキルを読み込みます - part_log のエラーに記録されたミューテーションが停止している、または失敗している →
altinity-expert-clickhouse-mutationsスキルを読み込みます - system.errors に ACCESS_DENIED または認証エラーがある →
altinity-expert-clickhouse-grantsスキルを読み込みます - 時間の経過とともに負荷、接続、またはプールが飽和する →
altinity-expert-clickhouse-metricsスキルを読み込みます - スキーマのアンチパターンが疑われる(パーティショニング、ORDER BY、マテリアライズドビュー) →
altinity-expert-clickhouse-schemaスキルを読み込みます
コメント
Markdown 対応