-
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는 강력한 대안이 될 수 있다! 🚀
반응형'ANYTHING' 카테고리의 다른 글
로그 분석 솔루션 비교 분석: ClickHouse, SigNoz, Parseable, OpenObserve (0) 2025.03.05 Parseable 개요 및 활용법 (0) 2025.03.05 ClickHouse 개요 및 활용법 (2) 2025.03.05 데이터 일관성과 메시징: Outbox 패턴과 대안들 (0) 2024.11.28 문서자료 작성. 나만 어려운가? (2) 2024.11.08