본문 바로가기
728x90
반응형

Observability14

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.
Opentelemetry를 사용하여 AWS EKS 환경 로그 모니터링 구성하기 (with Grafana Loki + Grafana) Grafana loki를 사용하면 일반적으로 로그 수집기는 같은 Grafana Labs 프로젝트에 포함되어 있는 Promtail을 사용하여 구성한다.(구성 참고:[Grafana Loki란? 개념부터 설치까지]) 본 글에서는 로그 수집기로 Opentelemetry collector를 사용하여 구성하는 실습을 다룬다. 실습 구성은 아래와 같다.Opentelemetry collector의 filelog Recivers가 노드에 있는 Pod의 로그 파일을 읽어 파싱 한다. Opentelemetry collector의 Processors로 body에 있는 로그 내용을 fields로 변환한다. Opentelemetry collector의 loki Exporters가 로그 데이터를 Grafana loki로 보낸다... 2023. 10. 31.
Opentelemetry를 사용하여 Prometheus Metrics 수집하기 일반적으로 Helm chart(prometheus-community.github.io)를 사용하여 Prometheus를 설치하면 node-exporter와 kube-state-metrics 수집기가 기본으로 활성화되어 Kubernetes 리소스 관련 메트릭 데이터를 자동으로 수집한다. (관련 구성 참고 :Prometheus + Grafana 설치) 이번 글에서는 Prometheus에서 기본으로 제공하는 수집기가 아닌 opentelmetry 수집기를 사용하여 메트릭을 수집하는 실습을 다룰 것이다. 그렇기 때문에 기본으로 제공하는 Prometheus 수집기 및 Scrape 설정을 모두 비활성화 후 구성해야 한다.  OpenTelemetry exporter에서 prometheus로 metric을 전송하는 방법.. 2023. 10. 11.
OpenTelemetry란? OpenTelemetry란? OpenTelemetry는 traces, metrics 및 logs와 같은 telemetry 데이터를 생성하고 관리하기 위해 설계된 Observability 프레임워크 및 도구로, 애플리케이션의 동작을 추적하고 성능 문제나 에러를 식별하여 이를 신속하게 해결할 수 있게 도와준다. OpenTelemetry는 벤더 및 도구에 종속되지 않고, Jaeger 및 Prometheus와 같은 오픈 소스 도구뿐만 아니라 상용 제품을 포함한 다양한 Observability 백엔드와 함께 사용할 수 있으며, Cloud Native Computing Foundation(CNCF) 프로젝트로 활발한 커뮤니티 활동을 통해 개발 및 유지되고 있다. 클라우드 컴퓨팅, 마이크로서비스 아키텍처의 증가, 그.. 2023. 9. 18.
Fluent Bit을 사용하여 Amazon S3로 로그 전송하기 해당 글은 [Fluent Bit을 사용하여 Cloudwatch log group으로 로그 전송하기] 실습 구성에 이어서 진행한다. [INPUT]에 대한 설정은 위 글을 참조하면 된다. Fluent Bit은 로그 데이터를 비용 측면과 효율성을 고려하여 효율적으로 저장하고 활용하기 위해 Amazon S3 Output 플러그인을 활용하여 Amazon S3로 전송하여 보관할 수 있다. 실습전제 조건AWS EKS 클러스터Helm CLI 도구설치 환경AWS EKS v1.22Helm v3.8.2설치 버전Fluent Bit 1.9.10 실습 절차 1. Multipart Upload 와 PutObject 2. 데이터 유실 방지 (store_dir) 3. Amazon S3 OUTPUT 구성 .. 2023. 7. 22.
728x90
반응형