Vespa
Datadog の調査レポート: サーバーレスの状態 レポート: サーバーレスの状態

Vespa

Agent Check Agentチェック

Supported OS: Linux

概要

Vespa システムからメトリクスをリアルタイムに取得して、以下のことを実施できます。

  • Vespa のステータスとパフォーマンスを視覚化して監視する
  • 健全性と可用性に関するアラートを生成する

セットアップ

Vespa チェックは Datadog Agent パッケージに含まれていません。

インストール

チェックをホストにインストールするには

  1. マシンに開発ツールキットをインストールします。
  2. ddev release build vespa を実行してパッケージをビルドします。
  3. Datadog Agent をダウンロードします
  4. ビルドの成果物を Agent をインストール済みのホストにアップロードし、実行します。

    datadog-agent integration install -w path/to/vespa/dist/<ARTIFACT_NAME>.whl

コンフィギュレーション

Vespa チェックを構成するには

  1. Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーに vespa.d/ フォルダーを作成します。
  2. 上記のステップで作成した vespa.d/ フォルダーに conf.yaml ファイルを作成します。
  3. vespa.d/conf.yaml のサンプルファイルを参考にして、conf.yaml ファイルのコンテンツをコピーします。
  4. conf.yaml ファイルを編集して consumer を構成します。これにより、チェックによって転送されるメトリクスを決定します。
    • consumer: Vespa アプリケーションの services.xml からメトリクスを収集するコンシューマー。default コンシューマーまたはカスタムコンシューマーの いずれか。
  5. Agent を再起動します

検証

Agent のステータスサブコマンドを実行し、Checks セクションで vespa を探します。

収集データ

メトリクス

vespa.http.status.1xx.rate
(gauge)
Number of responses with a 1xx status
Shown as response
vespa.http.status.2xx.rate
(gauge)
Number of responses with a 2xx status
Shown as response
vespa.http.status.3xx.rate
(gauge)
Number of responses with a 3xx status
Shown as response
vespa.http.status.4xx.rate
(gauge)
Number of responses with a 4xx status
Shown as response
vespa.http.status.5xx.rate
(gauge)
Number of responses with a 5xx status
Shown as response
vespa.jdisc.gc.ms.average
(gauge)
Time spent in GC
Shown as millisecond
vespa.mem.heap.free.average
(gauge)
Free heap size
Shown as byte
vespa.queries.rate
(gauge)
Number of search queries
Shown as query
vespa.feed.operations.rate
(gauge)
Number of feed operations
Shown as operation
vespa.query_latency.average
(gauge)
Total query processing time
Shown as millisecond
vespa.query_latency.95percentile
(gauge)
95 percentile total query processing time
Shown as millisecond
vespa.query_latency.99percentile
(gauge)
99 percentile total query processing time
Shown as millisecond
vespa.hits_per_query.average
(gauge)
Hits in the returned result, per query
Shown as hit
vespa.totalhits_per_query.average
(gauge)
Estimated total number of hits per query
Shown as hit
vespa.degraded_queries.rate
(gauge)
Queries with degraded results due to timeout
Shown as query
vespa.failed_queries.rate
(gauge)
Failed queries
Shown as query
vespa.serverActiveThreads.average
(gauge)
Threads that are active processing requests
Shown as thread
vespa.content.proton.search_protocol.docsum.requested_documents.rate
(gauge)
Requested document summaries
Shown as document
vespa.content.proton.search_protocol.docsum.latency.average
(gauge)
Docsum request latency on content node
Shown as second
vespa.content.proton.search_protocol.query.latency.average
(gauge)
Query request latency on content node
Shown as second
vespa.content.proton.documentdb.documents.total.last
(gauge)
Total documents in this document db (ready + not-ready)
Shown as document
vespa.content.proton.documentdb.documents.ready.last
(gauge)
Ready documents in this document db
Shown as document
vespa.content.proton.documentdb.documents.active.last
(gauge)
Active/searchable documents in this document db
Shown as document
vespa.content.proton.documentdb.disk_usage.last
(gauge)
Total disk usage for this document db
Shown as byte
vespa.content.proton.documentdb.memory_usage.allocated_bytes.last
(gauge)
Total memory usage for this document db
Shown as byte
vespa.content.proton.resource_usage.disk.average
(gauge)
Relative amount of disk space used by this process
Shown as fraction
vespa.content.proton.resource_usage.memory.average
(gauge)
Relative amount of memory used by this process
Shown as fraction
vespa.content.proton.resource_usage.feeding_blocked.last
(gauge)
Whether feeding is blocked due to resource limitations (value is 0 or 1)
vespa.content.proton.documentdb.matching.docs_matched.rate
(gauge)
Number of documents matched
Shown as document
vespa.content.proton.documentdb.matching.docs_reranked.rate
(gauge)
Number of documents re-ranked (second phase)
Shown as document
vespa.content.proton.documentdb.matching.rank_profile.query_latency.average
(gauge)
Total latency when matching and ranking a query
Shown as second
vespa.content.proton.documentdb.matching.rank_profile.query_setup_time.average
(gauge)
Average time spent setting up and tearing down queries
Shown as second
vespa.content.proton.documentdb.matching.rank_profile.rerank_time.average
(gauge)
Time spent on 2nd phase ranking
Shown as second
vespa.content.proton.transactionlog.disk_usage.last
(gauge)
Disk usage of the transaction log
Shown as byte

サービスチェック

vespa.metrics_health:
Vespa Node メトリクス API からレスポンスがない場合、CRITICALを返します。Vespa Node メトリクス API からレスポンスがあるものの処理中にエラーが発生した場合、WARNING を返します。それ以外の場合は OK を返します。

vespa.process_health:
Vespa の各プロセスについて、プロセスがダウンしていると思われる (Vespa Node メトリクス API がプロセスに接続できない) 場合、CRITICAL を返します。プロセスのステータスが不明な (Vespa Node メトリクス API がプロセスに接続できるものの、レスポンスにエラーが含まれる) 場合、WARNING を返します。それ以外の場合は OK を返します。

イベント

Vespa インテグレーションには、イベントは含まれません。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。