1.1. 모니터링 시스템 구축 개요

신복호·2025년 1월 23일
0

Monitoring

목록 보기
2/9

개요

서비스를 운영시 다양한 소프트웨어가 정상적으로 동작하는지 확인하기 위해 모니터링 시스템을 구축하였습니다.

모니터링 시스템을 구축하기 전에는 각 서버에 개별적으로 접근해야 했으며, 동시에 소프트웨어 상태를 파악하기 어려운 문제가 있었습니다.

이러한 불편한을 개선하고자 Node Exporter, Prometheus, Grafana를 이용하여 모니터링 시스템을 구축하였습니다.

여러 포스팅에 걸처 Node Exporter, Prometheus, Grafana 를 이용하여 모니터링 시스템을 구축했던 내용에 대해서 작성하고자 합니다.

이번 포스팅에서는 Node Exporter, Prometheus, Grafana 에 대해서 작성하고자 합니다.

정의

Node Exporter

Node Exporter는 모니터링할 서버의 메트릭 정보를 수집하여 Prometheus에 전달하는 역할을 합니다.

수집되는 메트릭 정보에는 CPU, 메모리, 네트워크 등 핵심 성능 지표가 포함됩니다.

Prometheus?

Prometheus는 SoundCloud사에서 만든 오픈소스 시스템 모니터링 입니다.

프로메테우스의 특징은 다음과 같습니다.

  • key-value 쌍으로 이루어진 시계열 데이터를 제공
  • PromQL(Prometheus Query Language)를 사용해 데이터 정의
  • 독립적으로 실행이 가능하며 외부 종속성이 없음
  • Node Exporter를 통해 다양한 시스템 및 애플리케이션을 통합적으로 지원
  • 풍부한 자료와 커뮤니티 지원을 제공하는 오픈소스 프로젝트

Grafana

Grafana는 Grafana Labs에서 개발한 오픈소스로, 수집된 데이터들을 시각화하고 모니터링을 합니다.

Grafana의 특징은 다음과 같습니다.

  • 다양한 데이터 소스 지원 (Prometheus, InfluxDB, Elasticsearch)
  • 플러그인 및 커스터 마이징 가능
  • 다양한 채널로 알림을 설정할수 있음 (Slack, 이메일 등)

시스템 구성

앞서서 Node Exporter, Prometheus, Grafana 무엇인지 간략하게 설명하였습니다.

이제 본격적인 설치에 앞서, 전체적인 시스템 구성을 설명하겠습니다.

설명에서는 각 서버와 소프트웨어가 미리 구성되어 있다는 가정을 합니다.

기존 시스템 구성

기존에 구성해 놓은 시스템은 다음과 같습니다.

  • OS : Ubuntu 24.04
  • VM 베이스 5개 (각 VM 별로 아래 해당 되는 소프트웨어가 설치)
    • Nginx
    • MariaDB
    • Redis
    • RabbitMQ
    • PM2

신규 모니터링 시스템 구축

  • OS : Ubuntu 24.04
  • 신규 서버
    • Prometheus
    • Grafana
  • 모니터링 설치 대상
    • 소프트웨어 : Nginx, Mariadb, Redis, RabbitMQ, PM2
    • 소프트웨어가 설치 되어 있는 각 VM

시스템 구축

시스템 구성에 대해서 설명드렸으니 본격적으로 모니터링 시스템을 구축하도록 하겠습ㄴ디ㅏ.

Prometheus

가장 먼저 데이터 수집을 위한 Prometheus를 설치 하겠습니다.

1. Prometheus 설치

sudo apt update;
sudo apt -y install prometheus prometheus-node-exporter

2. Prometheus 동작 확인

prometheus가 설치 되었다면 해당 소프트웨어가 제대로 동작하는지 확인이 필요합니다.

  1. 포트 상태 확인
    netstat-tnlp 명령어를 이용하여 9090,9100 포트가 LISTEN 상태인지 확인 합니다.
    • 만약 해당 명령어가 실행이 되지 않는 경우 net-tools 설치 필요 합니다.
      netstat 실행 결과
  2. 브라우저 확인
    브라우저 에서 http://${IP}:9090으로 접근하여 확인합니다. 프로메테우스 메인 화면

Grafana

Prometheus를 설치하였다면 다음으로 Grafana를 설치하겠습니다.

1. Grafana 설치

sudo apt install wget apt-transport-https software-properties-common -y
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt update
sudo apt install grafana

2. Grafana 동작 확인

  1. 포트 확인
    netstat -tnlp 명령어를 이용하여 3000 포트 State 가 LISTEN인지 확인합니다.

  2. 대시보드 확인
    브라우저에서 http://${server_ip}:3000 으로 접근하여 Grafana 대시보드가 표시 되는지 확인합니다.

대시보드 초기 로그인은 admin/admin 이며, 최초 로그인시 비밀번호를 변경하여야 합니다.

  • 만약 패스워드를 분실했을 경우 아래 명령어를 이용하여 변경하면 됩니다.
  grafana-cli admin reset-admin-password [변경할 패스워드]

마무리

Prometheus 와 Grafana 설치 작업이 완료했습니다.

이제 각 서버별로 소프트웨어에 맞는 Exporter를 설치 및 설정하여 Grafana 대시보드에 연결을 진행하려고 합니다.

소프트웨어별 설치 및 설정 방법은 다음 순서대로 진행합니다.

  1. Redis
  2. RabbitMQ
  3. MariaDB
  4. Nginx
  5. Node, PM2
  6. 서버별 자원 리소스 수집

참고

0개의 댓글