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