Comparison of open-source solutions for scaling, high availability Prometheus-based monitoring

이언철·2024년 5월 7일
0

DevOps

목록 보기
9/16
post-thumbnail

Obj. Prometheus의 확장성과 고가용성 확보를 위한 모니터링 시스템 확장도구 선정


Observability and Monitoring Ecosystem Comparison

ComparisonPrometheus federationThanosGrafana MimirVictoriaMetricsCortex
High availabilityXOOOO
Remote storageXOOXX
Aggregated viewOOOOO
DocumentLimitedGoodLimitedExellentExellent
MaturityMatureMatureInfancy stageMatureMature
ProjectPrometheusCNCF Incubating ProjectGrafana Labs / LGTM StackVictoriaMetricsCNCF Incubating Project

실제 적용 및 비교를 위해 두 가지 대상을 선택하고자 함

Thanos vs Cortex

  • 장기적인 건강(채택 및 커뮤니티 지원), 재해 복구, 장기 보관, 보안, 확장성 및 고가용성을 모두 고려하는 대부분의 경우 Thanos가 Cortex보다 더 적합하다는 의견이 많고 Remote storage가 가능한 구조가 비용 효율적

Mimir

  • LGTM 스택
    • 데이터 장기 보존의 필요성
    • Observability NoOps(NewRerlic, Datadog, Dynatrace …)의 한계점 (retention, cost 등)

Thanos vs Mimir

ComparisonGrafana MimirThanos
DiffMimir는 Prometheus를 위한 오픈 소스 장기 스토리지로 설계된 관찰 가능성 및 모니터링 생태계에서 상대적으로 새로운 플레이어
Prometheus의 확장을 통해 매우 큰 메트릭 데이터 세트를 처리하고 잠재적으로 수십억 개의 메트릭까지 확장하는 것을 목표
Grafana Labs에서 개발했으며 이전에는 Grafana Labs가 5년 동안 주도한 프로젝트인 Cortex로 알려져 있음
Mimir는 확장성과 고성능으로 유명하며 대규모 배포에 잘 작동하도록 설계됨
Thanos는 Prometheus의 오픈 소스 확장으로, 광범위한 기록 데이터 저장 기능을 갖춘 통합 모니터링 시스템을 활성화하여 Prometheus 배포를 향상시키도록 설계
주요 기능에는 전역 쿼리 보기, 고가용성 및 장기 기록 데이터에 대한 효율적인 액세스가 포함
운영의 단순성과 비용 효율성으로 잘 알려져 있음
Shared Origins and CollaborationMimir는 처음부터 확장성과 고성능을 위해 설계되었음
Thanos의 영향으로 운영 복잡성을 줄이는 데 크게 개선
Thanos는 운영 단순성과 비용 효율성에 중점
Mimir의 영향으로 수신기 구성 요소를 통해 푸시 기반 모델을 도입
ComponentsIngester: 들어오는 데이터를 처리하고 장기 저장소에 플러시하기 전에 임시로 저장
Querier: 장기 저장소에서 데이터를 검색하고 쿼리를 제공
Distributor: 수집기 간에 들어오는 데이터를 배포
Store Gateway: 장기 저장소의 데이터에 대한 액세스를 제공
Compactor: 장기 저장소의 데이터를 압축하고 다운샘플링
Ruler: 경고 및 기록 규칙을 평가
Sidecar: Prometheus와 함께 실행되어 데이터를 읽고 객체 스토리지에 보관
Store Gateway: 객체 스토리지의 기록 데이터에 대한 API를 제공
Query: 여러 사이드카와 같은 다양한 소스의 결과를 집계
Compactor: 객체 스토리지의 블록 데이터에 Prometheus의 압축을 적용
Ruler: Prometheus 기록 및 경고 규칙을 평가
ProjectGrafana Labs / LGTM 스택CNCF Incubating Project
RisksIngesters failing / memory consumptionCompaction failing
Sizing Plan(small & large) Grafana labs’ operational experiencex
Latency Test6h: 80~100ms
7d: 80~100ms
6h: 200~250ms
7d: 2000~4000ms
Prometheus 적용 방식RemoteWriteThanos-Sidecar, -Service

Latency 측정하기

Mimir

  • 6h: 80~100ms
  • 7d: 80~100ms

Thanos

  • 6h: 200~250ms
  • 7d: 2000~4000ms

Conclusion

결론적으로 Mimir와 Thanos는 모두 Prometheus 확장을 위한 강력한 솔루션을 제시하며, 각각은 고유한 강점과 개발 철학을 가지고 있음

신규 참가자인 Mimir는 대규모 데이터 세트를 처리하는 데 큰 가능성을 보여주며 Grafana Labs의 강력한 지원을 받아 빠르게 발전하고 있음

더욱 확고해진 Thanos는 강력한 커뮤니티와 포괄적인 문서의 지원을 받아 다양한 환경에 적합한 성숙하고 유연한 솔루션을 제공

개발 AKS 클러스터에 대한 테스트에서는 두 시스템 모두 중소 규모 설정에서 비슷한 성능을 보이는 것으로 나타난다고 하였으나 실제 테스트 시 약 2배정도의 성능 차이를 보임

이러한 성능 동등성은 Mimir와 Thanos 사이의 선택이 특정 조직 요구 사항, 향후 확장성 고려 사항, 커뮤니티 지원 및 성숙도 측면에서 선호도에 크게 좌우될 수 있음


Result

LGTM 스택, 확장성과 고성능에 이점을 가진 Mimir는 지속적으로 확장하는 조직에서 의미있는 선택이 될 수 있음

Thanos는 단순한 구조로 쉽고 빠르게 적용해 볼 수 있고 준수한 성능과 본래의 목적인 고가용성 확보를 위한 최선의 선택이 될 수 있음

LGTM 스택을 도입하여 모니터링, 로그관리, 대시보드, 분산추적으로 서비스의 성능과 안정성을 확보하는 데 큰 이점을 가져올 수 있을 것으로 판단하여 Mimir를 선택


참고자료

Evaluating monitoring solutions; Prometheus, Thanos, Mimir, Victoria Metrics
How we scaled our new Prometheus TSDB Grafana Mimir to 1 billion active series | Grafana Labs
Grafana Mimir components | Grafana Mimir documentation

profile
Soomgo, DevOps

0개의 댓글