Monitoring
Monitoring(Prometheus) 정복하기 - 5 (Altering rule)
Monitoring(Prometheus) 정복하기 - 5 (Altering rule)
2024.05.06Altering rule 이란 프로메테우스의 한 기능으로서 PromQL을 기반으로 알람 조건을 정의하고, 외부 서비스에 FIRING 된 알람들을 외부로 전달할 수 있다. 해당 역할을 수행하기 위해서는 2개의 리소스가 필요하다. 1. Altering rule Altering rule은 이전의 Recording rule 처럼 특정 PromQL을 지표로 사용하거나 Recording rule 그 자체를 사용하여, 어떠한 지표를 기준으로 알람을 동작시킬지 정의한다. 알람은 3개의 상태가 있다. - INACTIVE: 설정한 조건을 충족하고 있지 않을 때- PENDING: 설정한 조건을 충족 하지만, 지정한 지속 시간(for) 시간의 임계치 보다 낮을 때- FIRING: Altering rule의 조건을 모두 충족..
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 구간 내에 ..
Monitoring(Prometheus + Grafana) 정복하기 - 0 (인트로)
Monitoring(Prometheus + Grafana) 정복하기 - 0 (인트로)
2024.03.18SpringBoot 모니터링으로 개념 설명과 로컬에서 띄워본 적이 있다. 1년 반 만에 작성하게 됐는데, 회사 생활과 AWS 인프라가 우선순위가 높았다. 현재는 조금 여유로워져서 이어서 포스팅하려고 한다. 아래의 순서대로 목차를 진행할 예정이다. 1. 다양한 환경 메트릭 수집 - 단일 EC2 기반 - EKS 파드 2. Prometheus 심화 - Promql - 알람, 레코딩 - 고가용성 3. Grafana 심화 - 필요한 부분 추가할 예정 기본적으로 애플리케이션은 SpringBoot고, 각자의 환경에 맞게 구성하면 된다.