작업과 인스턴스

작업과 인스턴스 (Jobs and instances)

Prometheus 용어에서 스크레이프할 수 있는 엔드포인트 하나를 **인스턴스(instance)**라고 해요. 보통 단일 프로세스에 해당합니다. 같은 목적을 가진 인스턴스들의 모음(예: 확장성이나 신뢰성을 위해 복제된 프로세스)을 **작업(job)**이라고 부릅니다.

예를 들어, 네 개의 복제 인스턴스를 가진 API 서버 작업(job)이 있다면 이렇게 표현할 수 있어요. Prometheus는 스크레이프할 때 jobinstance 라벨을 자동으로 붙이고, 대상 상태를 나타내는 up 같은 메트릭도 자동으로 저장합니다.

출처: 문서

본문

Prometheus 용어에서 스크레이프할 수 있는 엔드포인트 하나를 인스턴스(instance)라고 하며, 보통 단일 프로세스에 해당합니다. 같은 목적을 가진 인스턴스들의 모음(예를 들어 확장성이나 신뢰성을 위해 복제된 프로세스)을 작업(job)이라고 합니다.

예를 들어, 네 개의 복제 인스턴스를 가진 API 서버 작업(job):

  • 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)

Prometheus가 대상을 스크레이프할 때, 스크레이프된 시계열에 스크레이프된 대상을 식별하는 몇 가지 라벨을 자동으로 붙입니다:

  • job: 대상이 속한 구성된 작업(job) 이름.
  • instance: 스크레이프된 대상 URL의 <host>:<port> 부분.

이 라벨들 중 하나가 스크레이프된 데이터에 이미 존재한다면, 동작은 honor_labels 구성 옵션에 따라 달라집니다. 자세한 내용은 스크레이프 구성 문서를 참고하세요.

각 인스턴스 스크레이프에 대해 Prometheus는 다음 시계열에 샘플을 저장합니다:

  • up{job="<job>", instance="<instance>"}: 인스턴스가 정상(즉 도달 가능)이면 1, 스크레이프가 실패하면 0.
  • scrape_duration_seconds{job="<job>", instance="<instance>"}: 스크레이프의 지속 시간.
  • scrape_samples_post_metric_relabeling{job="<job>", instance="<instance>"}: 메트릭 리라벨링이 적용된 후 남은 샘플 수.
  • scrape_samples_scraped{job="<job>", instance="<instance>"}: 대상이 노출한 샘플 수.
  • scrape_series_added{job="<job>", instance="<instance>"}: 이 스크레이프에서 새로 추가된 시계열의 대략적인 수. v2.10에서 새로 추가됨.

up 시계열은 인스턴스 가용성 모니터링에 유용합니다.

extra-scrape-metrics 기능 플래그를 사용하면 몇 가지 추가 메트릭을 사용할 수 있습니다:

  • scrape_timeout_seconds{job="<job>", instance="<instance>"}: 대상에 대해 구성된 scrape_timeout.
  • scrape_sample_limit{job="<job>", instance="<instance>"}: 대상에 대해 구성된 sample_limit. 제한이 구성되지 않으면 0을 반환.
  • scrape_body_size_bytes{job="<job>", instance="<instance>"}: 성공한 경우 가장 최근 스크레이프 응답의 압축되지 않은 크기. body_size_limit 초과로 실패한 스크레이프는 -1을 보고하고, 다른 스크레이프 실패는 0을 보고.

더 알아보기 (Learn more)