Prometheus 문서/개요

1 개요

OVERVIEW
개요

2 Prometheus란 무엇인가요?

Prometheus는 원래 SoundCloud에서 구축된 오픈소스 시스템 모니터링 및 알림 툴킷입니다. 2012년 시작된 이후 많은 기업과 조직에서 Prometheus를 채택했으며, 이 프로젝트에는 매우 활발한 개발자 및 사용자 커뮤니티가 있습니다. 이제는 독립형 오픈소스 프로젝트이며 어떤 회사와도 독립적으로 유지관리됩니다. 이를 강조하고 프로젝트의 거버넌스 구조를 명확히 하기 위해 Prometheus는 쿠버네티스에 이어 두 번째 호스팅 프로젝트로 2016년에 클라우드 네이티브 컴퓨팅 재단에 합류했습니다.

Prometheus는 메트릭을 시계열 데이터로 수집하고 저장합니다. 즉, 메트릭 정보는 레이블이라고 하는 선택적 키-값 쌍과 함께 기록된 타임스탬프와 함께 저장됩니다.

Prometheus에 대한 더 자세한 개요를 보려면 매체 섹션에 링크된 리소스를 참조하세요 .

2.1 기능

Prometheus의 주요 기능은 다음과 같습니다.

  • 메트릭 이름과 키/값 쌍으로 식별되는 시계열 데이터가 포함된 다차원 데이터 모델
  • 이러한 차원성을 활용하는 유연한 쿼리 언어인 PromQL
  • 분산 스토리지에 의존하지 않습니다. 단일 서버 노드는 자율적입니다.
  • 시계열 수집은 HTTP를 통한 풀 모델을 통해 발생합니다.
  • 푸시 시계열은 중간 게이트웨이를 통해 지원됩니다.
  • 대상은 서비스 검색 또는 정적 구성을 통해 검색됩니다.
  • 다양한 그래프 작성 및 대시보드 지원 모드

2.2 메트릭이란 무엇인가요?

메트릭은 일반인의 용어로 수치를 측정한 것입니다. 시계열이라는 용어는 시간에 따른 변화를 기록하는 것을 의미합니다. 사용자가 측정하려는 항목은 애플리케이션마다 다릅니다. 웹 서버의 경우 요청 시간이 될 수 있습니다. 데이터베이스의 경우 활성 연결 또는 활성 쿼리 수 등이 될 수 있습니다.

메트릭은 애플리케이션이 특정 방식으로 작동하는 이유를 이해하는 데 중요한 역할을 합니다. 웹 애플리케이션을 실행 중인데 속도가 느린 것을 발견했다고 가정해 보겠습니다. 애플리케이션에 무슨 일이 일어나고 있는지 알아보려면 몇 가지 정보가 필요합니다. 예를 들어, 요청 수가 많으면 애플리케이션이 느려질 수 있습니다. 요청 수 메트릭이 있으면 원인을 파악하고 로드를 처리할 서버 수를 늘릴 수 있습니다.

2.3 컴포넌트

프로메테우스 생태계는 여러 구성 요소로 구성되며 그 중 다수는 선택사항입니다.

대부분의 프로메테우스 컴포넌트는 Go로 작성되므로 정적 바이너리로 쉽게 구축하고 배포할 수 있습니다.

2.4 아키텍처

이 다이어그램은 Prometheus의 아키텍처와 일부 생태계 컴포넌트를 보여줍니다.

Prometheus.io assets architecture.png

Prometheus는 단기 작업을 위해 직접 또는 중간 푸시 게이트웨이를 통해 계측된 작업에서 메트릭을 스크랩합니다. 스크랩된 모든 샘플을 로컬에 저장하고 이 데이터에 대한 규칙을 실행하여 기존 데이터에서 새로운 시계열을 집계 및 기록하거나 경고를 생성합니다. Grafana 또는 기타 API 컨슈머를 사용하여 수집된 데이터를 시각화할 수 있습니다.

3 어떤 경우에 적합한가요?

Prometheus는 순수 숫자 시계열을 기록하는 데 적합합니다. 이는 기계 중심 모니터링과 매우 동적인 서비스 지향 아키텍처의 모니터링 모두에 적합합니다. 마이크로서비스 세계에서는 다차원 데이터 수집 및 쿼리에 대한 지원이 특히 강점입니다.

Prometheus는 가동 중단 중에 문제를 신속하게 진단할 수 있는 시스템으로 신뢰성을 위해 설계되었습니다. 각 Prometheus 서버는 네트워크 스토리지나 기타 원격 서비스에 의존하지 않고 독립형입니다. 인프라의 다른 부분이 중단된 경우에도 이를 사용할 수 있으며 이를 사용하기 위해 광범위한 인프라를 설정할 필요가 없습니다.

4 어떤 경우에 적합하지 않나요?

Prometheus는 신뢰성을 중요하게 생각합니다. 오류 상황에서도 시스템에 대해 사용 가능한 통계를 항상 볼 수 있습니다. 요청별 청구와 같이 100% 정확성이 필요한 경우 수집된 데이터가 충분히 자세하고 완전하지 않을 가능성이 높으므로 Prometheus는 좋은 선택이 아닙니다. 그러한 경우에는 다른 시스템을 사용하여 청구용 데이터를 수집 및 분석하고 나머지 모니터링에는 Prometheus를 사용하는 것이 가장 좋습니다.

5 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}