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

Prometheusとの統合

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

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

📘ノート

この機能は、エンタープライズプロジェクト内の専用クラスターでのみ利用可能です。

Prometheusを構成してZilliz Cloudメトリクスをスクレイプする

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メトリクスを分析するために使用できるクエリの例です:

  • インサート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]))