ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OpenObserve 개요 및 활용법
    ANYTHING 2025. 3. 5. 20:29
    반응형

    OpenObserve란?

    OpenObserve(이전 명칭: ZincObserve)는 오픈소스 기반의 고성능 로그 및 메트릭 분석 플랫폼이다.

    로그(Log), 메트릭(Metric), 분산 트레이싱(Tracing) 을 하나의 솔루션에서 통합 관리할 수 있는 Full-Stack Observability 도구이며, Elasticsearch, Loki, Splunk, Datadog의 대체재로 사용될 수 있다.

    OpenObserve는 S3 호환 오브젝트 스토리지(AWS S3, MinIO, Google Cloud Storage)를 활용하여 저비용으로 로그를 저장하면서도 높은 성능을 제공한다.


    1. OpenObserve의 주요 특징

    🚀 1) 고성능 & 저비용 로그 저장

    • S3, MinIO와 같은 오브젝트 스토리지 기반 저장 방식을 사용하여 스토리지 비용을 절감
    • Elasticsearch처럼 많은 디스크 공간을 사용하지 않으며, 기존 로깅 시스템 대비 최대 140배 적은 비용으로 운영 가능
    • 컬럼형 데이터 저장 구조로 로그 검색 속도가 빠름

    🔎 2) SQL 기반 로그 분석

    • SQL(SELECT, WHERE, GROUP BY)을 사용하여 로그를 쉽게 조회 가능
    • JSON 로그도 SQL 기반으로 필터링 가능

    📊 3) 실시간 메트릭 및 트레이싱 지원

    • 로그뿐만 아니라 Prometheus 스타일의 메트릭 분석 가능
    • Jaeger, OpenTelemetry 연동을 통한 분산 트레이싱 지원

    4) 빠르고 쉬운 배포

    • Docker, Kubernetes(K8s) 배포 지원
    • 단일 실행 파일(Binary)로 실행 가능하여 운영이 간편함

    🌍 5) 클라우드 네이티브 & 확장성

    • AWS S3, MinIO, Google Cloud Storage, Azure Blob Storage와 연동 가능
    • 서버리스(Serverless) 아키텍처 지원

    2. OpenObserve vs. 기존 로그 분석 도구

    특징 OpenObserve Elasticsearch Loki Splunk Datadog

    저장 방식 오브젝트 스토리지 (S3) 디스크 (Shard/Index) Key-Value (BoltDB) 독자적 스토리지 독자적 스토리지
    검색 속도 빠름 (SQL 지원) 빠름 느림 매우 빠름 빠름
    메트릭 지원 ✅ (내장) ❌ (추가 필요) ❌ (별도 필요) ✅ (유료) ✅ (유료)
    트레이싱 지원 ✅ (Jaeger, OTel 지원) ❌ (X-Pack 필요) ✅ (유료) ✅ (유료)
    운영 비용 낮음 높음 중간 매우 높음 매우 높음
    배포 방식 Self-hosted / Cloud Self-hosted Self-hosted / Cloud SaaS (유료) SaaS (유료)

    📌 비교 요약

    • Elasticsearch는 강력한 검색 기능을 제공하지만, 운영 비용과 리소스 사용량이 높음
    • Loki는 Kubernetes 로그 수집에 적합하지만, 검색 속도가 느림
    • Splunk, Datadog은 엔터프라이즈급 기능이 많지만 비용이 매우 비쌈
    • OpenObserve는 S3 기반 저장 방식으로 비용을 절감하면서도 SQL 기반 검색이 가능

    3. OpenObserve 설치 및 사용법

    📌 1) Docker로 설치

    docker run -p 5080:5080 \\\\
      -e ZO_ROOT_USER_EMAIL=admin@example.com \\\\
      -e ZO_ROOT_USER_PASSWORD=changeme \\\\
      public.ecr.aws/zinclabs/openobserve:latest
    
    
    • 웹 UI 접속: http://localhost:5080
    • 기본 로그인 정보: admin@example.com / changeme

    📌 2) Kubernetes(K8s) 배포

    kubectl apply -f <https://raw.githubusercontent.com/openobserve/openobserve/main/deploy/kubernetes/openobserve.yaml>
    
    

    4. OpenObserve 기본 사용법

    1) 로그 데이터 삽입

    HTTP API로 JSON 로그 삽입

    curl -X POST "<http://localhost:5080/api/default/logs>" \\\\
         -H "Content-Type: application/json" \\\\
         -u admin@example.com:changeme \\\\
         -d '[{"timestamp": "2025-03-05T12:00:00Z", "level": "info", "message": "OpenObserve 테스트 로그"}]'
    
    

    FluentBit 연동 예제

    fluent-bit.conf

    [OUTPUT]
        Name        http
        Match       *
        Host        openobserve
        Port        5080
        URI         /api/default/logs
        Format      json
    
    

    위 설정을 적용하면 Kubernetes, Docker 컨테이너 로그를 자동으로 OpenObserve로 전송할 수 있음.


    2) SQL 기반 로그 검색

    기본 로그 조회

    SELECT * FROM logs WHERE level = 'error';
    
    

    날짜별 로그 개수 집계

    SELECT DATE(timestamp) AS date, COUNT(*) FROM logs GROUP BY date;
    
    

    특정 패턴이 포함된 로그 검색

    SELECT * FROM logs WHERE message LIKE '%timeout%';
    
    

    5. OpenObserve의 주요 활용 사례

    애플리케이션 로그 분석

    • REST API, Web 서비스 로그를 실시간 분석
    • JSON 기반 로그를 SQL로 검색 가능

    Kubernetes 로그 모니터링

    • FluentBit, Vector, Logstash 등과 연동하여 컨테이너 로그 분석
    • Kubernetes 클러스터에서 애플리케이션 동작을 모니터링

    서버리스(Serverless) 로그 저장

    • AWS S3, MinIO, Google Cloud Storage를 활용한 저비용 로그 저장
    • 로그 저장 비용을 절감하면서도 검색 성능 유지

    보안 및 감사 로그 분석

    • 방화벽, VPN, 인증 로그 저장 및 검색
    • 시스템 접근 기록을 SQL 기반으로 분석

    Full-Stack Observability 구축

    • 로그(Log), 메트릭(Metric), 트레이싱(Tracing)을 하나의 플랫폼에서 분석
    • Prometheus, OpenTelemetry와 연동 가능

    6. OpenObserve의 장점 & 단점

    장점

    S3/MinIO 기반으로 비용 절감 (저장 비용 140배 절감)

    SQL 기반 로그 분석 (사용자 친화적)

    로그, 메트릭, 트레이싱 통합 지원 (All-in-One Observability)

    가볍고 빠른 배포 가능 (Docker/K8s 지원)

    Prometheus, OpenTelemetry 연동 가능

    단점

    Elasticsearch보다 복잡한 검색 기능 부족

    Loki, Splunk 대비 커뮤니티 지원이 적음

    초기 설정 시 API 연동 필요 (자동 탐색 부족)


    7. 결론

    OpenObserve는 로그, 메트릭, 트레이싱을 통합 지원하는 오픈소스 Observability 플랫폼으로,

    💰 Elasticsearch, Loki, Splunk, Datadog보다 저렴한 비용으로 운영 가능하다.

    S3 기반 저장 방식 덕분에 대규모 로그 저장 비용을 절감하면서도 뛰어난 검색 성능을 제공한다.

    💡 만약 비용 효율적인 로그 분석 & 메트릭 모니터링 솔루션이 필요하다면, OpenObserve는 강력한 대안이 될 수 있다! 🚀

    반응형
Designed by Tistory.