Prometheusとの統合
Prometheusは、指定された間隔で設定されたターゲットからメトリクスを収集し、ルール式を評価し、結果を表示し、特定の条件に基づいてアラートをトリガーできる監視システムです。
Zilliz CloudをPrometheusと統合することで、Zilliz Cloudデプロイメントに関連するメトリクスを収集および監視できます。
この機能は、エンタープライズプロジェクト内の専用クラスターでのみ利用可能です。
Prometheusを構成してZilliz Cloudメトリクスをスクレイプする
PrometheusでZilliz Cloudクラスターを監視するには、以下の手順に従います:
-
Prometheusサーバー上の
Prometheus.yml構成ファイルにアクセスします。詳細については、構成を参照してください。 -
Prometheus.ymlファイルのscrape_configsセクションに以下のスニペットを追加します。プレースホルダーを適切な値に置き換えてください:-
{{apiKey}}:クラスターメトリクスにアクセスするための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"]パラメータ
説明
job_nameスクレイプされたメトリクスに割り当てられた人間が読めるラベル。
schemeZilliz Cloudエンドポイントからメトリクスをスクレイプするために使用されるプロトコルスキームで、
httpsに設定されています。metrics_pathメトリクスデータを提供するターゲットサービス上のパス。
authorization.typeZilliz Cloudメトリクスにアクセスするために使用される認証タイプ。値を
Bearerに設定します。authorization.credentialsZilliz Cloudメトリクスエンドポイントにアクセスするための認証に使用されるAPIキー。
static_configs.targetsPrometheusがスクレイプする静的ターゲットで、Zilliz Cloud RESTful APIのホストアドレスである
api.cloud.zilliz.comである必要があります。 -
-
Prometheus.ymlファイルへの変更を保存します。
詳細については、Prometheus公式ドキュメントを参照してください。
スクレイプされたメトリクスの例
以下は、Zilliz Cloudの/metrics/exportエンドポイントからスクレイプされたPrometheusメトリクスの例です:
# HELP zilliz_cluster_capacity クラスターキャパシティ比率
# TYPE zilliz_cluster_capacity gauge
zilliz_cluster_capacity 0.88
# HELP zilliz_cluster_computation クラスターコンピュテーション比率
# TYPE zilliz_cluster_computation gauge
zilliz_cluster_computation 0.1
# HELP zilliz_cluster_storage_bytes クラスターストレージ使用量
# TYPE zilliz_cluster_storage_bytes gauge
zilliz_cluster_storage_bytes 8.9342782E7
# HELP zilliz_request_vectors_total リクエスト内のベクトルの総数
# 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メトリクスを分析するために使用できるクエリの例です:
-
インサート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]))