서론
Prometheus와 Grafana는 오픈 소스 성능 모니터링 및 시각화 도구로, 시스템 및 애플리케이션 성능을 실시간으로 수집하고 시각화하는 데 사용됩니다.
이 가이드에서는 **Rocky Linux 가상머신(VM)**을 모니터링 서버로 설정하여 Prometheus + Grafana 모니터링 대시보드를 설치하고 구성하는 방법을 단계별로 상세히 설명합니다.
목차
- 프로젝트 개요 및 요구 사항
- 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 이상 |
네트워크 연결 | 인터넷 연결 필수 |
필수 구성 요소:
- Rocky Linux 가상머신(VM) 설치 완료
- root 또는 sudo 사용자 권한
2. Rocky Linux 가상머신 설치 및 기본 설정
2.1 가상머신 생성 (VMware / VirtualBox / KVM)
- 가상머신 생성:
- 가상머신 이름:
monitoring-server
- OS: Rocky Linux 8.x 이상
- 메모리: 최소 2GB
- 디스크 크기: 최소 20GB
- 네트워크 설정: NAT 또는 브리지 모드
- 가상머신 이름:
2.2 Rocky Linux 설치
- ISO 파일 다운로드:
- Rocky Linux 공식 사이트에서 ISO 파일 다운로드
- 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 데이터 소스 설정
- Grafana 로그인 후 데이터 소스 추가:
- Configuration → Data Sources 선택
- Prometheus 선택 후 설정:
- URL:
http://<서버 IP>:9090
- 저장 및 테스트(Save & Test) 클릭
- URL:
7. Grafana 대시보드 생성 및 시각화 설정
- 대시보드 생성:
- Create → Dashboard → Add New Panel 선택
- 쿼리 설정:
- 메트릭 선택:
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 컨테이너 모니터링
- 프로덕션 환경 배포 준비.
성공적인 시스템 모니터링 구축을 기원합니다! 🎯