ジョブとインスタンス

Prometheusの用語では、スクレイプできるエンドポイントを*インスタンス*と呼び、通常は単一のプロセスに対応します。同じ目的を持つインスタンスの集まり(たとえば、スケーラビリティや信頼性のために複製されたプロセス)を*ジョブ*と呼びます。

たとえば、4つのレプリケートされたインスタンスを持つAPIサーバジョブの場合:

  • ジョブ: api-server
    • インスタンス 1: 1.2.3.4:5670
    • インスタンス 2: 1.2.3.4:5671
    • インスタンス 3: 5.6.7.8:5670
    • インスタンス 4: 5.6.7.8:5671

自動生成されるラベルと時系列

Prometheusがターゲットをスクレイプすると、スクレイプされた時系列に自動的にいくつかのラベルが付加され、スクレイプされたターゲットを識別するのに役立ちます。

  • job: ターゲットが属する設定済みのジョブ名。
  • instance: スクレイプされたターゲットのURLの<host>:<port>部分。

これらのラベルのいずれかが既にスクレイプされたデータに存在する場合の挙動は、honor_labels設定オプションに依存します。スクレイプ設定ドキュメントを参照してください。

各インスタンスのスクレイプについて、Prometheusは以下の時系列にサンプルを保存します。

  • up{job="<job-name>", instance="<instance-id>"}: インスタンスが健全(到達可能)な場合は1、スクレイプが失敗した場合は0
  • scrape_duration_seconds{job="<job-name>", instance="<instance-id>"}: スクレイプの期間。
  • scrape_samples_post_metric_relabeling{job="<job-name>", instance="<instance-id>"}: メトリックリラベルが適用された後に残ったサンプルの数。
  • scrape_samples_scraped{job="<job-name>", instance="<instance-id>"}: ターゲットが公開したサンプルの数。
  • scrape_series_added{job="<job-name>", instance="<instance-id>"}: このスクレイプで追加された新しい時系列のおおよその数。v2.10で追加

up時系列は、インスタンスの可用性監視に役立ちます。

extra-scrape-metrics機能フラグを使用すると、いくつかの追加メトリックが利用可能になります。

  • scrape_timeout_seconds{job="<job-name>", instance="<instance-id>"}: ターゲットに設定されたscrape_timeout
  • scrape_sample_limit{job="<job-name>", instance="<instance-id>"}: ターゲットに設定されたsample_limit。制限が設定されていない場合はゼロを返します。
  • scrape_body_size_bytes{job="<job-name>", instance="<instance-id>"}: 直近のスクレイプ応答の非圧縮サイズ(成功した場合)。body_size_limitを超過してスクレイプが失敗した場合は-1、その他のスクレイプ失敗は0を報告します。

このページの内容