개념 사전 · 프로그램

Prometheus

프로메테우스

는 대상의 HTTP 메트릭을 주기적으로 수집하고 시계열로 저장·질의하는 모니터링 시스템이다. 메트릭 이름과 조합이 시계열을 구분하며 경보 평가는 수집과 별도 주기로 실행된다.

밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.

로고: Prometheus Authors 공식 자료. 제품 식별을 위해 표시하며 각 상표의 권리는 권리자에게 있습니다.

01무엇이고, 어떤 일을 하나

  • 와 계측된 애플리케이션에서 수치를 가져온다.
  • ··Histogram의 의미에 맞춰 로 분석한다.
  • 지속 조건을 가진 경보를 평가하고 에 전달한다.

02어떤 순서로 동작하나

  1. 표본 노출

    가 · 등 정의된 의미의 측정값을 HTTP 응답으로 제공한다.

  2. 주기적

    가 scrape_interval에 따라 요청하고 성공·실패를 up과 관련 지표로 기록한다.

  3. 시계열 저장

    집합별 sample을 저장한다. 대상이 사라져 표본이 없는 상태와 값 0은 다르다.

  4. 규칙 평가

    evaluation_interval에 따라 식을 평가한다. 는 reset을 고려한 뒤에 목적별 집계를 적용한다.

  5. 경보 상태 변화

    조건이 지속되어 for 요건을 충족하면 pending에서 firing으로 이어질 수 있다.

  6. 통지

    가 grouping·중복 억제·silence·수신자 routing을 적용한다. 한 통지가 원시 사건 한 건과 같지는 않다.

03먼저 알아둘 용어와 구성요소

대상의 메트릭 엔드포인트를 조회해 표본을 수집하는 동작.
job·instance 등 시계열을 구분하는 이름·값 쌍.
증가하다 재시작 등으로 리셋될 수 있는 누적값.
시간 구간의 증가율을 리셋 보정·외삽을 고려해 추정하는 함수.
시계열을 선택·계산·집계하는 질의 언어.
대상 시스템의 지표를 수집해 가능한 형식으로 제공하는 프로그램.
현재 온도·사용량처럼 증가와 감소가 가능한 측정값.
시간·값·로 구분되는 시계열을 저장하는 데이터베이스.
경보의 그룹화·중복 제거··억제 등을 처리하는 구성 요소.
메모리의 최근 자료를 복구할 수 있도록 기록하는 쓰기 전 로그.
LEARN THROUGH PRACTICE

Targets의 UP·DOWN을 서비스 구성과 연결하기

실행과 성공, 애플리케이션 정상 여부를 구분하고 실패 위치를 좁힌다.

실습 구성과 전제

  • 자신의 격리 와 Node 를 사용한다.
  • 서버별 시각·주소·포트는 실제 시험 환경에 맞추고 사진의 사설 주소로 접속하지 않는다.
  1. Exporter 프로세스의 실행 조건을 읽는다

    • 의 ExecStart는 실행 파일, Wants·After는 다른 유닛과의 의존·순서 조건을 나타낸다. network-online.target이 있다고 원격 대상까지 항상 연결되는 것은 아니다.
    • 서비스가 active인 것과 /metrics가 올바르게 응답하는 것은 따로 확인한다.
    shell
    systemctl status node_exporter --no-pager
    curl --fail --max-time 5 http://127.0.0.1:9100/metrics

    자신의 에서 읽기 전용으로 조회한다.

    Prometheus·Grafana 수집 · Node Exporter 시스템 서비스 등록 (5)원본 크기로 보기 ↗
    • ExecStart가 node_exporter 바이너리를 가리키며 Wants·After가 network-online.target으로 설정되어 있다.
    • User=root와 WantedBy=default.target도 보인다. 실제 운영에서는 필요한 최소 권한과 활성화 대상을 따로 검토한다.
    확인 기준

    상태·리스닝 포트·metrics 응답을 각각 확인한다.

  2. 각 job의 endpoint와 scrape 오류를 읽는다

    • Targets 화면의 UP은 해당 에서 메트릭을 가져왔다는 뜻이다. 호스트의 모든 서비스가 정상이라는 의미가 아니다.
    • DOWN의 no route to host는 연결 경로·방화벽 거부 등 네트워크 조건을 조사할 출발점이다. 에 경로가 없다는 단일 원인으로 확정하지 않는다.
    Prometheus·Grafana 수집 · 최종 연동 확인 — Status → Targets (8)원본 크기로 보기 ↗
    • 로컬·Ubuntu job은 1/1 up이며 다른 client job은 0/1 up과 DOWN을 보여 준다.
    • 실패 행에는 9100/metrics endpoint, scrape duration 3.68s, no route to host 메시지가 함께 나타난다.
    확인 기준

    서버에서 같은 endpoint를 확인해야 하며 브라우저 PC의 접속 결과로 대체하지 않는다.

  3. 설정 대상과 지표 의미를 재검증한다

    • static_configs.targets가 의도한 를 가리키는지 본다. 자체의 9090과 Node 의 9100은 서로 다른 수집 대상이다.
    • 경로를 수정한 뒤 UP 변화를 확인하고 실제 node 메트릭의 이름·단위·라벨을 조사한다.
    text
    up
    node_uname_info

    조회 예시. up과 노드 정보 메트릭은 서로 다른 확인 항목이다.

    Prometheus·Grafana 수집 · 프로메테우스 설정 파일 수정 — Pull 대상 등록 (2)원본 크기로 보기 ↗
    • job_name은 prometheus이고 target은 localhost:9090이다.
    • metrics_path와 scheme은 주석으로 기본값을 설명한다. 이 항목을 Node Exporter 연결 성공 증거로 쓰면 안 된다.
    확인 기준

    UP 회복 뒤에도 실제 필요한 메트릭이 존재하는지 별도로 확인한다.

실습에서 확인한 동작 원리

  • UP은 수집 성공 지표다.
  • 문제 확인은 실제 수집 주체인 서버 위치에서 수행한다.
관련 개념·전체 실습 화면 이어서 읽기 →
동작·명령 참고 문서

04예제로 따라가기

  • 표본 조건: 0·15·30·45초에서 차례로 100·130·10·40이 관찰되었다고 가정한다. 중간에 재시작이 한 번 있었다는 교육용 모형이다.
  • 첫 구간: 100에서 130으로 늘어 관찰 증가량은 30이다. 두 번째 구간은 값이 줄어 단순 차이 −120을 정상 증가량으로 쓰면 안 된다.
  • 리셋 구간: 0으로 리셋된 뒤 10까지 증가했다고 보정하면 이 구간의 관찰 가능한 증가분은 10이다. 리셋 직전 미관측 증가는 알 수 없다.
  • 관측 평균: 마지막 증가 30을 더한 보정 증가량은 70이고 표본 사이 평균은 70/45≈1.56/s다. 이것은 설명용 계산이다.
  • 함수와 차이: 실제 결과는 조회 범위·표본 경계·외삽에 따라 이 값과 다를 수 있다. 그래프의 를 검증할 때 실제 표본 시각을 함께 본다.

05혼동하기 쉬운 점과 확인 기준

  • 없는 시계열: 값 0과 시계열 부재는 다르다. Target 제거·라벨 변경·staleness가 빈 결과를 만들 수 있다.
  • 샘플 수: 범위에 충분한 표본이 있는지 확인한다. 간격보다 지나치게 짧은 창은 계산 가능한 자료를 부족하게 만든다.
  • 라벨 결합: 벡터 연산에서 라벨 집합이 맞지 않아 결과가 사라지는지 본다. 원본 양쪽 시계열이 존재해도 자동으로 모두 결합되는 것은 아니다.

06상세 노트 · 실습 자료

헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.

READ · OBSERVE · CONNECT

함께 보는 학습 자료

아래 공식 자료를 본문의 개념·예제와 함께 읽어 보세요. 자료별로 확인할 위치와 관찰할 내용을 적었습니다.

공식 가이드

Prometheus: Histogram·Summary의 합과 개수

관측 합과 개수로 평균을 계산하는 공식과 classic·native histogram의 표현 차이를 비교한다.

읽으면서 확인할 것
  • classic _sum·_count와 의 결합
  • 관측값이 음수일 때 _sum의 가정 문제
  • bucket 기반 quantile과 Summary quantile의 집계 차이

공식 문서 · 표준

기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.