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

Prometheusとの統合

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

Zilliz CloudをPrometheusと統合することで、Zilliz Cloudの展開に関連するメトリクスを収集および監視できます。

Zilliz Cloudメトリクスを収集するようにPrometheusを設定

Prometheusを使用してZilliz Cloudクラスターを監視するには、以下の手順に従います:

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

  2. 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

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

    scheme

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

    metrics_path

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

    authorization.type

    Zilliz Cloudメトリクスにアクセスするために使用される認証タイプ。値はBearerに設定してください。

    authorization.credentials

    Zilliz Cloudメトリクスエンドポイントにアクセスするための認証に使用されるAPIキー。

    static_configs.targets

    Prometheusが収集する静的ターゲットで、Zilliz Cloud RESTful APIのホストアドレスであるapi.cloud.zilliz.comである必要があります。

  3. 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によって公開されるメトリクスは、以下の識別子でラベル付けされています。

ラベル名

説明

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])
  • insert VPSを計算

    rate(zilliz_request_vectors_total{cluster_id='in01-xxxxx',request_type='insert'}[$__rate_interval])
  • 70パーセンタイルinsert遅延を計算

    histogram_quantile(
    0.70,
    sum(
    rate(zilliz_request_duration_seconds_bucket{cluster_id='in01-xxxxx',request_type='insert'}[$__rate_interval])
    ) by (le)
    )
  • insertリクエスト失敗率を計算

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