첫 번째 Linux 서버 모니터링 및 관찰: Prometheus와 Grafana 초보자 가이드
Source: Dev.to
리눅스 서버 안에서 실제로 무슨 일이 일어나고 있는지 궁금해 본 적 있나요?
DevOps 엔지니어(또는 입문자)라면 곧 “그냥 명령어만 실행하는” 단계에서 벗어나 인프라를 실제로 관찰하게 될 것입니다. 이 가이드는 Prometheus와 Grafana를 사용해 간단한 관측 스택을 구축하는 방법을 안내합니다—즉, “리눅스 헬스 센티넬”.
Source: …
🔍 모니터링 vs. 관측성
| 개념 | 알려주는 내용 |
|---|---|
| 모니터링 | 시스템이 정상 작동하고 있는가? (예: “CPU 사용률이 80% 초과인가?”) |
| 관측성 | 왜 그렇게 동작하는가? – 시스템이 내보내는 데이터(“신호”)를 살펴봄. |
관측성은 도구가 아니라 시스템이다:
센서 → 데이터 파이프라인 → 대시보드
관측성의 4단계
- 계측 (센서) – 인프라/앱에서 신호를 내보내는 도구.
- 수집 (파이프라인) – 수집기가 데이터를 정리하고, 라벨을 붙이며, 라우팅한다.
- 저장 (라이브러리) – 메트릭, 로그, 트레이스가 최적화된 데이터베이스에 저장된다.
- 시각화 및 알림 – 대시보드와 알림이 데이터를 행동으로 전환한다.
🎯 Project Goal
Ubuntu VM의 실시간 CPU, 메모리 및 디스크 상태를 업계 표준인 Prometheus + Grafana 스택을 사용해 시각화합니다.
🛠️ 기술 스택
| 역할 | 도구 |
|---|---|
| Target (VM) | Node Exporter – “스파이/센서” 역할을 하며 하드웨어 통계를 수집 |
| Control Center (Laptop) | Prometheus – “두뇌 & 저장소” (시계열 DB) |
| Face | Grafana – 원시 데이터를 아름다운 대시보드로 변환 |
🚀 단계별 구현
Step 1 – Target 설정 (VirtualBox VM)
-
네트워크 설정 (핵심)
- VirtualBox에서: Settings → Network
- Attached to 를 NAT 에서 Bridged Adapter 로 변경합니다.
- 왜? VM에 가정용 네트워크의 IP가 할당되어 노트북에서 접근할 수 있게 됩니다.
-
VM을 시작하고 IP 주소를 확인합니다:
hostname -IIP가
192.168.1.50이라고 가정합니다. -
“스파이”(Node Exporter) 설치
sudo apt update sudo apt install prometheus-node-exporter -y -
검증
노트북에서 브라우저를 열고http://192.168.1.50:9100/metrics로 이동합니다.
텍스트가 많이 표시되면 exporter가 정상적으로 실행된 것입니다.
Step 2 – Control Center 설정 (노트북)
-
Prometheus 설치
sudo apt update sudo apt install prometheus -y -
VM을 스크랩하도록 Prometheus 구성
sudo nano /etc/prometheus/prometheus.ymlscrape_configs리스트 끝에 다음 작업을 추가합니다:- job_name: 'ubuntu_vm' static_configs: - targets: ['192.168.1.50:9100']저장 후 종료 (
Ctrl+O,Enter,Ctrl+X). -
Prometheus 재시작
sudo systemctl restart prometheus
Step 3 – Grafana로 시각화
-
Grafana 설치
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/grafana.gpg > /dev/null sudo apt update && sudo apt install grafana -y sudo systemctl enable --now grafana-server -
Grafana 접속
브라우저에서http://localhost:3000을 엽니다.
기본 자격 증명: admin / admin (비밀번호 변경을 요구받을 것입니다). -
Prometheus를 데이터 소스로 추가
- Connections → Data Sources → Add Data Source
- Prometheus 선택
- URL:
http://localhost:9090 - Save & Test 클릭

-
Node Exporter 대시보드 가져오기
- 오른쪽 상단 + → Import 클릭
- Dashboard ID: 1860 (공식 Node Exporter 대시보드)
- 방금 추가한 Prometheus 데이터 소스를 선택하고 Import 클릭

💡 결과
단일 Ubuntu VM, Prometheus, 그리고 Grafana만으로 이제 실제 관측 파이프라인을 갖게 되었습니다:
- CPU, 메모리, 디스크 메트릭은 Node Exporter에 의해 수집됩니다.
- Prometheus가 해당 메트릭을 스크랩하고 저장합니다.
- Grafana가 실시간으로 시각화하여 알림 설정이나 심층 분석에 바로 사용할 수 있습니다.
‘명령어를 실행하는’ 단계에서 보는 단계로 전환했습니다—바로 프로덕션 모니터링이 어떤 모습인지 보여줍니다! 🎉
# Observability Foundations
Works in professional environments.
This small project is the foundation of modern DevOps observability. From here, you can explore:
- **Alerting with Alertmanager**
- **Container monitoring**
- **Kubernetes observability**
- **Logs and distributed tracing**
Observability isn’t just about dashboards; it’s about understanding your systems deeply.