서버 모니터링 · 4 min read · Oct 21, 2025

우분투 16.04에 나기오스 서버 모니터링 설치하는 방법

나기오스는 시스템 및 네트워크 모니터링을 위한 오픈 소스 소프트웨어입니다. 나기오스는 호스트와 그 서비스의 활동을 모니터링할 수 있으며, 서버에서 문제가 발생하면 경고/알림을 제공합니다. 나기오스는 리눅스 운영 체제에서 실행될 수 있습니다. 현재 설치를 위해 우분투 16.04를 사용하고 있습니다.

전제 조건

  • 2개의 우분투 16.04 - 64비트 서버 - 1 - 나기오스 호스트, IP: 192.168.1.9
  • 2 - 우분투 클라이언트, IP: 192.168.1.10
  • 루트/수도 접근 권한

이 튜토리얼에서 할 일:

  1. LAMP 등 소프트웨어 패키지 의존성 설치
  2. 사용자 및 그룹 구성
  3. 나기오스 설치
  4. 아파치 구성
  5. 나기오스 서버 테스트
  6. 모니터링할 호스트 추가

전제 조건 설치

나기오스는 컴파일을 위한 gcc 컴파일러와 빌드 필수 패키지, 나기오스 웹 인터페이스를 위한 LAMP(아파치, PHP, MySQL) 및 서버에서 알림을 보내기 위한 Sendmail이 필요합니다. 모든 패키지를 설치하려면 다음 명령을 실행하세요(한 줄입니다):

sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip

사용자 및 그룹 구성

나기오스가 실행되려면 나기오스를 위한 새 사용자를 생성해야 합니다. 우리는 사용자의 이름을 “nagios”로 하고, 추가로 “nagcmd”라는 그룹을 생성합니다. 아래와 같이 새 사용자를 그룹에 추가합니다:

useradd nagios  
groupadd nagcmd  
usermod -a -G nagcmd nagios  
usermod -a -G nagios,nagcmd www-data

나기오스 설치

1단계 - 나기오스 코어 다운로드 및 추출

cd ~  
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz  
tar -xzf nagios*.tar.gz  
cd nagios-4.2.0

2단계 - 나기오스 컴파일

나기오스를 빌드하기 전에 이전에 생성한 사용자 및 그룹으로 구성해야 합니다.

./configure --with-nagios-group=nagios --with-command-group=nagcmd

자세한 정보는 다음을 사용하세요: ./configure –help.

이제 나기오스를 설치합니다:

make all  
sudo make install  
sudo make install-commandmode  
sudo make install-init  
sudo make install-config  
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf

그리고 evenhandler 디렉토리를 나기오스 디렉토리로 복사합니다:

cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/  
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

3단계 - 나기오스 플러그인 설치

나기오스 플러그인을 다운로드하고 추출합니다:

cd ~  
wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz  
tar -xzf nagios-plugins*.tar.gz  
cd nagios-plugin-2.1.2/

다음 명령으로 나기오스 플러그인을 설치합니다:

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl  
make  
make install

4단계 - 나기오스 구성

설치 단계가 완료되면 기본 나기오스 구성을 /usr/local/nagios/에서 찾을 수 있습니다.

나기오스와 나기오스 연락처를 구성합니다.

vim으로 기본 나기오스 구성을 편집합니다:

vim /usr/local/nagios/etc/nagios.cfg

호스트 모니터 구성에 대한 51번 줄의 주석을 제거합니다.

cfg_dir=/usr/local/nagios/etc/servers

저장하고 종료합니다.

서버라는 이름의 새 폴더를 추가합니다:

mkdir -p /usr/local/nagios/etc/servers

나기오스 연락처는 contact.cfg 파일에서 구성할 수 있습니다. 열려면 다음을 사용하세요:

vim /usr/local/nagios/etc/objects/contacts.cfg

그런 다음 기본 이메일을 자신의 이메일로 바꿉니다.

아파치 구성

1단계 - 아파치 모듈 활성화

sudo a2enmod rewrite  
sudo a2enmod cgi

htpasswd 명령을 사용하여 나기오스 웹 인터페이스용 사용자 nagiosadmin을 구성할 수 있습니다.

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

그리고 비밀번호를 입력합니다.

2단계 - 나기오스 가상 호스트 활성화

sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/

3단계 - 아파치 및 나기오스 시작

service apache2 restart  
service nagios start

나기오스가 시작되면 다음과 같은 오류가 발생할 수 있습니다:

Starting nagios (via systemctl): nagios.serviceFailed

이것을 수정하는 방법은 다음과 같습니다:

cd /etc/init.d/  
cp /etc/init.d/skeleton /etc/init.d/nagios

이제 나기오스 파일을 편집합니다:

vim /etc/init.d/nagios

… 그리고 다음 코드를 추가합니다:

DESC="Nagios"  
NAME=nagios  
DAEMON=/usr/local/nagios/bin/$NAME  
DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg"  
PIDFILE=/usr/local/nagios/var/$NAME.lock

실행 가능하게 만들고 나기오스를 시작합니다:

chmod +x /etc/init.d/nagios  
service apache2 restart  
servuce nagios start

나기오스 서버 테스트

브라우저를 열고 나기오스 서버 IP에 접근하세요. 제 경우에는: http://192.168.1.9/nagios.

나기오스 로그인은 아파치 htpasswd로 합니다.

나기오스 로그인

나기오스 관리자 대시보드

나기오스 대시보드

모니터링할 호스트 추가

이 튜토리얼에서는 위에서 만든 나기오스 서버에 모니터링할 우분투 호스트를 추가합니다.

나기오스 서버 IP : 192.168.1.9  
우분투 호스트 IP : 192.168.1.10

1단계 - 우분투 호스트에 연결

ssh [email protected]

2단계 - NRPE 서비스 설치

sudo apt-get install nagios-nrpe-server nagios-plugins

3단계 - NRPE 구성

설치가 완료되면 nrpe 파일 /etc/nagios/nrpe.cfg를 편집합니다:

vim /etc/nagios/nrpe.cfg

… 그리고 나기오스 서버 IP 192.168.1.9를 server_address에 추가합니다.

server_address=192.168.1.9

4단계 - NRPE 재시작

service nagios-nrpe-server restart

5단계 - 우분투 호스트를 나기오스 서버에 추가

나기오스 서버에 연결하세요:

ssh [email protected]

그런 다음 /usr/local/nagios/etc/servers/에 호스트 구성용 새 파일을 만듭니다.

vim /usr/local/nagios/etc/servers/ubuntu_host.cfg

다음 줄을 추가합니다:

# 우분투 호스트 구성 파일

define host {
        use                          linux-server
        host_name                    ubuntu_host
        alias                        Ubuntu Host
        address                      192.168.1.10
        register                     1
}

define service {
      host_name                       ubuntu_host
      service_description             PING
      check_command                   check_ping!100.0,20%!500.0,60%
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Check Users
      check_command           check_local_users!20!50
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Local Disk
      check_command                   check_local_disk!20%!10%!/
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Check SSH
      check_command                   check_ssh
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Total Process
      check_command                   check_local_procs!250!400!RSZDT
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

/ usr/local/nagios/etc/objects/commands.cfg 파일에서 많은 check_command를 찾을 수 있습니다. DHCP, POP 등과 같은 더 많은 서비스를 추가하고 싶다면 그곳을 확인하세요.

이제 구성을 확인합니다:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

… 구성이 올바른지 확인합니다.

6단계 - 모든 서비스 재시작

우분투 호스트에서 NRPE 서비스를 시작합니다:

service nagios-nrpe-server restart

… 그리고 나기오스 서버에서 아파치와 나기오스를 시작합니다:

service apache2 restart  
service nagios restart

7단계 - 우분투 호스트 테스트

브라우저에서 나기오스 서버를 열고 ubuntu_host가 모니터링되고 있는지 확인합니다.

우분투 호스트가 모니터링되는 호스트에 있습니다.

모니터링된 서버가 나열됨

모든 서비스가 오류 없이 모니터링됩니다.

모든 서비스가 정상

결론

나기오스는 시스템 모니터링을 위한 오픈 소스 애플리케이션입니다. 나기오스는 구성의 용이성 덕분에 널리 사용되고 있습니다. 나기오스는 다양한 플러그인을 지원하며, 자신만의 플러그인을 만들 수도 있습니다. 더 많은 정보는 여기에서 확인하세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.