Prometheusでは、スクレイプできるエンドポイントをインスタンスと呼び、通常は単一のプロセスに対応します。同じ目的を持つインスタンスの集合、例えばスケーラビリティまたは信頼性のために複製されたプロセスは、ジョブと呼ばれます。
たとえば、4つの複製されたインスタンスを持つAPIサーバージョブ
api-server
1.2.3.4:5670
1.2.3.4:5671
5.6.7.8:5670
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を報告します。このドキュメントはオープンソースです。問題の報告やプルリクエストを送信して、改善にご協力ください。