ジョブとインスタンス

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を報告します。

このドキュメントはオープンソースです。問題の報告やプルリクエストを送信して、改善にご協力ください。