본문 바로가기

전체 글22

오픈소스로 모니터링 환경 구축하기(7) - 전체 아키텍처, 흐름도 이번 글은 시리즈의 마지막으로 지금까지 구축한 오픈소스 모니터링 환경의 전체 구조를 정리한다. 전체 아키텍처 개요요청 및 데이터 흐름도1. 사용자가 API를 호출한다 │2. Application(Spring Boot)에서 요청 처리 │ ├─ Logback → 로그 생성 │ └─ MDC(trace_id, span_id) 포함 │ ├─ OTel Java Agent → Trace 데이터 생성 │ └─ Micrometer → Metrics 노출 │3. OpenTelemetry Collector가 수집 │ ├─ Metrics → Prometheus .. 2025. 10. 11.
오픈소스로 모니터링 환경 구축하기(6) - Grafana Grafana란? 다양한 데이터 소스로부터 수집한 정보를 대시보드 형태로 시각화 하고 알람을 설정할 수 있는 오픈소스 모니터링 툴이다. 메트릭, 로그, 트레이스를 한 곳에서 보고시스템의 문제를 빠르게 파악하고 분석하기 위한 시각화 허브 역할을 한다. Grafana의 기능 1. 대시 보드 시각화Prometheus에서 수집한 메트릭을 시계열 그래프 형태로 시각화한다.CPU 사용량, 요청 지연 시간, 에러 율, 주문 수 같은 지표를 실시간으로 모니터링할수 있다.변수와 쿼리 템플릿을 활용해 대시보드를 동적으로 구성할 수 있다. 2. 로그 탐색 (Loki 연동)Loki에서 수집한 로그를 Grafana UI에서 시간대, 서비스명, 로그 레벨 기준으로 검색할 수 있다.필터와 정규식 검색을 지원해 원하는 로그를 빠르게.. 2025. 10. 11.
오픈소스로 모니터링 환경 구축하기(5) - Loki + Tempo + Prometheus 조합 각 컴포넌트 역할 Prometheus 애플리케이션 및 인프라의 메트릭 데이터를 Pull 방식으로 주기적으로 수집하고 시계열(Time Series) 형태로 저장 Loki 애플리케이션 로그를 라벨 기반으로 수집, 보관라벨로 빠른 1차 필터링, 본문은 압축 저장 TempoOpenTelemetry가 내보낸 트레이스를 저장, 조회분산 호출 흐름을 보존해 병목 오류 지점을 한눈에 파악트레이스의 TraceID로 관련 로그 메트릭과 연결 고리 제공 Loki vs Tempo vs Prometheus 비교구성 요소수집 대상데이터 형태주요 목적Grafana에서의 활용Prometheus메트릭시계열 수치성능 상태 모니터링CPU, 요청 수, 에러율 등 실시간 지표Loki로그텍스트 로그이벤트 파악 및 원인 조사로그 필터링 및 검.. 2025. 10. 11.
오픈소스로 모니터링 환경 구축하기(4) - Loki & Tempo Loki 란?Loki는 Grafana Labs에서 개발한 로그 수집, 저장 시스템으로 Prometheus와 유사한 방식으로 작동하는 로그 수집 솔루션이다. Prometheus가 메트릭을 담당한다면Loki는 로그를 담당한다 특징특징설명라벨 기반로그를 라벨로 구분하여 효율적으로 관리빠른 검색로그 전체가 아니라 메타데이터만 인덱싱하고 실제 로그는 압축 저장하여 빠른 검색 가능실시간 시각화Grafana와 연동해 로그를 실시간으로 검색, 필터링, 시각화 가능 Loki의 기본 구조Logback -> Loki -> Grafana 애플리케이션(Logback)이 로그를 남김Loki는 이를 수집하고 저장Grafana에서 실시간 조회/검색 Tempo란?Tempo는 Grafana Labs에서 만든 분산 트레이싱 백엔드 .. 2025. 10. 11.
오픈소스로 모니터링 환경 구축하기(3) - Prometheus Prometheus란?시간 기반(Time-Series)으로 메트릭 데이터를 수집, 저장하는 오픈소스 모니터링 시스템이다. 서버와 애플리케이션의 상태를 시간에 따라 수집하고이를 쿼리 하고 시각화 하며 알람 까지 보낼 수 있게 해주는 시스템이다. 개념용어설명예시메트릭 (Metric)시스템의 상태를 수치로 표현한 값CPU 사용률, 요청 수, 지연 시간 등시계열 (Time Series)시간에 따른 메트릭의 변화 추이1초 간격으로 수집된 CPU 사용량ExporterPrometheus가 데이터를 수집할 수 있도록 노출하는 엔드 포인트/actuator/prometheusScrapePrometheus가 주기적으로 대상 애플리케이션에서 데이터를 가져오는 방식Pull 방식PromQLPrometheus 전용 쿼리 언어메트릭.. 2025. 10. 11.
오픈소스로 모니터링 환경 구축하기(2) - OpenTelemetry OpenTelemetry란? 애플리케이션의 동작을 모니터링하고 분석할수 있도록 데이터를 수집하는도구서비스가 어떤 요청을 받고 얼마나 걸리고 어디서 병목이 생긴는지를 한눈에 볼수 있도록 만들어주는것OpenTelemetry = Telemetry Data (측정 데이터)를 Open 하게 표준화한 프로젝트쉽게 말해서"어떤 애플리케이션이든 같은 방식으로 관측 데이터를 수집하고모니터링 시스템으로 보내는 표준 파이프라인" 이라고 생각하면 된다. OpenTelemetry(OTel)을 적용하면 서비스가 어떤 요청을 받고, 어디서 병목이 생기고, 얼마나 지연되는지 파악할 수 있다.OpenTelemetry의 역할역할설명예시수집 (Instrumentation)애플리케이션 코드에서 로그, 메트릭, 트레이스를 추출HTTP 요청 .. 2025. 10. 11.