ジョブとインスタンス

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

例えば、4つの複製インスタンスを持つ API サーバーのジョブ

  • job: api-server
    • instance 1: 1.2.3.4:5670
    • instance 2: 1.2.3.4:5671
    • instance 3: 5.6.7.8:5670
    • instance 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_sample_limit{job="<job-name>", instance="<instance-id>"}: ターゲットのサンプル制限に設定されている値。制限が設定されていない場合はゼロを返します。
  • scrape_body_size_bytes{job="<job-name>", instance="<instance-id>"}: 最新のスクレイプ応答の非圧縮サイズ(成功した場合)。body_size_limit を超過して失敗したスクレイプは -1 を報告し、その他のスクレイプ失敗は 0 を報告します。

このページの内容