본문 바로가기
728x90
반응형

Observability/Prometheus & Grafana9

Grafana Mimir란? 개념부터 설치까지 Prometheus는 쿠버네티스 환경에서 많이 사용하는 인기 있는 오픈소스 모니터링 도구이다.하지만 몇 가지 치명적인 단점이 있다. 확장 및 고가용성 문제프로메테우스는 단일 서버로 동작하게 구현되어 있다. 즉, 서버가 내려가면 그 시간 동안 메트릭을 수집할 수 없게 됨을 의미한다. 만약 프로메테우스 서버를 2개로 하여 모니터링을 하면 하나의 서버가 내려가더라도 다른 하나의 서버로 메트릭을 볼 수 있지만, 여전히 불완전한 아키텍처로 샤딩, Prometheus Federation 구성 등의 추가 작업이 필요하다.오래된 데이터 보관 문제프로메테우스는 메트릭을 로컬 디스크에 수집하여 보관하는데, 저장소의 용량이 한계에 도달하면 오래된 데이터가 자동으로 삭제되어 일정 시간이 지난 데이터는 조회할 수 없게 된다. .. 2023. 11. 17.
Grafana Tempo란? 개념부터 설치까지 Trace란? Trace는 분산되어 있는 마이크로서비스 시스템에서 발생하는 요청이나 트랜잭션이 여러 구성 요소를 거치면서 이루어지는 일련의 과정이나 경로를 기록한 것을 의미한다. 예를 들어, 웹사이트에서 사용자가 상품을 주문할 때 사용자의 클릭 한 번이 내부적으로는 여러 서비스를 거치면서 요청에 대한 정보가 처리된다. 이 정보들의 전체 집합을 Trace라고 부른다. Trace를 통해 하나의 요청이 시스템 내부에서 어떻게 처리되는지, 어디에서 지연이 발생하는지, 문제의 원인은 무엇인지 등을 파악하는 데 도움이 된다. 특히, 복잡한 마이크로서비스 환경에서 문제 원인을 찾는 데 유용하다. Trace를 설정하면 모든 이벤트에 고유한 trace id가 부여된다. trace id는 요청이 시작될 때 생성되고 이벤트.. 2023. 11. 6.
Grafana Loki란? 개념부터 설치까지 Grafana Loki란?Grafana Loki는 Prometheus에서 영감을 받은 로그 집계 시스템으로, 로깅 및 이벤트 데이터를 수집, 저장 및 검색하기 위한 오픈 소스 플랫폼이다. 비용 효율적으로 운영하기 쉽게 설계되었으며 Grafana Labs에서 Loki 프로젝트 개발을 주도하고 있다. Loki는 로그 전체 TEXT가 아닌 metadata만 인덱싱하는 방식을 취한다.이런 최소 인덱싱 접근 방식은 다른 솔루션보다 적은 저장 공간이 필요함을 의미한다. Grafana Loki는 아래와 같이 작동한다.Loki를 위해 만들어진 로그 수집 도구인 Promtail을 통해 로그를 가져와 로그를 저장한다. 이후 Grafana에서 LogQL이라는 쿼리 언어를 통해 로그를 검색하게 된다. 또한 경고 규칙을 설정하.. 2023. 11. 1.
Prometheus HA 구성2 (With 샤딩 + Thanos) 샤딩이란? 샤딩(Sharding)은 대규모 데이터를 처리할 때 데이터를 분산하여 저장하는 데이터베이스 아키텍처 디자인 패턴이다.이 패턴은 수평적 확장을 위한 방법 중 하나로, 데이터를 분할하고 각각의 작은 파티션(shard)에 저장함으로써 전체 시스템의 성능과 확장성을 향상시킨다. " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 본 글에서는 Promethes 샤딩과 Thanos를 구성하고 Tagers이 어떻게 분산되는지 확인하는 실습을 다룬다. 실습 구성을 간단히 표현하면 다음과 같다. Prometheus를 설치하면 기본 샤드값은 1인데, 이 값을 2로 확장하면 아래와 같이 Prometheus configuration의 "scrape_configs.[ job_name].re.. 2023. 5. 10.
Prometheus 란? Prometheus란? Prometheus는 시스템 및 서비스의 상태를 모니터링하는 인기 있는 오픈소스 모니터링 도구이다. Prometheus는 다양한 대상(Target)에서 시간 경과에 따른 지표(Metric)를 수집하여 시계열 데이터베이스 형태로 저장한다. 메트릭 수집은 주로 HTTP 엔드포인트를 통한 Pull 방식으로 이루어지며, 서비스 디스커버리 기능을 통해 동적인 환경에서 실행 중인 서비스를 자동으로 탐지하고 모니터링할 수 있다. 또한, Exporters를 활용하여 Prometheus가 기본적으로 지원하지 않는 애플리케이션의 메트릭도 수집할 수 있다. Prometheus의 쿼리 언어인 PromQL을 사용하여, 수집된 데이터를 기반으로 쿼리를 실행하고, 결과를 Grafana와 같은 시각화 도구를 .. 2023. 5. 10.
Grafana + AWS CloudWatch를 이용한 AWS 모니터링 Grafana 대시보드에서 AWS CloudWatch의 Data sources를 사용하면 AWS의 CloudWatch Metric과 Cloudwatch Log group의 내용을 Grafana 대시보드로 구현할 수 있다. 참조 문서 : https://grafana.com/docs/grafana/latest/datasources/aws-cloudwatch/ Amazon CloudWatch data source | Grafana documentation grafana.com [Grafana 버전] - v9.4.7 실습 Data source 구성을 위해 Data sources 설정 화면으로 들어간다. Add New data source를 선택한다. CloudWatch data source를 선택한다. Acce.. 2023. 5. 9.
Grafana 대시보드 Variables 활용하기 Grafana에서 변수(Variables)를 사용하면 대시보드를 동적으로 만들 수 있어 대시보드 및 쿼리 재사용성과 구성 단순화, 유지 관리 용이성과 같은 장점이 있다. 이번 글에서는 Kubernetes의 namespace를 변수(variables)로 지정하고 namespace별 Pod 개수를 볼 수 있는 대시보드를 구현하는 실습을 다룬다. 전제 조건 -[Prometheus + Grafana 설치] 실습 먼저 Grafana 대시보드에 접근한 뒤 New dashboard를 선택한다. dashboard settings를 선택한다. Variables > Add variable 선택한다. Namespace라는 이름과 Label을 입력한다. Quary 부분에 label_values(namespace)를 입력하면 .. 2023. 5. 4.
728x90
반응형