ABOUT ME

-

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

    Parseable이란?

    Parseable고성능 오픈소스 로그 스토리지 및 분석 시스템으로, 실시간 로그 수집, 저장, 검색, 분석을 지원한다.

    주요 경쟁 제품으로는 Loki, ElasticSearch, Splunk 등이 있으며, 특히 클라우드 네이티브 환경에서 빠르고 가벼운 로그 분석을 위한 대안으로 사용된다.

    Parseable은 Apache Arrow 기반의 컬럼형 저장 구조를 사용하여 빠른 쿼리 성능과 효율적인 저장 공간 활용을 제공한다.


    1. Parseable의 주요 특징

    🚀 1) 고성능 & 경량 로그 저장소

    • Apache Arrow 기반 컬럼형 저장 방식으로 검색 속도가 빠름
    • 가볍고 메모리 효율적인 설계, 작은 리소스로 동작 가능

    2) 실시간 로그 수집 & 분석

    • JSON, CSV, Text 로그 포맷을 지원
    • Kafka, FluentBit, Vector, Logstash 등과 연동 가능
    • 실시간 스트리밍 로그 분석 가능

    🔗 3) 클라우드 네이티브 지원

    • S3, MinIO, GCS 같은 오브젝트 스토리지 연동 가능
    • Kubernetes 및 Docker 배포 지원
    • 로그 데이터의 장기 보관 및 확장성 용이

    🔎 4) SQL 기반 로그 검색

    • 로그 데이터를 SQL처럼 쿼리 가능 (SELECT, WHERE, GROUP BY 등 지원)
    • JSON 데이터도 SQL로 필터링 가능

    📈 5) 쉬운 UI 및 API 제공

    • 웹 기반 UI 대시보드 제공
    • REST API와 CLI 도구를 사용하여 자동화 및 DevOps 워크플로우 통합 가능

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

    특징 Parseable Loki Elasticsearch Splunk

    저장 방식 컬럼형 (Apache Arrow) 키-값 기반 (BoltDB) JSON 문서 기반 독자적인 스토리지
    검색 속도 빠름 (SQL 지원) 느림 (로그 라벨 기반) 빠름 (검색 최적화) 매우 빠름
    리소스 사용량 가벼움 중간 높음 매우 높음
    배포 방식 Self-hosted / Cloud Self-hosted / Cloud Self-hosted / Cloud SaaS (유료)
    운영 복잡성 쉬움 쉬움 어려움 어려움
    주요 활용 빠른 로그 분석 Kubernetes 로그 수집 대규모 검색 엔터프라이즈 로그 분석
    • Loki는 Kubernetes 로그 수집에 강하지만, 복잡한 쿼리는 어려움
    • Elasticsearch는 강력한 검색 기능이 있지만, 운영 및 리소스 부담이 큼
    • Splunk는 엔터프라이즈 환경에서 강력하지만, 비용이 높음
    • Parseable은 가볍고 빠르며, SQL 기반 쿼리를 지원하여 쉽고 빠르게 로그 분석 가능

    3. Parseable 설치 및 사용법

    📌 1) Docker로 설치

    docker run -p 8000:8000 -p 9000:9000 \\\\
      -e PERSISTENCE_PATH=/data \\\\
      -v /var/log:/data \\\\
      parseable/parseable
    
    

    📌 2) Kubernetes 배포

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

    배포 후 서비스 확인:

    kubectl get pods -n parseable
    
    

    4. Parseable 기본 사용법

    1) 로그 데이터 삽입

    HTTP API로 JSON 로그 삽입

    curl -X POST "<http://localhost:9000/api/v1/ingest/logs>" \\
         -H "Content-Type: application/json" \\
         -d '[{"timestamp": "2024-03-05T12:00:00Z", "level": "info", "message": "Parseable 테스트 로그"}]'

    FluentBit 연동 예제

    fluent-bit.conf

    [OUTPUT]
        Name        http
        Match       *
        Host        parseable
        Port        9000
        URI         /api/v1/ingest/logs
        Format      json
    
    

    위 설정을 적용하면 FluentBit에서 Parseable로 로그를 자동 전송할 수 있다.


    2) SQL로 로그 검색

    Parseable은 SQL 쿼리를 지원하여 로그를 쉽게 조회할 수 있다.

    기본 검색

    SELECT * FROM logs WHERE level = 'error';
    
    

    날짜별 로그 개수 집계

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

    특정 문자열이 포함된 로그 검색

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

    5. Parseable의 주요 활용 사례

    애플리케이션 로그 분석

    • REST API, Web 서비스 로그를 실시간 분석
    • 로그 검색 및 에러 패턴 분석

    Kubernetes 로그 모니터링

    • FluentBit, Vector와 연동하여 K8s Pod 로그 수집
    • Kubernetes 환경에서 경량 로그 저장소로 사용

    클라우드 네이티브 로그 저장

    • S3, MinIO, GCS 같은 오브젝트 스토리지에 로그 저장
    • 장기 보관 및 아카이빙 가능

    보안 및 감사 로그 분석

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

    6. Parseable의 장점 & 단점

    장점

    경량 & 빠른 로그 저장 (Apache Arrow 기반)

    SQL 기반 로그 검색 (사용자 친화적)

    S3/MinIO 등 클라우드 스토리지 지원

    Kubernetes, FluentBit, Vector와 쉽게 연동 가능

    무료 & 오픈소스 (Self-hosted 가능)

    단점

    대규모 클러스터링 기능 부족 (Elasticsearch 대비)

    시각화 기능 제한적 (Grafana 등과 연동 필요)

    커뮤니티 지원이 Loki, Elastic보다 적음


    7. 결론

    Parseable은 빠르고 가벼운 로그 저장 및 분석 시스템으로, SQL 기반의 강력한 검색 기능클라우드 네이티브 환경 지원이 특징이다.

    💡 만약 Loki, Elasticsearch보다 가볍고 쉬운 로그 분석 시스템이 필요하다면, Parseable은 강력한 대안이 될 수 있다! 🚀

    반응형
Designed by Tistory.