ジョブとインスタンス
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
- instance 1:
自動生成されるラベルと時系列データ
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 を報告します。