CDW (Coding Discussion World)
Prometheus 뜻 본문
Prometheus는 측정항목을 시계열 데이터로 수집하고 저장합니다.
프로메테우스란?
Prometheus 는 원래 SoundCloud 에 구축된 오픈 소스 시스템 모니터링 및 경고 툴킷 입니다. 2012년에 시작된 이래로 많은 회사와 조직에서 Prometheus를 채택했으며 프로젝트에는 매우 활발한 개발자 및 사용자 커뮤니티 가 있습니다. 이제 독립 실행형 오픈 소스 프로젝트이며 어떤 회사와도 독립적으로 유지 관리됩니다. 이를 강조하고 프로젝트의 거버넌스 구조를 명확히 하기 위해 Prometheus는 2016년 Kubernetes 에 이어 두 번째 호스팅 프로젝트로 Cloud Native Computing Foundation 에 합류했습니다 .
Prometheus는 측정항목을 시계열 데이터로 수집하고 저장합니다. 즉, 측정항목 정보는 레이블이라는 선택적 키-값 쌍과 함께 기록된 타임스탬프와 함께 저장됩니다.
특징
Prometheus의 주요 기능은 다음과 같습니다.
- 메트릭 이름과 키/값 쌍으로 식별되는 시계열 데이터가 있는 다차원 데이터 모델
- PromQL, 이 차원성을 활용 하는 유연한 쿼리 언어
- 분산 스토리지에 의존하지 않음; 단일 서버 노드는 자율적입니다.
- 시계열 수집은 HTTP를 통한 풀 모델을 통해 발생합니다.
- 푸시 시계열 은 중간 게이트웨이를 통해 지원됩니다.
- 대상은 서비스 검색 또는 정적 구성을 통해 검색됩니다.
- 다양한 그래프 및 대시보드 지원 모드
메트릭이란 무엇입니까?
평신도 용어로 메트릭 은 숫자 측정입니다. 시계열 은 변경 사항이 시간 경과에 따라 기록됨을 의미합니다. 사용자가 측정하고자 하는 것은 애플리케이션마다 다릅니다. 웹 서버의 경우 요청 시간일 수 있고 데이터베이스의 경우 활성 연결 수 또는 활성 쿼리 수 등일 수 있습니다.
메트릭은 애플리케이션이 특정 방식으로 작동하는 이유를 이해하는 데 중요한 역할을 합니다. 웹 애플리케이션을 실행 중이고 애플리케이션이 느리다고 가정해 보겠습니다. 응용 프로그램에 어떤 일이 일어나고 있는지 알아보려면 몇 가지 정보가 필요합니다. 예를 들어 요청 수가 많으면 애플리케이션이 느려질 수 있습니다. 요청 수 메트릭이 있는 경우 이유를 파악하고 로드를 처리할 서버 수를 늘릴 수 있습니다.
구성품
Prometheus 생태계는 여러 구성 요소로 구성되며 그 중 다수는 선택 사항입니다.
- 시계열 데이터를 스크랩하고 저장 하는 메인 Prometheus 서버
- 애플리케이션 코드 계측을 위한 클라이언트 라이브러리
- 단기 작업 지원을 위한 푸시 게이트웨이
- HAProxy, StatsD, Graphite 등과 같은 서비스를 위한 특수 목적 내보내기
- 경고 를 처리 하는 경고 관리자
- 다양한 지원 도구
대부분의 Prometheus 구성 요소는 Go 로 작성 되어 정적 바이너리로 쉽게 빌드하고 배포할 수 있습니다.
건축학
이 다이어그램은 Prometheus의 아키텍처와 일부 생태계 구성 요소를 보여줍니다.

Prometheus는 단기 작업을 위해 직접 또는 중간 푸시 게이트웨이를 통해 구성된 작업에서 측정항목을 스크랩합니다. 스크랩한 모든 샘플을 로컬에 저장하고 이 데이터에 대한 규칙을 실행하여 기존 데이터에서 새 시계열을 집계 및 기록하거나 경고를 생성합니다. Grafana 또는 기타 API 소비자를 사용하여 수집된 데이터를 시각화할 수 있습니다.
언제 맞습니까?
Prometheus는 순전히 숫자로 된 시계열을 기록하는 데 적합합니다. 기계 중심 모니터링과 고도로 동적인 서비스 지향 아키텍처 모니터링 모두에 적합합니다. 마이크로서비스의 세계에서 다차원 데이터 수집 및 쿼리 지원은 특별한 강점입니다.
Prometheus는 중단 중에 신속하게 문제를 진단할 수 있도록 하는 시스템으로서 안정성을 위해 설계되었습니다. 각 Prometheus 서버는 독립형이며 네트워크 스토리지 또는 기타 원격 서비스에 의존하지 않습니다. 인프라의 다른 부분이 손상되었을 때 이를 사용할 수 있으며 이를 사용하기 위해 광범위한 인프라를 설정할 필요가 없습니다.
언제 맞지 않습니까?
프로메테우스는 신뢰성을 중시합니다. 오류 상태에서도 시스템에 대해 사용 가능한 통계를 항상 볼 수 있습니다. 요청당 청구와 같이 100% 정확도가 필요한 경우 수집된 데이터가 충분히 자세하고 완전하지 않을 가능성이 있으므로 Prometheus는 좋은 선택이 아닙니다. 이러한 경우 청구를 위해 데이터를 수집하고 분석하는 데 다른 시스템을 사용하고 나머지 모니터링을 위해 Prometheus를 사용하는 것이 가장 좋습니다.