このガイドでは、ClickHouseオープンソースを評価しているエンタープライズチーム向けに、本番環境へのデプロイにおける監視およびオブザーバビリティ機能に関する包括的な情報を提供します。エンタープライズのお客様からは、標準で利用できる監視機能、Datadog や AWS CloudWatch などのツールを含む既存のオブザーバビリティスタックとのインテグレーション、そして ClickHouse の監視機能がセルフホスト環境のデプロイと比べてどう違うのかについて、よくご質問をいただきます。
Prometheus ベースのインテグレーションアーキテクチャ
ClickHouse は、デプロイモデルに応じて異なるエンドポイントで Prometheus 互換のメトリクスを公開しており、それぞれに異なる運用上の特性があります。
セルフマネージド/OSS ClickHouse
ClickHouse server の標準 /metrics エンドポイントに直接アクセスする方式です。このアプローチには、次の特徴があります。
- メトリクスを完全に公開: 組み込みのフィルタリングなしで、利用可能な ClickHouse メトリクスをすべて公開
- リアルタイムメトリクス: scrape 時にシステムテーブルから直接生成
システムへの直接アクセス
本番環境のシステムテーブルにクエリを実行するため、監視の負荷が増え、コスト削減のためにアイドル状態にすることもできなくなります
外部インテグレーションを利用することで、組織は既存の監視ワークフローを維持し、使い慣れたツールに関するチームの知見を活用しながら、現在のプロセスを中断したり大規模な再トレーニングを必要としたりすることなく、ClickHouse の監視をより広範なインフラストラクチャのオブザーバビリティに組み込めます。
チームは既存のアラートルールやエスカレーション手順を ClickHouse のメトリクスに適用できるほか、統合されたオブザーバビリティプラットフォーム内で、データベースのパフォーマンスをアプリケーションやインフラストラクチャの健全性と関連付けて把握できます。このアプローチにより、既存の監視環境に対する投資対効果を最大化し、統合されたダッシュボードと使い慣れたツールのインターフェイスを通じて、より迅速なトラブルシューティングが可能になります。
Grafana は、直接的なプラグインインテグレーションと Prometheus ベースのアプローチの両方で、ClickHouse の監視を提供します。Prometheus エンドポイントのインテグレーションを使用すると、既存の Grafana Cloud インフラストラクチャ内での可視化を実現しながら、監視ワークロードと本番ワークロードを運用上分離できます。設定方法については、Grafana の ClickHouse ドキュメント を参照してください。
Datadog は現在、サービスのアイドル化動作に配慮しつつ、Cloud サービスを適切に監視できる専用 API インテグレーションを開発しています。それまでの間、チームは運用上の分離とコスト効率に優れた監視のために、ClickHouse Prometheus エンドポイントを介した OpenMetrics インテグレーション方式を利用できます。設定方法については、Datadog の Prometheus および OpenMetrics インテグレーションのドキュメントを参照してください。
ClickStack は、詳細なシステム分析やデバッグのために ClickHouse が推奨するオブザーバビリティソリューションです。ClickHouse をストレージエンジンとして利用し、ログ、メトリクス、トレースを単一のプラットフォームで扱えます。このアプローチでは、ClickStack の UI である HyperDX が ClickHouse インスタンス内のシステムテーブルに直接接続します。
HyperDX には、Selects、Inserts、Infrastructure の各タブを備えた ClickHouse 向けのダッシュボードが用意されています。また、チームは Lucene または SQL の構文を使用してシステムテーブルやログを検索できるほか、Chart Explorer でカスタムの可視化を作成して、より詳細なシステム分析を行うこともできます。
このアプローチは、リアルタイムの本番アラートよりも、複雑な問題のデバッグ、パフォーマンス分析、システム内部の詳細な調査に適しています。
このアプローチでは、HyperDX がシステムテーブルに直接クエリを実行するため、アイドル状態のサービスが起動される点に注意してください。
- Helm: Kubernetes ベースのデバッグ環境に推奨されます。
values.yaml を使用して、環境ごとの設定、リソース制限、スケーリングを行えます。
- Docker Compose: 各コンポーネント (ClickHouse、HyperDX、OTel collector、MongoDB) を個別にデプロイします。
- HyperDX Only: スタンドアロンの HyperDX コンテナー。
利用可能なデプロイオプションとアーキテクチャの詳細については、ClickStack ドキュメント と データインジェストガイド を参照してください。
Grafanaプラグインとの直接インテグレーション
Grafana用のClickHouseデータソースプラグインを使用すると、システムテーブルを使ってClickHouseから直接データを可視化・分析できます。この方法は、パフォーマンスの監視や、システムを詳細に分析するためのカスタムダッシュボードの作成に適しています。
プラグインのインストールと設定の詳細については、ClickHouseのdata source pluginを参照してください。あらかじめ用意されたダッシュボードとアラートルールを含むPrometheus-Grafana mix-inを使用した完全な監視構成については、Monitor ClickHouse with the new Prometheus-Grafana mix-inを参照してください。
Datadog は、エージェント向けにシステムテーブルを直接クエリする ClickHouse 監視プラグインを提供しています。このインテグレーションにより、clusterAllReplicas 機能を通じてクラスターを認識した包括的なデータベース監視が可能になります。
このインテグレーションは、コスト最適化のためのアイドル時の挙動との非互換性に加え、Cloud のプロキシ層に運用上の制約があるため、ClickHouse Cloud へのデプロイには推奨されません。
ClickHouse のシステムテーブル、特に system.query_log を直接クエリすることで、クエリパフォーマンスを詳細に分析できます。SQL コンソールまたは ClickHouse client を使用すると、チームは低速なクエリを特定し、リソース使用状況を分析し、組織全体での利用パターンを追跡できます。
クエリパフォーマンス分析
システムテーブルのクエリログを使用して、クエリパフォーマンス分析を行えます。
クエリ例: すべてのクラスター レプリカにわたって、実行時間の長いクエリの上位 5 件を見つけます。
ClickHouseコミュニティでは、一般的なオブザーバビリティスタックと統合できる包括的な監視ソリューションが開発されています。ClickHouse Monitoring は、あらかじめ用意されたダッシュボードを備えた完全な監視環境を提供します。このオープンソースプロジェクトは、確立されたベストプラクティスと実績あるダッシュボード構成を活用してClickHouseの監視を導入したいチームに、すぐに始められるアプローチを提供します。
他のデータベース直接監視の手法と同様に、このソリューションはClickHouseのシステムテーブルを直接クエリするため、インスタンスがアイドル状態にならず、コスト最適化に影響します。