서버 관리 · 6 min read · Nov 01, 2025
Debian 9에 Monit 설치 및 구성하는 방법
Monit은 웹 브라우저와 명령줄을 사용하여 시스템 프로세스를 모니터링하는 데 사용할 수 있는 무료 오픈 소스 프로세스 모니터링 도구입니다. 또한 파일, 디렉터리 및 장치의 크기 변경 및 권한 변경을 모니터링하는 데 사용됩니다. Monit은 특정 프로세스가 중단되면 자동으로 복구합니다. Monit은 또한 Linux 기반 시스템에서 Apache, Sendmail, Nginx, FTP, SSH 및 MySQL과 같은 거의 모든 서비스를 모니터링할 수 있습니다. Monit을 사용하여 원격 호스트의 TCP/IP 포트, 프로토콜 및 핑을 모니터링할 수 있습니다. Monit은 높은 리소스를 사용하는 특정 프로세스를 중지할 수 있는 기능이 있습니다. Monit은 서버를 감시하고 모든 중요한 오류 조건 및 복구 상태에 대한 경고를 보냅니다.
기능
- 특정 프로세스를 자동으로 시작, 중지 및 종료합니다.
- 상태 모니터링을 위한 사용자 친화적인 웹 인터페이스.
- 중요한 조건에 대해 이메일로 알림.
- 시스템 부하, CPU 사용량, RAM 사용량, 디스크, 파일 크기 변경, 권한 변경 등을 확인합니다.
- HTTP, FTP, SSH, POP, IMAP, LDAP, IMAP 및 SMTM과 같은 다양한 프로토콜을 모니터링합니다.
- syslog 또는 자체 로그 파일을 통한 로깅.
이 튜토리얼에서는 Debian 9에서 Monit을 설정하고 사용하는 방법을 설명합니다.
요구 사항
- 시스템에 설치된 새로운 Debian 9 서버.
- 서버에 root 비밀번호가 설정되어 있습니다.
1. 시스템 업데이트
시스템을 최신 안정 버전으로 업데이트하는 것으로 시작하겠습니다. 다음 명령어로 업데이트할 수 있습니다:
apt-get update -y
apt-get upgrade -y시스템이 업데이트되면 다음 명령어로 이러한 변경 사항을 적용하기 위해 시스템을 재부팅합니다:
reboot재부팅 후 root 사용자로 로그인하고 다음 단계로 진행합니다.
2. Monit 설치
기본적으로 Monit은 Ubuntu 저장소에서 사용할 수 있습니다. 다음 명령어를 실행하여 쉽게 설치할 수 있습니다:
apt-get install monit -yMonit이 설치되면 Monit 서비스를 시작하고 부팅 시 시작되도록 활성화하려면 다음 명령어를 실행합니다:
systemctl start monit
systemctl enable monit다음 명령어를 실행하여 언제든지 Monit 서비스의 상태를 확인할 수 있습니다:
systemctl status monit3. Monit 구성
Monit의 기본 구성 파일인 monitrc는 /etc/monit/ 디렉터리에 위치하며, 다른 프로세스 및 서버 특정 구성 파일은 /etc/monit/conf-available/ 디렉터리에 위치합니다. Monit은 내장된 웹 인터페이스를 제공하지만 기본적으로 비활성화되어 있습니다. 다음과 같이 /etc/monit/monitrc 파일을 편집하여 활성화할 수 있습니다:
nano /etc/monit/monitrc다음 줄을 변경합니다:
# set httpd port 2812 and
# use address localhost # only accept connection from localhost
# allow localhost # allow localhost to connect to the server and
# allow admin:monit # require user 'admin' with password 'monit'다음으로 변경합니다:
set httpd port 2812 and
allow admin:monit # require user 'admin' with password 'monit'작업이 완료되면 파일을 저장하고 닫은 다음 다음 명령어로 Monit 서비스를 재시작하여 이러한 변경 사항을 적용합니다:
systemctl restart monit다음 명령어로 Monit 서비스 상태를 확인할 수 있습니다:
netstat -ant | grep :2812다음과 같은 출력을 볼 수 있어야 합니다:
tcp 0 0 0.0.0.0:2812 0.0.0.0:* LISTEN 1615/monit
tcp6 0 0 :::2812 :::* LISTEN 1615/monit4. Monit 웹 인터페이스 접근
URL http://192.168.0.227:2812를 사용하여 Monit 웹 인터페이스에 접근할 수 있으며, 사용자 이름 admin과 비밀번호 monit를 입력합니다. 다음과 같은 Monit 대시보드를 볼 수 있어야 합니다:

다음 명령어로 Minit의 상태를 확인할 수 있습니다:
monit status다음과 같은 출력을 볼 수 있어야 합니다:
System 'localhost'
status Running
monitoring status Monitored
load average [0.68] [0.78] [0.45]
cpu 0.0%us 0.0%sy 0.0%wa
memory usage 294.1 MB [14.7%]
swap usage 0 B [0.0%]
data collected Mon, 07 Aug 2017 20:12:36작업이 완료되면 다음 단계로 진행할 수 있습니다.
5. 모니터링 서비스 추가
Monit 웹 인터페이스가 구성되면 모니터링할 서비스를 추가해야 합니다.
여기에서는 Apache, Proftpd 및 Rsyslog와 같은 서비스를 모니터링하는 예를 제공합니다.
Apache 서비스에 대한 Monit 구성
기본적으로 Monit은 일부 프로세스 및 서비스에 대한 미리 정의된 템플릿을 제공합니다. 이러한 템플릿은 /etc/monit/conf-available/ 디렉터리에서 찾을 수 있습니다. Apache에 대한 기본 템플릿이 Monit에 제공되므로 이를 활성화하기만 하면 됩니다. 다음 명령어를 실행하여 활성화할 수 있습니다:
ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/다음으로, 다음 명령어로 Monit 서비스를 재시작하여 이러한 변경 사항을 적용합니다:
systemctl restart monitRsyslog 서비스에 대한 Monit 구성
먼저, 다음 명령어로 Rsyslog 템플릿을 활성화합니다:
ln -s /etc/monit/conf-available/rsyslog /etc/monit/conf-enabled/다음으로, 다음 명령어로 Monit 서비스를 재시작하여 이러한 변경 사항을 적용합니다:
systemctl restart monitProftpd 서비스에 대한 Monit 구성
Proftpd에 대한 템플릿은 Monit에 제공되지 않습니다. 따라서 Proftpd에 대한 구성 파일을 생성해야 합니다. 다음과 같이 /etc/monit/conf-available/ 디렉터리에 proftpd 파일을 생성하여 수행할 수 있습니다:
nano /etc/monit/conf-available/proftpd다음 줄을 추가합니다:
check process proftpd with pidfile /var/run/proftpd.pid
start program = "/etc/init.d/proftpd start"
stop program = "/etc/init.d/proftpd stop"
if failed port 21 protocol ftp then restart작업이 완료되면 파일을 저장하고 닫은 다음, 다음 명령어로 구성 파일을 활성화합니다:
ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled다음으로, 다음 명령어로 구문 오류가 있는지 구성 파일을 확인합니다:
monit -t마지막으로, 다음 명령어로 Monit 서비스를 재시작하여 이러한 변경 사항을 적용합니다:
systemctl restart monit필요한 모든 서비스를 구성한 후, 웹 인터페이스에 접근하여 모든 서비스를 모니터링할 수 있습니다:

다음으로, Apache 서비스를 클릭하여 Apache에 대한 자세한 정보를 확인합니다:

6. 명령줄을 통한 Monit 모니터링
명령줄에서 Monit을 모니터링할 수도 있습니다. 다음 명령어를 실행하여 Monit의 간단한 요약을 볼 수 있습니다:
monit summary다음과 같은 출력을 볼 수 있어야 합니다:
The Monit daemon 5.16 uptime: 0m
Process 'rsyslogd' Initializing - start pending
File 'rsyslogd_bin' Accessible
File 'rsyslogd_rc' Accessible
File 'rsyslog_file' Does not exist
Process 'proftpd' Running
Process 'apache' Execution failed
File 'apache_bin' Accessible
File 'apache_rc' Accessible
System 'localhost' Running다음 명령어로 모든 서비스의 상태를 볼 수 있습니다:
monit status다음과 같은 출력을 볼 수 있어야 합니다:
The Monit daemon 5.16 uptime: 0m
Process 'rsyslogd'
status Initializing - start pending
monitoring status Initializing
data collected Mon, 07 Aug 2017 20:41:18
File 'rsyslogd_bin'
status Accessible
monitoring status Monitored
permission 755
uid 0
gid 0
size 585.3 kB
timestamp Tue, 25 Oct 2016 11:38:40
checksum d71f3d1c58df065e3aac1e2c566a6436 (MD5)
data collected Mon, 07 Aug 2017 20:41:18
File 'rsyslogd_rc'
status Accessible
monitoring status Monitored
permission 755
uid 0
gid 0
size 2.7 kB
timestamp Tue, 25 Oct 2016 11:48:29
checksum a1ef1bb01ba370040d705c92fc09e92e (MD5)
data collected Mon, 07 Aug 2017 20:41:18
File 'rsyslog_file'
status Does not exist
monitoring status Monitored
data collected Mon, 07 Aug 2017 20:41:18
Process 'proftpd'
status Running
monitoring status Monitored
pid 4915
parent pid 1
uid 0
effective uid 119
gid 65534
uptime 3m
threads 1
children 0
memory 3.6 MB
memory total 3.6 MB
memory percent 0.2%
memory percent total 0.2%
cpu percent 0.0%
cpu percent total 0.0%
port response time 10.737 ms to [localhost]:21 type TCP/IP protocol FTP
data collected Mon, 07 Aug 2017 20:41:18
Process 'apache'
status Execution failed
monitoring status Monitored
data collected Mon, 07 Aug 2017 20:41:48
File 'apache_bin'
status Accessible
monitoring status Monitored
permission 755
uid 0
gid 0
size 647.0 kB
timestamp Sat, 29 Jul 2017 22:19:09
checksum ef2a678bdcd791948ceabc3013d9a2c0 (MD5)
data collected Mon, 07 Aug 2017 20:41:18
File 'apache_rc'
status Accessible
monitoring status Monitored
permission 755
uid 0
gid 0
size 7.9 kB
timestamp Mon, 07 Aug 2017 20:40:33
checksum 744ef9ca584493299c353e2251cbf993 (MD5)
data collected Mon, 07 Aug 2017 20:41:18
System 'localhost'
status Running
monitoring status Monitored
load average [0.96] [0.60] [0.46]
cpu 0.0%us 0.0%sy 0.0%wa
memory usage 266.4 MB [13.3%]
swap usage 2.1 MB [0.4%]
data collected Mon, 07 Aug 2017 20:41:18Proftpd 서비스에 대한 자세한 정보를 보려면 다음 명령어를 실행합니다:
monit status proftpd다음과 같은 출력을 볼 수 있어야 합니다:
The Monit daemon 5.16 uptime: 2m
Process 'proftpd'
status Running
monitoring status Monitored
pid 4915
parent pid 1
uid 0
effective uid 119
gid 65534
uptime 6m
threads 1
children 0
memory 3.6 MB
memory total 3.6 MB
memory percent 0.2%
memory percent total 0.2%
cpu percent 0.0%
cpu percent total 0.0%
port response time 7.945 ms to [localhost]:21 type TCP/IP protocol FTP
data collected Mon, 07 Aug 2017 20:43:49축하합니다! Debian 9 서버에 Monit을 성공적으로 설치하고 구성했습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.