Jobs and instances

In Prometheus terms, an endpoint you can scrape is called an instance,usually corresponding to a single process. A collection of instances with the same purpose, a process replicated for scalability or reliability for example, is called a job.

For example, an API server job with four replicated instances:

  • 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

Automatically generated labels and time series

When Prometheus scrapes a target, it attaches some labels automatically to thescraped time series which serve to identify the scraped target:

  • job: The configured job name that the target belongs to.
  • instance: The <host>:<port> part of the target's URL that was scraped.If either of these labels are already present in the scraped data, the behaviordepends on the honor_labels configuration option. See thescrape configuration documentationfor more information.

For each instance scrape, Prometheus stores a sample inthe following time series:

  • up{job="<job-name>", instance="<instance-id>"}: 1 if the instance ishealthy, i.e. reachable, or 0 if the scrape failed.
  • scrape_duration_seconds{job="<job-name>", instance="<instance-id>"}:duration of the scrape.
  • scrape_samples_post_metric_relabeling{job="<job-name>", instance="<instance-id>"}:the number of samples remaining after metric relabeling was applied.
  • scrape_samples_scraped{job="<job-name>", instance="<instance-id>"}:the number of samples the target exposed.
  • scrapeseries_added{job="<job-name>", instance="<instance-id>"}:the approximate number of new series in this scrape. _New in v2.10The up time series is useful for instance availability monitoring.