[DevOps] 시스템 모니터링(System Monitoring)의 개념 및 오픈소스 솔루션 비교 (nmon / Zabbix / Prometheus)
[DevOps] 시스템 모니터링(System Monitoring)의 개념 및 오픈소스 솔루션 비교 (nmon / Zabbix / Prometheus)
안녕하세요 가야태자 @talkit 입니다.
요즘 저와 함께 APM, CI/CD 등을 다루고 있는데요. 여기서 또 중요한 부분이 시스템 모니터링 입니다.
그래서 이번에는 시스템 모니터링의 개념과 대표적인 오픈소스 시스템 모니터링 툴들을 알아보겠습니다.
1. 시스템 모니터링(System Monitoring)이란 무엇인가요?
앞서 다룬 APM(Application Performance Monitoring)이 '애플리케이션 내부의 코드나 DB 쿼리' 같은 소프트웨어 관점의 건강을 체크했다면, 시스템 모니터링은 그 기반이 되는 '하드웨어와 OS(운영체제) 인프라의 건강 상태'를 감시하는 것입니다.
쉽게 비유하자면 APM이 자동차 엔진 내부의 연료 연비와 부품 마찰을 체크하는 것이라면, 시스템 모니터링은 자동차의 남은 연료량, 냉각수 온도, 타이어 마모 상태 등 차량 자체의 뼈대를 확인하는 것과 같습니다. 아무리 소프트웨어가 완벽해도 하드웨어가 멈추면 소용이 없기 때문입니다.
📌 시스템 모니터링의 핵심 4대 메트릭
CPU 사용량 (CPU Usage): 연산 장치에 과부하가 걸리지 않았는가?
메모리 사용량 (Memory Usage): OOM(Out of Memory)으로 서버가 다운될 위험은 없는가?
디스크 I/O 및 잔여 용량 (Disk Storage): 로그 파일이 꽉 차서 시스템이 멈추지 않는가?
네트워크 트래픽 (Network Traffic): 대역폭을 초과하는 급격한 트래픽 유입이나 이상 징후가 있는가?
2. 대표적인 오픈소스 시스템 모니터링 툴 상세 분석
시스템 모니터링 환경과 운영 목적에 따라 선택할 수 있는 대표적인 오픈소스 도구 3가지를 자세히 알아보겠습니다.
① nmon (Nigel's Monitor)
설명: 원래 IBM AIX용으로 개발되었다가 리눅스로 확장된, 엔지니어들에게 오랜 시간 사랑받은 전통의 경량 툴입니다. 별도의 무거운 모니터링 서버를 구축할 필요 없이, 바이너리 하나만 실행하면 터미널 화면에서 즉시 시스템 상태를 확인할 수 있는 단독 실행형 도구입니다.
장점:
CPU 소모량이 1~2% 미만으로 극도로 가볍습니다.
터미널 창에서 단축키(
c: CPU,m: 메모리,d: 디스크)로 실시간 조회가 가능합니다.수집한 데이터를 파일(
.nmon)로 백업한 뒤, nmon Analyser(엑셀 매크로)를 활용하면 전문적인 그래프 보고서(Excel)를 무료로 쉽게 만들어낼 수 있습니다.
단점:
실시간으로 여러 대의 서버를 동시에 모니터링하는 중앙 집중형 화면이 없습니다.
장애 발생 시 이메일이나 슬랙 등으로 경고를 보내주는 알림(Alert) 기능이 기본적으로 없습니다.
② Zabbix (자빅스)
설명: 대규모 엔터프라이즈 환경을 타깃으로 하는 통합 인프라 모니터링 솔루션입니다. 중앙에 Zabbix 서버와 데이터베이스를 두고, 감시 대상 서버들에 에이전트(Agent)를 설치하여 데이터를 모으는 전통적인 중앙 집중식 구조입니다.
장점:
서버뿐만 아니라 네트워크 장비(스위치, 라우터), 스토리지, 가상화 환경까지 IT 인프라 전체를 하나의 툴로 커버합니다.
수많은 OS와 하드웨어 장비용 템플릿을 기본 제공하여 초기 연동이 체계적입니다.
자체 웹 콘솔에서 강력한 대시보드와 정교한 알림(Alert) 발송 규칙을 설정할 수 있습니다.
단점:
- 모니터링 시스템을 유지하기 위한 전용 서버 및 DB(MySQL, PostgreSQL 등)를 구축해야 하므로 초기 설치와 관리 오버헤드가 있습니다.
③ Prometheus + Grafana (프로메테우스 + 그라파나)
설명: 도커, 쿠버네티스 환경이 대세가 되면서 현재 클라우드 네이티브 진영의 사실상 업계 표준(De-facto)으로 자리 잡은 모니터링 조합입니다. 메트릭 데이터를 Pull(당겨오기) 방식으로 수집·저장하는 시계열 데이터베이스 Prometheus와, 이를 시각화하는 Grafana가 짝을 이룹니다.
장점:
쿠버네티스 등 동적으로 서버(컨테이너)가 생성되고 소멸하는 환경에 완벽하게 최적화되어 있습니다.
그라파나(Grafana)의 대시보드 UI가 매우 현대적이고 아름다우며, 전 세계 사용자들이 만든 템플릿을 쉽게 가져다 쓸 수 있습니다.
강력한 쿼리 언어(PromQL)를 지원하여 고차원적인 데이터 분석이 가능합니다.
단점:
- 기존 레거시 장비(SNMP 기반 네트워크 장비 등)를 모니터링하려면 별도의 익스포터(Exporter)를 일일이 세팅해야 해서 설정 난이도가 높은 편입니다.
3. 한눈에 보는 시스템 모니터링 툴 비교 표
앞서 살펴본 3가지 툴의 특징을 다음 챕터로 넘어가기 전, 한눈에 볼 수 있도록 요약 정리했습니다.
| 비교 항목 | nmon | Zabbix | Prometheus + Grafana |
|---|---|---|---|
| 적합한 환경 | 개별 서버 / 온프레미스 단독 분석 | 대규모 IDC 인프라 / 네트워크 장비 통합 | 클라우드 / 도커 및 쿠버네티스 (MSA) |
| 아키텍처 | 단독 실행형 (Agentless) | 중앙 서버 + 에이전트 구조 | Pull 방식 수집기 + 시각화 서버 조합 |
| 리소스 오버헤드 | 극도로 낮음 (CPU 1~2% 미만) | 중간 (자체 서버 및 DB 운영 필요) | 중간 (시계열 DB 및 컨테이너 리소스 필요) |
| 기본 인터페이스 | 터미널 UI (Curses 기반) | 웹 기반 전용 GUI 콘솔 | 화려하고 유연한 Grafana 웹 대시보드 |
| 알림(Alert) 시스템 | 없음 (순수 로깅 및 조회 목적) | 매우 강력 (이메일, 슬랙 등 기본 제공) | Alertmanager 패키지를 연동하여 강력하게 제어 |
| 주요 활용 팁 | 엑셀 보고서 추출용 가성비 분석 | 전통적인 기업형 인프라 중앙 관리 | 현대적인 데브옵스 파이프라인 연동 |
4. 소프트웨어 공식 다운로드 링크 안내
블로그 독자들이 필요한 툴을 바로 내려받아 테스트해 볼 수 있도록 공식 다운로드 페이지 링크를 공유합니다.
nmon 공식 다운로드 (SourceForge)
Tip: 리눅스 터미널에서 sudo apt install nmon 이나 yum install nmon으로도 쉽게 설치 가능합니다.
sudo apt install nmon``yum install nmon
Zabbix 공식 다운로드
Prometheus 공식 다운로드
Grafana 공식 다운로드
📚 시스템 모니터링 깊이 있게 공부하기 (추천 학습 링크)
시스템 모니터링과 인프라 관리에 대해 더 깊이 공부하고 싶으신 분들을 위해 신뢰할 수 있는 학습 가이드를 추천합니다.
구글 SRE Book (Site Reliability Engineering) - 한국어판
설명: 시스템 모니터링의 철학을 배울 수 있는 업계 바이블입니다. 4대 황금 신호(Latency, Traffic, Errors, Saturation)의 개념을 정립하는 데 큰 도움이 됩니다.
Prometheus 공식 학습 가이드
설명: 최신 모니터링의 대세인 시계열 데이터 수집과 PromQL(쿼리 언어)의 기초를 단계별로 실습할 수 있습니다.
IBM nmon Analyser 활용 가이드
설명: nmon으로 수집한 데이터를 가져와 멋진 엑셀 차트 보고서로 만드는 프로세스를 완벽하게 익힐 수 있는 가이드입니다.
구조가 훨씬 명확해져서 읽는 독자들이 개념을 잡고 툴을 선택하는 데 큰 도움이 될 것 같습니다. 발행 잘 하시고, 다음 주제인 CI/CD나 모니터링 실무 이야기 때 또 뵙겠습니다!

Upvoted! Thank you for supporting witness @jswit.