모니터링 - Prometheus와 Grafana

2024. 10. 4. 09:00모니터링

2024/10/04

 

 

※  Prometheus와 Grafana에 대해 알아보자.

 

 

   ▶ Prometheus란❓

📌  Prometheus 오픈 소스 시스템 모니터링 및 경고 도구다. SoundCloud에서 시작되어 현재는 Cloud Native Computing Foundation(CNCF)에서 호스팅하고 있다. Prometheus는 시계열 데이터베이스를 사용하여 메트릭
데이터를 수집하고, 쿼리 및 시각화를 통해 시스템 상태를 모니터링하고 경고를 설정할 수 있다.

 

       ●  Prometheus의 주요 구성 요소

             ✅  Prometheus 서버:

메트릭 데이터를 수집하고 저장하는 핵심 컴포넌트다.

 

 

            ○  각 타겟으로부터 데이터를 주기적으로 스크랩(scrape)하여 시계열 데이터베이스에 저장한다.
            ○  시계열 데이터베이스(Time Series Database, TSDB)는 시간에 따라 변화하는 데이터를 효율적으로 저장하고 조회할 수 있도록 최적화된 데이터베이스다.

 

             ✅  Exporters:

Exporter는 특정 애플리케이션이나 시스템의 메트릭 데이터를
Prometheus가 이해할 수 있는 형식으로 변환해주는 도구다.

 

 

            ○  Prometheus는 기본적으로 애플리케이션에서 메트릭 데이터를 수집한다.
            ○  예시: Node Exporter (서버의 시스템 메트릭 수집), PostgreSQL Exporter (PostgreSQL 메트릭 수집), Spring boot의 micrometer-registry-prometheus 디펜던시

 

             ✅  Pushgateway:

짧은 수명의 작업(job)에서 메트릭을 수집하여 Prometheus 서버에 푸시(push)할 수 있다.

 

 

            ○  일반적으로 지속적으로 실행되지 않는 작업에서 사용된다.
            ○  예를 들어 배치 작업, 스크립트 실행, 크론 작업 등이 있다.

 

             ✅  Alertmanager:

Prometheus 서버에서 발생하는 경고(alert)를 처리하고,
이메일, PagerDuty, Slack 등 다양한 방법으로 알림을 보낼 수 있다.

 

             ✅  Grafana:

Prometheus 데이터를 시각화하기 위해 자주 사용되는 대시보드 도구다.

 

 

            ○  Grafana를 사용하면 Prometheus에서 수집한 메트릭 데이터를 대시보드 형태로 시각화할 수 있다.

 

 

   ▶ Grafana란?

📌  Grafana오픈소스 데이터 시각화 및 모니터링 도구다. 다양한 데이터 소스를 지원하여 데이터를 시각화하고 분석할 수 있도록 돕는다. Grafana는 대시보드를 생성하고, 데이터를 그래프나 차트 형태로 표현하며, 알림 기능을 제공하여 모니터링을 강화할 수 있다.

 

       ●  Prometheus의 주요 기능

             ①  대시보드 생성 :

               ▪   Grafana는 사용자가 데이터를 시각화할 수 있는 대시보드를 생성할 수 있도록 한다.
               ▪   여러 가지 그래프, 차트, 게이지 등을 사용하여 데이터를 시각적으로 표현할 수 있다.

              ②  다양한 데이터 소스 지원 :

               ▪   Prometheus, InfluxDB, Graphite, Elasticsearch, MySQL, PostgreSQL 등 다양한 데이터 소스를 지원한다.
               ▪   이를 통해 여러 시스템과 애플리케이션의 데이터를 통합하여 시각화할 수 있다.

              ③  알림 기능 :

               ▪   조건을 설정하여 조건이 충족되면 이메일, Slack, PagerDuty 등 다양한 채널을 통해 알림을 보낼 수 있다.
               ▪   이를 통해 시스템 상태를 실시간으로 모니터링하고 문제가 발생했을 때 즉시 대응할 수 있다.

              ④  플러그인 지원 :

               ▪   Grafana는 플러그인 아키텍처를 지원하여, 다양한 플러그인을 통해 기능을 확장할 수 있다.
               ▪   예를 들어, 새로운 데이터 소스나 시각화 유형을 추가할 수 있다.

              ⑤  사용자 관리 :

               ▪   사용자를 관리하고, 대시보드와 데이터 소스에 대한 접근 권한을 설정할 수 있다.
               ▪   이를 통해 팀 내에서 협업을 강화하고 데이터 보안을 유지할 수 있다.

 

 

 

 

'모니터링' 카테고리의 다른 글

시큐어 코딩 - XSS  (2) 2024.10.11
시큐어 코딩 - CSRF  (9) 2024.10.11
시큐어 코딩 - CORS  (0) 2024.10.09
애플리케이션 로그 모니터  (2) 2024.10.07
모니터링 시스템  (2) 2024.10.02