Skip links

Prometheus 및 Grafana를 사용한 NetScaler(VPX,CPX) 모니터링

Prometheus는 컨테이너 시스템을 기반으로 하는 클라우드 네이티브 환경에서의 Observability를 가능하게 하는 도구입니다.

데이터 시각화를 위한 Grafana를 이용해 Prometheus + Grafana 를 실제 사내환경에 적용해 Citrix VPX , Citrix CPX(Container) .. 등등 을 모니터링 한 내용을 소개 합니다.

Prometheus와Grafana는 모두 시스템 및 애플리케이션의 모니터링 및 경고 시스템을 구축하는 데 사용되는 강력한 오픈 소스 도구입니다.

각 도구의 주요 기능 및 모니터링 대상에 대한 설명은 다음과 같습니다:

Prometheus

  1. 지원하는 데이터 유형

프로메테우스는 다양한 데이터 유형을 수집할 수 있습니다. 주로 시계열 데이터를 처리하며, CPU 사용률, 메모리 사용률, 디스크 용량, 네트워크 트래픽 등의 지표를 모니터링할 수 있습니다.

  1. 수집 방법

프로메테우스는 HTTP를 통해 지표를 수집하며, 여러 애플리케이션 및 서비스에서 지표를 노출하는데 사용됩니다. Exporter라 불리는 구성 요소를 사용하여 여러 서비스의 지표를 수집할 수 있습니다.

  1. 내장된 쿼리 언어 (PromQL)

PromQL을 사용하여 시계열 데이터를 쿼리하고 분석할 수 있습니다. 이를 통해 사용자는 그룹화, 필터링, 산술 연산 및 집계를 수행할 수 있습니다.

Grafana

  1. 다양한 데이터 소스 지원

Grafana는 다양한 데이터 소스를 지원하며, Prometheus뿐만 아니라 InfluxDB, Elasticsearch, MySQL, PostgreSQL 등의 데이터베이스 및 시계열 데이터베이스와 통합할 수 있습니다.

  1. 대시보드 및 시각화

Grafana는 풍부한 대시보드 및 시각화 도구를 제공하여 시계열 데이터를 쉽게 이해하고 모니터링할 수 있습니다. 그래프, 테이블, 패널 등 다양한 시각화 옵션이 있습니다.

  1. 경보 및 알림 설정

Grafana는 경보 규칙을 설정하고 경보를 생성하는 기능을 제공합니다. 경보는 이메일, Slack 등으로 전송될 수 있습니다.

사내 모니터링 시스템 구축

1.Prometheus pull 모드를 지원하도록 NetScaler에서 AppFlow 기능 활성 및 timeseries analytics profile 구성

2.Prometheus 설치 및 실행

Prometheus 설정

Prometheus.yml > scrape_configs 설정 변경 후 Prometheus 실행

3.Grafana 설치 및 실행

4.Grafana data source 연결(Prometheus)

> data source 생성 > data type prometheus 선택 > prometheus URL 설정 > save

5.Dashboard 생성

> Dashboard 생성 > Dashboard Json file 업로드 > data source Prometheus 선택

6.Dashboard

> 아래 Dashboard 화면과 같이 사용자가 필요한 부분만 커스텀이 굉장히 간편 합니다.(사내 시스템 Dashboard)

마치며 구축 및 사용하며 느낀 점은 metric의 수집을 server에서 pull 방식으로 수집하고 있어서 Agent 에 특별한 부하를 유발시키지 않습니다.

또한, 데이터 저장소가 시계열 데이터(time-series) 저장소로 구성이 되어 있어서 많은 양의 변경 내용을 빠르게 검색할 수 있다는 점이 장점으로 다가왔습니다.