promql
Monitoring(Prometheus) 정복하기 - 4 (recording rule)
Monitoring(Prometheus) 정복하기 - 4 (recording rule)
2024.04.13recording rule 이란 자주 필요한 표현식이나 계산 비용이 큰 표현식을 미리 계산해서, 그 결과를 별도 시계열 셋으로 저장해 둘 수 있는 기능이다. 즉 성능과 재사용성을 높이기 위해서 사용할 수 있다. 예를 들어보자. 원하는 시계열 데이터를 만들기 위해서 5개의 시계열 데이터가 들어가고, 하나의 프롬 쿼리당 1의 리소스가 든다고 가정해 보자. -> 데이터를 요청할 때마다 5의 리소스가 들어가게 된다. 반면에 recording rule을 사용하면, 처음에 5의 리소스가 들어가게 되고, 해당 값을 저장하는 시계열 데이터가 만들어진다. -> 데이터를 요청할 때마다 1의 리소스가 들어가게 된다. 여기서 프롬 쿼리가 복잡하다면 더 많은 차이가 나타나게 된다. 물론 별도의 시계열 데이터로 저장해서, 저장 ..
Monitoring(Prometheus) 정복하기 - 3 (PromQL)
Monitoring(Prometheus) 정복하기 - 3 (PromQL)
2024.04.02프로메테우스로 지표를 수집했으면, 해당 지표를 사용하기 위해서는 PromQL을 사용해야 한다. mysql에서 query를 사용하는 것과 비슷한데, 문법과 값들이 조금씩 다르다. 하나씩 알아보자. PromQL 타입 mysql에서 int, string 같은 자료형이 있듯이 PromQL에도 guage, counter, summary, histogram 4가지의 자료형이 존재한다. 예와 함께 살펴보자. Gauge 특정 시점의 값을 표현하는 타입이고, 예시로는 cpu, 메모리 사용량의 현재 시점이 있다. 말했듯이 검색 시점에서 값들을 의미한다. Counter 현재 시점까지의 누적된 값을 표현하는 타입이고, 예시로는 gc를 수행하는데, 걸린 시간을 누적값을 가지고 있는 것을 볼 수 있다. Summary 구간 내에 ..