
비즈니스나 조직에서 관리하는 기기, 서버, 서비스의 수가 늘어날수록 시스템 모니터링의 중요성도 함께 커집니다. 온프레미스든 클라우드든, 시스템 모니터링은 호스트와 애플리케이션의 용량, 활동 상태, 전반적인 건강 상태를 다룹니다. 이러한 프로세스는 모든 컴퓨팅 자원을 포괄하여 문제가 발생하기 전에 실시간으로 파악하고 대응할 수 있도록 설계되었습니다.
우분투(Ubuntu)를 사용하고 있다면, 시스템 모니터링 도구를 통해 서비스 장애나 오류가 사용자에게 영향을 미치기 전에 미리 발견할 수 있습니다.
가장 기본적인 도구는 리눅스에 내장된 '시스템 모니터(System Monitor)'입니다. 윈도우의 작업 관리자와 유사한 역할을 하며, 실행 중인 프로세스부터 가장 많은 자원을 소모하는 항목까지 기본적인 활동 정보를 제공합니다.
하지만 메모리, CPU, 디스크, 네트워크 연결 등 더 상세한 자원 사용 정보를 보여주는 고급 시스템 모니터링 도구도 있습니다.
여기서 우분투와 함께 사용할 수 있는 세 가지 도구를 소개합니다.
1. Nagios

Nagios는 우분투용 시스템 모니터링 도구로, 서버와 워크스테이션 전반을 완벽하게 모니터링할 수 있습니다. 서비스 및 프로세스 상태, 운영체제 지표, 파일 시스템 사용량 등이 여기에 포함됩니다.
설정이 다소 복잡하지만 강력하고 확장 가능하며 안정적이고 커스터마이징이 용이한 소프트웨어입니다. 시스템 및 네트워크 모니터링 분야의 오랜 표준으로 자리 잡은 Nagios는 프로토콜 오류와 네트워크 장애의 신속한 감지, 서비스·서버·애플리케이션 가용성 향상 등 큰 이점을 제공합니다.
시스템 모니터링용 솔루션은 Nagios Core와 Nagios XI 두 가지가 있습니다.
Nagios Core

Nagios Core는 무료 오픈소스 버전으로, 서버, 애플리케이션, 서비스를 모니터링합니다. 네트워크 맵이 포함된 기본 사용자 인터페이스, SMS 및 이메일 알림, 기본 보고서 등의 기능을 갖추고 있습니다.
Nagios Core는 시스템 지표, 서버, 애플리케이션, 서비스, 네트워크 프로토콜 등 핵심 IT 인프라 구성 요소를 모니터링하며, 중요 구성 요소에 장애가 발생하거나 복구되면 SMS, 이메일 또는 사용자 정의 스크립트를 통해 알림을 보내 관리자가 중요한 이벤트를 놓치지 않도록 합니다.
또한 이벤트, 장애, 알림 및 경고 대응에 대한 기록을 담은 보고서를 제공해 나중에 검토할 수 있으며, 고급 그래프를 통해 낡은 시스템이 문제를 일으키기 전에 업그레이드를 계획할 수 있습니다.
웹 인터페이스, 멀티 테넌트 기능, 사내 또는 서드파티 앱과의 통합을 통한 확장 가능한 아키텍처, 커뮤니티 개발 애드온 등 뛰어난 기능을 갖춘 강력한 오픈소스 선택지입니다.
처음에는 학습 곡선이 있을 수 있지만, 도움이 필요할 때 활발한 커뮤니티의 지원을 받을 수 있습니다.
Nagios XI

Nagios XI는 더 풍부한 기능과 자동화된 설정 지원을 제공하는 상용 버전입니다.
Core에서 제공하는 기능 외에도 최고 수준의 서버 성능 모니터링을 실현하는 강력한 Nagios Core 4 모니터링 엔진이 탑재되어 있습니다.
또한 사용자가 기기, 서비스, 애플리케이션 모니터링을 단계별로 진행할 수 있도록 돕는 설정 마법사와, 최근 설정을 저장했다가 필요할 때 되돌릴 수 있는 설정 스냅샷 기능도 포함되어 있습니다.
업데이트된 GUI를 통해 사용자별로 디자인, 레이아웃, 환경설정을 개인화할 수 있어 고객과 팀에게 원하는 유연성을 제공합니다. 사용자 정의 역할 할당 기능도 있어 안전한 운영 환경을 보장합니다.
Nagios의 장점
- 사용이 쉽습니다
- 무료 버전과 프리미엄 버전(60일 체험판 제공)을 선택할 수 있습니다
- 핵심 인프라 구성 요소 전반을 모니터링하는 종합적인 IT 인프라 모니터링을 제공합니다
- 여러 사용자가 웹 인터페이스에 접속해 관련 인프라 상태를 확인할 수 있습니다
- 몇 번의 클릭만으로 빠르게 설정할 수 있습니다
- 사용자 계정 설정과 관리가 간편합니다
- 애드온을 통해 아키텍처를 확장할 수 있습니다
2. Glances

Glances는 GNU/Linux, macOS, Windows, BSD 운영체제에서 실행되는 크로스 플랫폼 데이터센터 모니터링 도구입니다. Python 언어로 작성되었으며 psutil 라이브러리를 통해 시스템 정보를 가져와 필요한 정보를 한눈에 보여줍니다.
Glances를 사용하면 로드 애버리지(load average), CPU, 메모리, 디스크 I/O, 네트워크 인터페이스, 마운트된 장치, 파일 시스템 공간 사용률, 그리고 모든 활성 프로세스와 상위 프로세스를 모니터링할 수 있습니다.
주요 기능 중 하나는 설정 파일에서 임계값(threshold)을 지정할 수 있다는 점입니다. 네 가지 상태가 서로 다른 색상으로 표시되어 시스템의 병목 상태를 직관적으로 알려줍니다. OK(녹색), 주의(파란색), 경고(보라색), 위험(빨간색)입니다.
임계값은 주의 50, 경고 70, 위험 90으로 기본 설정되어 있으며, "/etc/glances/" 디렉터리의 "glances.conf" 파일을 수정해 사용자 정의할 수 있습니다.

CPU 평균 부하, 디스크 I/O 읽기/쓰기 속도, 마운트된 장치의 현재 디스크 사용량, CPU/메모리 사용량을 포함한 상위 프로세스 등 중요 정보를 한 화면에서 확인할 수 있습니다.
다만 이렇게 많은 정보를 처리하는 만큼 Glances는 상당한 CPU 자원을 소모하는 편이라는 단점이 있습니다.
Glances 사용에 도움이 필요하다면 공식 웹사이트의 위키를 참고할 수 있으며, Twitter, 개발자 채팅, 사용자 그룹을 통해 다른 개발자 및 사용자와 교류할 수도 있습니다.
Glances의 장점
- 우분투 저장소에서 바로 설치할 수 있어 설치가 간편합니다
- 다른 모니터링 도구보다 더 많은 정보를 표시합니다
- 웹 기반 GUI로 유연한 모니터링이 가능합니다
- 원격 시스템도 모니터링할 수 있습니다
3. htop

htop은 실시간으로 시스템 모니터링을 수행하는 대화형 프로세스 뷰어이자 텍스트 모드 애플리케이션입니다. 실행 중인 프로세스와 그 사용량을 한눈에 파악할 수 있어 시스템 오작동을 방지하는 데 유용합니다.
이 도구는 'ncurses' 기반으로 마우스 조작을 지원합니다. 다른 도구와 마찬가지로 htop도 색상을 활용해 메모리, 프로세서, 스왑 사용량을 시각적으로 표시합니다.
두 개의 열로 구성된 유연하고 깔끔하며 설정이 쉬운 요약 섹션에서 시스템 정보를 확인할 수 있습니다. 다만 유휴(idle), 사용자(user), 시스템(system) 시간별 CPU 비율 같은 일부 정보는 제공되지 않을 수 있습니다.
기능 키를 사용해 요약 섹션을 구성하고 어느 열에든 데이터 표시 목록을 추가할 수 있습니다. 메모리/CPU 사용량, PID, 사용자 등의 기준으로 정렬할 수 있는 프로세스 섹션도 있습니다.
참고: htop은 버전 2.0부터 크로스 플랫폼을 지원하며 Linux, BSD, macOS에서 사용할 수 있습니다.
htop의 장점
- 깔끔하고 읽기 쉬운 요약 섹션
- 사용자별 개별 설정 파일 제공
- 설정 파일에 변경 사항 자동 저장
우분투에서 어떤 시스템 모니터링 도구를 사용하고 계신가요? 아래 댓글로 의견을 남겨주세요.
이미지 출처: Glances Github, Nagios, Hisham