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



서론: Prometheus + Grafana란?

PrometheusGrafana오픈 소스 성능 모니터링 및 시각화 도구로, IT 인프라 및 애플리케이션 성능을 실시간으로 수집, 저장, 시각화, 경고 알림 등을 제공합니다.

  • Prometheus: 시계열(Time-Series) 기반 모니터링 및 경고 시스템. 시스템 메트릭 수집 및 경고 규칙 정의.
  • Grafana: 데이터 시각화 도구로, Prometheus 데이터를 차트 및 대시보드로 표시.


목차

  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 이상
네트워크 연결인터넷 연결 필수

필수 권한 및 도구:

  • Root 권한 사용자
  • 기본 Linux 명령어 지식


2. Rocky Linux 시스템 준비 및 패키지 업데이트

2.1 Rocky Linux 설치 준비 (가상머신/서버 설정)

  1. 가상머신 생성 (VMware/VirtualBox/KVM):
    • OS: Rocky Linux 8.x 이상
    • 메모리: 2GB 이상
    • 디스크 공간: 20GB 이상
    • 네트워크 설정: NAT 또는 브리지 모드

2.2 시스템 업데이트 및 필수 패키지 설치

<bash>

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

# 필수 도구 설치
sudo dnf install -y wget curl vim bash-completion


3. Prometheus 설치 및 구성

3.1 Prometheus 설치 파일 다운로드

<bash>

# 작업 디렉토리 이동
cd /opt

# Prometheus 최신 버전 다운로드 (공식 GitHub)
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

3.4 브라우저 접속 확인

<plaintext>

http://<서버 IP>:9090

메인 화면: Prometheus UI가 표시되면 설치가 성공적으로 완료된 것입니다.



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

4.1 Node Exporter 설치

<bash>

# 작업 디렉토리 이동
cd /opt

# Node Exporter 다운로드
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

4.3 Node Exporter 상태 확인

<plaintext>

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


5. Grafana 설치 및 구성

5.1 Grafana 설치 리포지토리 추가

<bash>

# 리포지토리 구성 추가
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 로그인
  2. Configuration → Data Sources 클릭
  3. Add Data Source 선택 후 Prometheus 선택

설정값 입력:

  • URL: http://<서버 IP>:9090
  • 저장 및 테스트(Save & Test) 클릭


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

7.1 대시보드 생성

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


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. 결론 및 추가 구성 요소 제안

이 가이드를 통해 Prometheus + Grafana 기반 성능 모니터링 대시보드Rocky Linux에 설치하고 구성했습니다. CPU, 메모리, 디스크 사용량, 네트워크 트래픽 등을 실시간으로 시각화 및 경고 알림 설정이 가능합니다.


📌 추가 권장 사항:

  • Alertmanager 설정
  • PostgreSQL/MySQL 모니터링 추가
  • Docker 컨테이너 모니터링 통합

모니터링 시스템을 통한 서버 성능 최적화를 시작하세요! 🚀


2930 Blog에서 더 알아보기

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