メインコンテンツまでスキップ
バージョン: User Guides (Cloud)

Prometheus との統合

Prometheus は、設定されたターゲットから指定された間隔でメトリクスを収集し、ルール式を評価して結果を表示し、特定の条件に基づいてアラートをトリガーできる監視システムです。

Zilliz Cloud を Prometheus と統合することで、Zilliz Cloud デプロイメントに関連するメトリクスを収集および監視できます。

📘Notes

この機能は、Enterprise プロジェクト内の Dedicated クラスターでのみ利用可能です。

Zilliz Cloud メトリクスをスクレイプするための Prometheus の設定

Prometheus で Zilliz Cloud クラスターを監視するには、以下の手順に従ってください:

1

Prometheus サーバー上の Prometheus.yml 設定ファイルにアクセスします。詳細については、設定 を参照してください。

2

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"]

パラメーター

説明

job_name

スクレイプされたメトリクスに割り当てられる人間が読めるラベル。

scheme

Zilliz Cloud エンドポイントからメトリクスをスクレイプするために使用されるプロトコルスキームで、https に設定されます。

metrics_path

メトリクスデータを提供するターゲットサービス上のパス。

authorization.type

Zilliz Cloud メトリクスへのアクセスに使用される認証タイプ。値を Bearer に設定します。

authorization.credentials

Zilliz Cloud メトリクスエンドポイントへのアクセス権限付与に使用される API キー。

static_configs.targets

Prometheus がスクレイプする静的ターゲットで、以下である必要があります。

3

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 によって公開されるメトリックには、以下の識別子がラベルとして付与されます。

ラベル名

説明

cluster_id

メトリックの送信元である Zilliz Cloud クラスターの ID。

-

org_id

Zilliz Cloud クラスターを所有する組織の ID。

-

project_id

クラスターが所属する、組織内のプロジェクトの ID。

-

collection_name

監視対象となっているコレクションの名前。

-

request_type

データに対して実行された操作の種類。

insert, upsert, delete, bulk_insert, flush, search, query

status

データ操作の結果。

success, fail

利用可能なメトリック

以下の表は、Zilliz Cloud で利用可能なメトリックを、そのタイプ、説明、関連するラベルとともに示しています。

メトリック名

タイプ

説明

ラベル

zilliz_cluster_computation

Gauge

現在の計算容量の使用率。

cluster_id, org_id, project_id

zilliz_cluster_capacity

Gauge

現在のストレージ容量の使用率。

cluster_id, org_id, project_id

zilliz_storage_bytes

Gauge

使用されているストレージ領域の総量。

cluster_id, org_id, project_id

zilliz_cluster_write_capacity

Gauge

現在の書き込みスループット。

cluster_id, org_id, project_id

zilliz_requests_total

Counter

処理されたリクエストの総数。

cluster_id, org_id, project_id, request_type, status

zilliz_request_vectors_total

Counter

すべてのリクエストを通じて操作されたベクトルの総数。

cluster_id, org_id, project_id, request_type

zilliz_request_duration_seconds_bucket

Histogram

処理されたリクエストのレイテンシ分布。

cluster_id, org_id, project_id, request_type

zilliz_slow_queries_total

Counter

レイテンシ閾値を超えたクエリの数。

cluster_id, org_id, project_id

zilliz_entities

Gauge

保存されているエンティティの総数。

cluster_id, org_id, project_id, collection_name

zilliz_loaded_entities

Gauge

現在メモリ上にロードされているエンティティの数。

cluster_id, org_id, project_id, collection_name

zilliz_indexed_entities

Gauge

インデックス化が完了したエンティティの数。

cluster_id, org_id, project_id, collection_name

zilliz_collections

Gauge

コレクションの総数。

cluster_id, org_id, project_id

zilliz_unloaded_collections

Gauge

ロードされていないコレクションの数。

cluster_id, org_id, project_id

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]))