Prometheus との統合
Prometheus は、設定されたターゲットから指定された間隔でメトリクスを収集し、ルール式を評価して結果を表示し、特定の条件に基づいてアラートをトリガーできる監視システムです。
Zilliz Cloud を Prometheus と統合することで、Zilliz Cloud デプロイメントに関連するメトリクスを収集および監視できます。
この機能は、Enterprise プロジェクト内の Dedicated クラスターでのみ利用可能です。
Zilliz Cloud メトリクスをスクレイプするための Prometheus の設定
Prometheus で Zilliz Cloud クラスターを監視するには、以下の手順に従ってください:
Prometheus サーバー上の Prometheus.yml 設定ファイルにアクセスします。詳細については、設定 を参照してください。
Prometheus.yml ファイルの scrape_configs セクションに以下のスニペットを追加します。プレースホルダーを適切な値に置き換えてください:
-
{{apiキー}}: クラスターメトリクスにアクセスするための Zilliz Cloud API キー。 -
{{clusterId}}: 監視対象の Zilliz Cloud クラスターの ID。
scrape_configs:
- job_name: in01-06b8404b623xxxx
scheme: https
metrics_path: /v2/clusters/{{clusterId}}/metrics/export
authorization:
type: Bearer
credentials: {{apiKey}}
static_configs:
- targets: ["api.cloud.zilliz.com"]
パラメーター | 説明 |
|---|---|
| スクレイプされたメトリクスに割り当てられる人間が読めるラベル。 |
| Zilliz Cloud エンドポイントからメトリクスをスクレイプするために使用されるプロトコルスキームで、 |
| メトリクスデータを提供するターゲットサービス上のパス。 |
| Zilliz Cloud メトリクスへのアクセスに使用される認証タイプ。値を |
| Zilliz Cloud メトリクスエンドポイントへのアクセス権限付与に使用される API キー。 |
| Prometheus がスクレイプする静的ターゲットで、以下である必要があります。 |
Prometheus.yml ファイルへの変更を保存します。
詳細については、Prometheus 公式ドキュメント を参照してください。
スクレイプされたメトリクスの例
以下は、Zilliz Cloud の /metrics/export エンドポイントからスクレイプされた Prometheus メトリクスの例です:
# HELP zilliz_cluster_capacity Cluster capacity ratio
# TYPE zilliz_cluster_capacity gauge
zilliz_cluster_capacity 0.88
# HELP zilliz_cluster_computation Cluster computation ratio
# TYPE zilliz_cluster_computation gauge
zilliz_cluster_computation 0.1
# HELP zilliz_cluster_storage_bytes Cluster storage usage
# TYPE zilliz_cluster_storage_bytes gauge
zilliz_cluster_storage_bytes 8.9342782E7
# HELP zilliz_request_vectors_total Total number of vectors in requests
# TYPE zilliz_request_vectors_total counter
zilliz_request_vectors_total{request_type="bulk_insert"} 1.0
zilliz_request_vectors_total{request_type="delete"} 1.0
zilliz_request_vectors_total{request_type="insert"} 1.0
zilliz_request_vectors_total{request_type="search"} 1.0
zilliz_request_vectors_total{request_type="upsert"} 1.0
Zilliz Cloud メトリックラベル
Zilliz Cloud によって公開されるメトリックには、以下の識別子がラベルとして付与されます。
ラベル名 | 説明 | 値 |
|---|---|---|
| メトリックの送信元である Zilliz Cloud クラスターの ID。 | - |
| Zilliz Cloud クラスターを所有する組織の ID。 | - |
| クラスターが所属する、組織内のプロジェクトの ID。 | - |
| 監視対象となっているコレクションの名前。 | - |
| データに対して実行された操作の種類。 |
|
| データ操作の結果。 |
|
利用可能なメトリック
以下の表は、Zilliz Cloud で利用可能なメトリックを、そのタイプ、説明、関連するラベルとともに示しています。
メトリック名 | タイプ | 説明 | ラベル |
|---|---|---|---|
| Gauge | 現在の計算容量の使用率。 |
|
| Gauge | 現在のストレージ容量の使用率。 |
|
| Gauge | 使用されているストレージ領域の総量。 |
|
| Gauge | 現在の書き込みスループット。 |
|
| Counter | 処理されたリクエストの総数。 |
|
| Counter | すべてのリクエストを通じて操作されたベクトルの総数。 |
|
| Histogram | 処理されたリクエストのレイテンシ分布。 |
|
| Counter | レイテンシ閾値を超えたクエリの数。 |
|
| Gauge | 保存されているエンティティの総数。 |
|
| Gauge | 現在メモリ上にロードされているエンティティの数。 |
|
| Gauge | インデックス化が完了したエンティティの数。 |
|
| Gauge | コレクションの総数。 |
|
| Gauge | ロードされていないコレクションの数。 |
|
Prometheus クエリの例
以下は、Prometheus を使用して Zilliz Cloud のメトリックを分析するために使用できるクエリの例です。
-
insert QPS を計算する
rate(zilliz_requests_total{cluster_id='in01-xxxxx',request_type='insert'}[$__rate_interval]) -
挿入 VPS を計算する
rate(zilliz_request_vectors_total{cluster_id='in01-xxxxx',request_type='insert'}[$__rate_interval]) -
70 パーセンタイルの挿入レイテンシを計算する
histogram_quantile(
0.70,
sum(
rate(zilliz_request_duration_seconds_bucket{cluster_id='in01-xxxxx',request_type='insert'}[$__rate_interval])
) by (le)
) -
挿入リクエストの失敗率を計算する
rate(zilliz_requests_total{cluster_id=?,status!='success'}[$__rate_interval])
/
rate(zilliz_requests_total{cluster_id=?}[$__rate_interval]) -
1 分あたりのスロークエリ数を計算する
sum(increase(zilliz_slow_queries_total{cluster_id=?}[1m])) -
5 分ごとのスロークエリ数を計算する
sum(increase(zilliz_slow_queries_total{cluster_id=?}[5m]))