서론: Prometheus + Grafana란?
Prometheus와 Grafana는 오픈 소스 성능 모니터링 및 시각화 도구로, IT 인프라 및 애플리케이션 성능을 실시간으로 수집, 저장, 시각화, 경고 알림 등을 제공합니다.
- Prometheus: 시계열(Time-Series) 기반 모니터링 및 경고 시스템. 시스템 메트릭 수집 및 경고 규칙 정의.
- Grafana: 데이터 시각화 도구로, Prometheus 데이터를 차트 및 대시보드로 표시.
목차
- 프로젝트 개요 및 요구 사항
- Rocky Linux 시스템 준비 및 패키지 업데이트
- Prometheus 설치 및 구성
- Node Exporter 설치 (서버 메트릭 수집)
- Grafana 설치 및 구성
- Prometheus + Grafana 통합 설정
- Grafana 대시보드 생성 및 시각화
- 시스템 리부팅 시 서비스 자동 시작 설정
- 문제 해결 및 권장 사항
- 결론 및 추가 구성 요소 제안
1. 프로젝트 개요 및 요구 사항
1.1 프로젝트 목표
이 가이드는 Rocky Linux 운영 체제에서 Prometheus + Grafana 기반 성능 모니터링 대시보드를 구축하여 다음과 같은 시스템 성능을 모니터링합니다.
- CPU 사용률
- 메모리 사용률
- 디스크 사용량
- 네트워크 트래픽
- 서비스 상태
1.2 요구 사항
하드웨어 및 소프트웨어 요구 사항:
항목 | 요구 사항 |
---|---|
OS | Rocky Linux 8.x 이상 |
메모리(RAM) | 최소 2GB 이상 |
CPU | 최소 2코어 이상 |
디스크 공간(Disk) | 최소 20GB 이상 |
네트워크 연결 | 인터넷 연결 필수 |
필수 권한 및 도구:
- Root 권한 사용자
- 기본 Linux 명령어 지식
2. Rocky Linux 시스템 준비 및 패키지 업데이트
2.1 Rocky Linux 설치 준비 (가상머신/서버 설정)
- 가상머신 생성 (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 데이터 소스 추가
- Grafana 로그인
- Configuration → Data Sources 클릭
- Add Data Source 선택 후 Prometheus 선택
설정값 입력:
- URL:
http://<서버 IP>:9090
- 저장 및 테스트(Save & Test) 클릭
7. Grafana 대시보드 생성 및 시각화 설정
7.1 대시보드 생성
- Create → Dashboard → Add New Panel 선택
- 쿼리 설정:
- 메트릭 선택:
node_cpu_seconds_total
- 시각화 형식: 그래프, 게이지, 테이블 등 선택
- 메트릭 선택:
- 대시보드 저장(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 컨테이너 모니터링 통합
모니터링 시스템을 통한 서버 성능 최적화를 시작하세요! 🚀