Prometheus統合
この機能は、ClickHouse Cloudサービスを監視するためのPrometheusの統合をサポートします。Prometheusメトリクスへのアクセスは、ClickHouse Cloud APIエンドポイントを介して公開されており、ユーザーは安全に接続し、メトリクスをPrometheusメトリクスコレクタにエクスポートできます。これらのメトリクスは、可視化のためにGrafanaやDatadogなどのダッシュボードと統合できます。
始めるには、APIキーを生成してください。
ClickHouse Cloudメトリクスを取得するためのPrometheusエンドポイントAPI
APIリファレンス
| メソッド | パス | 説明 | 
|---|---|---|
| GET | https://api.clickhouse.cloud/v1/organizations/:organizationId/services/:serviceId/prometheus?filtered_metrics=[true | false] | 特定のサービスのメトリクスを返します。 | 
| GET | https://api.clickhouse.cloud/v1/organizations/:organizationId/prometheus?filtered_metrics=[true | false] | 組織内のすべてのサービスのメトリクスを返します。 | 
リクエストパラメータ
| 名前 | 場所 | 型 | 
|---|---|---|
| Organization ID | エンドポイントアドレス | uuid | 
| Service ID | エンドポイントアドレス | uuid(オプション) | 
| filtered_metrics | クエリパラメータ | boolean(オプション) | 
認証
基本認証のためにClickHouse Cloud APIキーを使用します:
サンプルレスポンス
メトリクスラベル
すべてのメトリクスには次のラベルがあります:
| ラベル | 説明 | 
|---|---|
| clickhouse_org | 組織ID | 
| clickhouse_service | サービスID | 
| clickhouse_service_name | サービス名 | 
ClickPipesの場合、メトリクスには次のラベルも含まれます:
| ラベル | 説明 | 
|---|---|
| clickpipe_id | ClickPipe ID | 
| clickpipe_name | ClickPipe名 | 
| clickpipe_source | ClickPipeのソースタイプ | 
情報メトリクス
ClickHouse Cloudは、常に値が1であるgaugeタイプの特別なメトリクスClickHouse_ServiceInfoを提供します。このメトリクスには、すべてのメトリクスラベルと次のラベルが含まれます:
| ラベル | 説明 | 
|---|---|
| clickhouse_cluster_status | サービスの状態。以下のいずれかです:[awaking | running | degraded | idle | stopped] | 
| clickhouse_version | サービスが実行されているClickHouseサーバーのバージョン | 
| scrape | 最後のスクレイプの状態を示します。fullまたはpartialのいずれかです。 | 
| full | 最後のメトリクススクレイプ中にエラーがなかったことを示します | 
| partial | 最後のメトリクススクレイプ中にいくつかのエラーがあり、ClickHouse_ServiceInfoメトリクスのみが返されたことを示します。 | 
メトリクスを取得するリクエストは、アイドル状態のサービスを再開することはありません。サービスがidle状態にある場合、ClickHouse_ServiceInfoメトリクスのみが返されます。
ClickPipesの場合、同様のClickPipes_Infoメトリクスgaugeが、メトリクスラベルに加えて次のラベルを含みます:
| ラベル | 説明 | 
|---|---|
| clickpipe_state | パイプの現在の状態 | 
Prometheusの設定
Prometheusサーバーは、指定された間隔で設定されたターゲットからメトリクスを収集します。以下は、ClickHouse Cloud Prometheusエンドポイントを使用するためのPrometheusサーバーの例の構成です:
honor_labels構成パラメータは、インスタンスラベルが適切に設定されるようにtrueに設定する必要があります。また、上記の例ではfiltered_metricsをtrueに設定していますが、ユーザーの好みに応じて構成する必要があります。
Grafanaとの統合
ユーザーには、Grafanaとの統合に主に2つの方法があります:
- メトリクスエンドポイント – このアプローチの利点は、追加のコンポーネントやインフラが不要であることです。このオファリングはGrafana Cloudに限定され、ClickHouse Cloud PrometheusエンドポイントURLと認証情報のみが必要です。
 - Grafana Alloy - Grafana Alloyは、Grafanaエージェントに代わるベンダー中立のOpenTelemetry(OTel)コレクターのディストリビューションです。スクレイパーとして使用でき、自分のインフラにデプロイ可能で、任意のPrometheusエンドポイントと互換性があります。
 
以下に、ClickHouse Cloud Prometheusエンドポイント特有の詳細に焦点を当てたこれらのオプションの使用に関する指示を提供します。
メトリクスエンドポイントを使用したGrafana Cloud
- Grafana Cloudアカウントにログインします。
 - メトリクスエンドポイントを選択して新しい接続を追加します。
 - スクレイプURLをPrometheusエンドポイントを指すように設定し、APIキー/シークレットで接続を基本認証で構成します。
 - 接続をテストして接続できることを確認します。
 

設定が完了したら、ダッシュボードを設定するために選択できるメトリクスがドロップダウンに表示されるはずです:


Alloyを使用したGrafana Cloud
Grafana Cloudを使用している場合、Grafana内のAlloyメニューに移動し、画面の指示に従うことでAlloyをインストールできます。

これにより、認証トークンを使用してGrafana Cloudエンドポイントにデータを送信するためのprometheus.remote_writeコンポーネントを含むAlloyが構成されます。ユーザーは、ClickHouse Cloud Prometheusエンドポイント用のスクレイパーを含むようにAlloyの設定(Linuxの場合は/etc/alloy/config.alloyにあります)を変更する必要があります。
以下は、ClickHouse Cloudエンドポイントからメトリクスをスクレイプするprometheus.scrapeコンポーネント、そして自動的に構成されたprometheus.remote_writeコンポーネントを含むAlloyの設定例を示します。basic_auth構成コンポーネントには、ユーザー名とパスワードとしてそれぞれCloud APIキーIDとシークレットが含まれています。
honor_labels構成パラメータは、インスタンスラベルが適切に設定されるようにtrueに設定する必要があります。
Alloyを使用したセルフマネージドGrafana
Grafanaのセルフマネージドユーザーは、Alloyエージェントのインストール手順をこちらで見つけることができます。ユーザーがAlloyを構成してPrometheusメトリクスを目的の宛先に送信していると仮定します。以下のprometheus.scrapeコンポーネントは、AlloyがClickHouse Cloudエンドポイントをスクレイプする原因となります。prometheus.remote_writeがスクレイプされたメトリクスを受け取ると仮定しています。この宛先が存在しない場合は、forward_to keyをターゲットの宛先に調整してください。
設定が完了したら、メトリクスエクスプローラーにClickHouse関連のメトリクスが表示されるはずです:

honor_labels構成パラメータは、インスタンスラベルが適切に設定されるようにtrueに設定する必要があります。
Datadogとの統合
DatadogのエージェントとOpenMetrics統合を使用して、ClickHouse Cloudエンドポイントからメトリクスを収集できます。以下は、このエージェントと統合のためのシンプルな設定の例です。ただし、最も重要なメトリクスのみを選択したい場合があります。以下のキャッチオールの例は、何千ものメトリクスインスタンスの組み合わせをエクスポートし、Datadogはこれをカスタムメトリクスとして扱います。
