[인프라] 프로메테우스 데이터 구조

참고


개요

  • 프로메테우스 기본 데이터 구조를 파악하여, 추후에 ASP.NET Core 서비스에서 수집되는 메트릭 정보를 이해합니다.

기본적인 데이터 구조

  • 프로메테우스의 데이터 구조를 처음 접하게 되면 복잡하고 어렵게 느껴지지만 PromQL 까지 익히게 되면 잘 만들어진 TSDB 임을 알게 됩니다.
  • 프로메테우스의 기본적인 데이터 구조는 다음과 같습니다.

  1. 데이터 이름 : Metrics 를 구분하기 위한 고유의 이름입니다. 프로메테우스에서는 데이터 이름을 입력하는 것 만으로도 해당 데이터의 목록을 조회할 수 있습니다.
  2. 라벨(Label) : 동일한 데이터에서 종류를 구분하기 위한 식별자 입니다. 같은 데이터 이름이라도 다른 레벨을 갖는 여러 개의 데이터가 존재할 수 있습니다. 프로메테우스의 쿼리는 대부분 라벨을 기분으로 수행됩니다. 예를 들어, 프로메테우스에 아래와 같이 generation 라벨이 다른 세 개의 데이터가 존재한다고 가정해 봅니다.

  • 아래와 같이 쿼리를 입력함으로써 특정 라벨만을 가지는 데이터를 가져올 수 있습니다. 즉, {generation="1"} 부분이 RDBMS의 where 문에 해당한다고 볼 수 있습니다. SQL 구문에 비하면 매우 간단합니다.

  1. 데이티 값 : Scalar : 데이터의 값을 나타내는 부분을 스칼라(Scalar) 라고 합니다. 좀 더 정확히 말자하면, 프로메테우스에서는 단순 숫자 값에 대해서는 모두 스칼라 라는 표현을 사용합니다. 위에서 언급했던 것 처럼, 프로메테우스는 스칼라 값으로서 float64 범위의 실수만 사용할 수 있습니다.
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY