모니터링 프로그램 정리

#Infra #IaaS #개념 #모니터링

1. Horizon

  • OpenStack Horizon을 의미.
  • OpenStack(오픈소스 클라우드 플랫폼)의 대시보드(웹 UI).
  • 역할:
    • VM 생성/삭제
    • 네트워크 관리
    • 스토리지 관리
    • 사용자·권한 관리
  • 즉, 클라우드 관리용 웹 콘솔.
  • AWS의 Management Console과 유사.

2. Prometheus

  • 오픈소스 모니터링 & 알림 시스템.
  • 시계열 데이터(Time-Series DB)에 메트릭 저장.
  • 주로 인프라/애플리케이션 성능 모니터링에 사용.
  • 특징:
    • Pull 방식(Scraping): Prometheus 서버가 타깃에서 주기적으로 메트릭 수집.
    • PromQL(Prometheus Query Language): 데이터 조회/분석.
    • 알람 매니저(Alertmanager)와 연계 → 경고 전송(Slack, Email, PagerDuty 등).

3. Kibana

  • Elasticsearch 전용 데이터 시각화 대시보드.
  • 로그·문서 기반 데이터를 분석하고, 차트/그래프/대시보드로 보여줌.
  • 보통 **Elastic Stack(ELK: Elasticsearch + Logstash + Kibana)**의 일부로 사용.
  • 주요 기능:
    • 로그 검색 (예: 에러 로그 필터링)
    • 보안 분석
    • 애플리케이션 로그 시각화

4. Elasticsearch

  • 오픈소스 검색 및 분석 엔진.
  • JSON 문서 기반 NoSQL 데이터베이스.
  • 주로 로그/이벤트 데이터 저장 및 검색에 사용.
  • 특징:
    • 분산형(Scale-out 가능).
    • Full-text Search(자연어 검색) 지원.
    • Kibana와 결합해 강력한 로그 분석 도구로 사용.

5. Loki

  • Grafana Labs가 만든 로그 수집·저장 시스템.
  • Elasticsearch와 비슷한 역할을 하지만, 로그를 메트릭처럼 간단히 저장하는 데 최적화.
  • 특징:
    • Prometheus와 비슷한 아키텍처 (Label 기반 쿼리).
    • 텍스트 로그 전체를 인덱싱하지 않고, 메타데이터(Label)만 인덱싱 → 저장소 비용 절감.
    • Grafana와 자연스럽게 통합.

6. Grafana

  • 오픈소스 시각화 플랫폼.
  • Prometheus, Loki, Elasticsearch, InfluxDB 등 다양한 데이터 소스를 연결 가능.
  • 주요 기능:
    • 메트릭 대시보드 (CPU 사용률, 네트워크 트래픽 등).
    • 로그 뷰어 (Loki/Elasticsearch 연동).
    • 알림 설정.
  • Prometheus/Kibana와 달리, 여러 데이터 소스를 한 대시보드에서 통합 시각화 가능.

비교 정리

도구역할주요 특징비슷한 것
HorizonOpenStack 관리 UI클라우드 리소스 관리 (VM, 네트워크, 스토리지)AWS Console
Prometheus메트릭 수집/저장시계열 데이터, Pull 방식, Alertmanager 연계InfluxDB
KibanaElasticsearch 전용 시각화로그·문서 기반 데이터 분석/검색Grafana (시각화)
Elasticsearch검색/분석 엔진로그 저장/검색, JSON 문서 기반, 분산형Loki (로그 저장)
Loki로그 저장/쿼리메타데이터 기반 인덱싱, 비용 절감, Grafana와 최적화Elasticsearch
Grafana통합 대시보드Prometheus/Loki/ES 등 연결, 메트릭+로그 통합Kibana (ES 전용)

이해 쉽게 정리

  • Horizon → OpenStack용 관리 UI (클라우드 리소스 관리).
  • Prometheus → 서버/앱 메트릭 모니터링.
  • Grafana → 모니터링 데이터 시각화 대시보드.
  • Elasticsearch → 로그 저장·검색 엔진.
  • Kibana → Elasticsearch 시각화 툴.
  • Loki → 경량화된 로그 저장 시스템 (Grafana 연동 최적).

사례별 조합

1. 클라우드 리소스 관리 (Horizon 중심)

  • 사용 도구: Horizon (OpenStack Dashboard)
  • 사례:
    • 기업 내부 프라이빗 클라우드(OpenStack)를 구축했을 때,
    • Horizon을 통해 VM 생성, 네트워크 연결, 스토리지 관리 등을 클릭 몇 번으로 처리.
  • 특징:
    • 인프라 자체를 제어하는 툴 → 모니터링·로그 분석 툴과는 결이 다름.
    • AWS Console 같은 역할.

2. 메트릭 모니터링 + 알림 (Prometheus + Grafana)

  • 사용 도구: Prometheus + Grafana
  • 사례:
    • 쿠버네티스(Kubernetes) 클러스터 운영 시 →
      • Prometheus가 각 Pod/Node/컨테이너의 CPU, 메모리, 네트워크 사용량을 수집.
      • Grafana에서 시각화하여 대시보드로 운영팀/개발팀 공유.
      • Alertmanager 연계 → 장애 시 Slack/이메일 알림.
  • 특징:
    • “지표 모니터링”에 최적.
    • 인프라 상태·성능 모니터링에 많이 쓰임.

3. 로그 분석 (Elasticsearch + Kibana, 즉 ELK Stack)

  • 사용 도구: Elasticsearch + Logstash + Kibana (ELK)
  • 사례:
    • 웹 서버(Nginx, Django, Spring 등)의 에러 로그 수집.
    • Logstash/Beats가 서버 로그를 모아 Elasticsearch에 저장.
    • Kibana에서 “어떤 에러가 가장 많은지” 시각화 → 장애 원인 분석.
  • 특징:
    • “로그 검색/분석”에 최적.
    • 보안 로그(IDS/IPS), 서버 접근 로그, 애플리케이션 로그를 깊이 분석할 때 유용.

4. 로그 모니터링 (Loki + Grafana)

  • 사용 도구: Loki + Grafana
  • 사례:
    • 마이크로서비스 환경(Kubernetes)에서 수많은 Pod 로그가 쏟아질 때,
    • Loki가 로그를 간단히 수집하고, Grafana에서 대시보드/로그 뷰어로 확인.
    • “Pod A 로그와 Pod B 로그를 같은 타임라인에 표시” 가능.
  • 특징:
    • Elasticsearch보다 저장소 비용이 훨씬 저렴.
    • 로그 검색 기능은 제한적이지만, 실시간 운영 모니터링에 적합.
    • Prometheus와 함께 쓰면 지표 + 로그를 하나의 Grafana에서 확인 가능.

5. 통합 운영 환경

  • Prometheus + Grafana + Loki 조합:
    • 인프라/앱 지표 + 로그를 Grafana 한 대시보드에서 통합 확인.
    • 운영자가 “CPU 스파이크 → 해당 시점 로그 바로 조회” 같은 식으로 빠르게 문제 파악.
  • ELK (Elasticsearch + Kibana):
    • 대량의 로그 분석, 보안 감사(Compliance), 장기 로그 보관에 강점.
  • 혼합 사용:
    • Prometheus + Grafana (메트릭)
    • Loki (최근 로그, 저비용)
    • Elasticsearch + Kibana (심층 로그 분석, 장기 보관)

요약 비교

목적보통 쓰는 조합특징
클라우드 리소스 관리HorizonVM, 네트워크, 스토리지 관리
메트릭 모니터링Prometheus + Grafana서버·앱 성능 지표, 알림
로그 분석ELK (Elasticsearch + Kibana)방대한 로그 검색/분석
로그 모니터링Loki + Grafana경량 로그 수집, 비용 효율, 실시간 운영
통합 운영Prometheus + Grafana + Loki (+ ELK 필요 시)메트릭+로그 통합, 운영 효율 ↑

Comments

💬 Sign in with GitHub to leave a comment. Comments are public and stored in GitHub Discussions.