Prometheus + Grafana 기반 성능 모니터링 대시보드 구축 가이드 (Rocky Linux 가상머신 기준)



서론

PrometheusGrafana오픈 소스 성능 모니터링 및 시각화 도구로, 시스템 및 애플리케이션 성능을 실시간으로 수집하고 시각화하는 데 사용됩니다.

이 가이드에서는 **Rocky Linux 가상머신(VM)**을 모니터링 서버로 설정하여 Prometheus + Grafana 모니터링 대시보드를 설치하고 구성하는 방법을 단계별로 상세히 설명합니다.


목차

  1. 프로젝트 개요 및 요구 사항
  2. Rocky Linux 가상머신 설치 및 기본 설정
  3. Prometheus 설치 및 구성
  4. Node Exporter 설치 (서버 메트릭 수집)
  5. Grafana 설치 및 구성
  6. Prometheus + Grafana 통합
  7. Grafana 대시보드 생성 및 시각화 설정
  8. 시스템 리부팅 후 서비스 자동 시작 설정
  9. 문제 해결 및 권장 사항
  10. 결론 및 추가 구성 요소 제안


1. 프로젝트 개요 및 요구 사항

1.1 프로젝트 개요

목표:

  • Rocky Linux 가상머신Prometheus + Grafana 설치.
  • 시스템 성능 메트릭(예: CPU, 메모리, 디스크, 네트워크 등)을 수집하고 시각화.
  • 모니터링 대시보드 구축으로 성능 이상을 조기에 감지.

1.2 요구 사항

하드웨어 및 소프트웨어 요구 사항:

항목요구 사항
OSRocky Linux 8.x 이상
메모리(RAM)최소 2GB 이상
CPU최소 2코어 이상
디스크 공간(Disk)최소 20GB 이상
네트워크 연결인터넷 연결 필수

필수 구성 요소:

  • Rocky Linux 가상머신(VM) 설치 완료
  • root 또는 sudo 사용자 권한


2. Rocky Linux 가상머신 설치 및 기본 설정

2.1 가상머신 생성 (VMware / VirtualBox / KVM)

  1. 가상머신 생성:
    • 가상머신 이름: monitoring-server
    • OS: Rocky Linux 8.x 이상
    • 메모리: 최소 2GB
    • 디스크 크기: 최소 20GB
    • 네트워크 설정: NAT 또는 브리지 모드

2.2 Rocky Linux 설치

  1. ISO 파일 다운로드:
  2. VM 부팅 후 설치 진행:
    • 언어 선택: 한국어 또는 English
    • 네트워크 설정: 고정 IP 또는 DHCP 설정
    • 패키지 선택: Minimal Install 또는 Server with GUI 선택

2.3 기본 시스템 업데이트 및 패키지 설치

<bash>


# 시스템 업데이트
sudo dnf update -y

# 필수 패키지 설치
sudo dnf install -y wget curl vim bash-completion


3. Prometheus 설치 및 구성

3.1 Prometheus 설치 파일 다운로드

<bash>

# 다운로드 폴더로 이동
cd /opt

# Prometheus 다운로드 (최신 버전 확인)
sudo wget https://github.com/prometheus/prometheus/releases/download/v2.46.0/prometheus-2.46.0.linux-amd64.tar.gz

# 압축 해제
sudo tar -xvf prometheus-2.46.0.linux-amd64.tar.gz

# 디렉토리 이동
cd prometheus-2.46.0.linux-amd64

3.2 Prometheus 설정 파일 수정

<bash>

sudo vi prometheus.yml

수정 내용:

<yaml>

# 기본 설정 파일 예시
global:
  scrape_interval: 15s # 데이터 수집 주기

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100']

3.3 Prometheus 실행

<bash>

# Prometheus 실행
./prometheus --config.file=prometheus.yml

브라우저 확인:

<plaintext>

http://<서버 IP>:9090


4. Node Exporter 설치 (서버 메트릭 수집)

4.1 Node Exporter 설치

<bash>

# 다운로드 및 압축 해제
cd /opt
sudo wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz
sudo tar -xvf node_exporter-1.5.0.linux-amd64.tar.gz

# 디렉토리 이동
cd node_exporter-1.5.0.linux-amd64

4.2 Node Exporter 실행

<bash>

# Node Exporter 실행
./node_exporter

브라우저 확인:

<plaintext>

http://<서버 IP>:9100/metrics


5. Grafana 설치 및 구성

5.1 Grafana 설치 (리포지토리 추가)

<bash>

# Grafana 리포지토리 추가
sudo tee /etc/yum.repos.d/grafana.repo <<EOF
[grafana]
name=Grafana Repository
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
EOF

5.2 Grafana 설치 및 서비스 시작

<bash>

# Grafana 설치
sudo dnf install -y grafana

# Grafana 서비스 시작 및 자동 시작 등록
sudo systemctl start grafana-server
sudo systemctl enable grafana-server

5.3 브라우저 접속

<plaintext>

http://<서버 IP>:3000
  • 기본 로그인 정보:
    • 사용자: admin
    • 비밀번호: admin


6. Prometheus + Grafana 통합 설정

6.1 Grafana 데이터 소스 설정

  1. Grafana 로그인데이터 소스 추가:
    • Configuration → Data Sources 선택
    • Prometheus 선택 후 설정:
      • URL: http://<서버 IP>:9090
      • 저장 및 테스트(Save & Test) 클릭


7. Grafana 대시보드 생성 및 시각화 설정

  1. 대시보드 생성:
    • Create → Dashboard → Add New Panel 선택
  2. 쿼리 설정:
    • 메트릭 선택: node_cpu_seconds_total
    • 시각화 형식: 그래프, 게이지, 테이블 등 선택


8. 시스템 리부팅 후 서비스 자동 시작 설정

<bash>

sudo systemctl enable prometheus
sudo systemctl enable grafana-server


9. 문제 해결 및 권장 사항

  • 방화벽 설정:
<bash>

sudo firewall-cmd --permanent --add-port=9090/tcp
sudo firewall-cmd --permanent --add-port=9100/tcp
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
  • 시스템 리소스 점검: 메모리 및 디스크 사용률 확인.


10. 결론 및 추가 구성 요소 제안

이 가이드를 통해 Rocky Linux 가상머신에서 Prometheus + Grafana 모니터링 대시보드 설치와 설정을 완료했습니다. 이제 서버 및 애플리케이션 상태를 실시간 모니터링하고, 경고 알림(Alert) 설정을 통해 장애 대응 시간을 줄일 수 있습니다.

🚀 추가 권장 사항:

  • Alertmanager 설정
  • 데이터베이스 모니터링 (PostgreSQL, MySQL 등)
  • Docker 컨테이너 모니터링
  • 프로덕션 환경 배포 준비.

성공적인 시스템 모니터링 구축을 기원합니다! 🎯


2930 Blog에서 더 알아보기

구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.