ジョブとインスタンス
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
- インスタンス 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_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を報告します。