모니터링 도구 · 8 min read · Oct 18, 2025

Debian 9에 Nagios 4.3.x 모니터링 도구 설치하기

이 튜토리얼에서는 Debian 9.1(코드명 Stretch)에서 소스에서 최신 버전의 Nagios Core(현재 4.3.4)를 설치하고 구성하는 방법을 보여줍니다.

Nagios는 Nagios Core로도 알려져 있으며, 개발자들이 적극적으로 유지 관리하는 무료 오픈 소스 네트워크 모니터링 도구로, 전체 네트워크 인프라를 모니터링하도록 설계되었습니다. Nagios는 네트워크 연결이 구성된 거의 모든 네트워크 장치를 모니터링할 수 있으며, 라우터, 스위치, 서버, 데스크탑, 방화벽 장비, IoT 장치 등을 포함합니다. 장치의 네트워크 상태를 확인하기 위해 장치를 모니터링하는 것 외에도, Nagios는 네트워크 서비스, 애플리케이션 또는 운영 체제와 관련된 기타 특정 작업을 모니터링할 수 있으며, 가능한 장치, 중단 또는 서비스 실패에 대해 네트워크 관리자에게 알리기 위해 이메일 또는 SMS를 통해 경고를 보낼 수 있도록 구성할 수 있습니다.

요구 사항

  • 최소 소프트웨어 요구 사항으로 설치된 물리적 머신 또는 가상 사설 서버에 Debian 9.1이 설치되어 있어야 합니다.
  • 정적 IP 주소로 구성된 네트워크 인터페이스 카드.
  • 루트 계정에 대한 접근 권한 또는 sudo를 통해 루트 계정 권한이 있는 사용자.
  • 적절한 DNS A 레코드가 구성된 도메인 이름(개인 또는 공용). DNS 서버가 구성되어 있지 않은 경우, 서버 IP 주소를 통해 Nagios에 접근할 수 있습니다.

초기 구성

소스에서 Nagios를 설치하기 전에 시스템이 Nagios를 컴파일하고 설치하기 위한 모든 소프트웨어 요구 사항을 충족하는지 확인하십시오. 첫 번째 단계로, 아래 명령을 실행하여 시스템 저장소 및 소프트웨어 패키지를 업데이트하십시오.

apt update
apt upgrade

Debian 업데이트 설치

다음 단계에서는 시스템을 명령줄에서 추가로 관리하는 데 사용될 몇 가지 필수 유틸리티를 설치하기 위해 새로운 명령을 실행하십시오.

apt install wget unzip zip bash-completion

Next, 다음 명령을 실행하여 시스템의 이름을 설정하십시오:

hostnamectl set-hostname nagios.server.lan

아래 명령을 실행하여 머신 호스트 이름 및 호스트 파일을 확인하십시오.

hostnamectl
cat /etc/hostname
cat /etc/hosts

마지막으로, 새로운 호스트 이름을 적용하기 위해 시스템을 재부팅하십시오.

init 6

Nagios는 PHP 서버 측 프로그래밍 언어로 작성된 일부 부분과 기타 CGI 프로그램이 포함된 웹 기반 모니터링 애플리케이션입니다. Nagios PHP 파일 스크립트를 실행하려면 Apache HTTP 서버와 PHP 처리 게이트웨이가 시스템에 설치되고 작동해야 합니다. Nagios 4가 제대로 실행되기 위해 필요한 모든 PHP 모듈과 함께 Apache 웹 서버 및 PHP 인터프리터를 설치하려면 서버 콘솔에서 다음 명령을 실행하십시오.

apt install apache2 libapache2-mod-php7.0 php7.0

Apache와 PHP가 설치된 후, 다음 명령을 루트 권한으로 실행하여 웹 서버가 작동 중인지 확인하고 포트 80에서 네트워크 연결을 수신하고 있는지 테스트하십시오.

netstat –tlpn

Debian 9 시스템에 netstat 네트워크 유틸리티가 기본적으로 설치되어 있지 않은 경우, 아래 명령을 실행하여 설치하십시오.

apt install net-tools

netstat 명령으로 apache 설치 확인

netstat 명령 출력에서 Apache 웹 서버가 포트 80에서 수신 대기 중임을 확인할 수 있습니다.

시스템에 UFW 방화벽 애플리케이션과 같은 방화벽이 활성화되어 있는 경우, 다음 명령을 실행하여 HTTP 트래픽이 방화벽을 통과할 수 있도록 새로운 규칙을 추가해야 합니다.

ufw allow WWW

또는

ufw allow 80/tcp

방화벽에서 방문자가 Nagios Core 웹 인터페이스를 탐색할 수 있도록 포트 80의 인바운드 트래픽을 허용하기 위해 iptables 원시 규칙을 사용하려는 경우, 다음 규칙을 추가하십시오.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

다음으로, Nagios 웹 애플리케이션이 제대로 실행되기 위해 필요한 다음 Apache 모듈을 활성화하고 적용하려면 아래 명령을 실행하십시오.

a2enmod rewrite headers cgi
systemctl restart apache2

apache 모듈 활성화

마지막으로, 클라이언트 브라우저에서 Debian 머신의 IP 주소 또는 도메인 이름을 HTTP 프로토콜을 통해 방문하여 Apache 웹 서버 기본 웹 페이지가 표시되는지 테스트하십시오. 머신 IP 주소를 모르는 경우 ifconfig 또는 ip a 명령을 실행하십시오.

http://192.168.1.14

Apache 기본 웹 페이지

다음 단계에서는 PHP 기본 구성 파일에 몇 가지 추가 변경을 수행하여 PHP timezone 설정이 올바르게 구성되고 시스템 물리적 위치와 일치하는지 확인해야 합니다. /etc/php/7.0/apache2/php.ini 파일을 열어 다음 줄이 다음과 같이 설정되어 있는지 확인하십시오.

date.timezone = Europe/London

시간대 변수를 물리적 시간에 맞게 PHP 문서에서 제공하는 시간대 목록을 참조하여 적절히 교체하십시오. http://php.net/manual/en/timezones.php.

변경 사항을 적용하기 위해 Apache 데몬을 재시작하십시오.

systemctl restart apache2

필요한 변경을 완료한 후, php 정보 파일을 생성하고 다음 명령을 실행하여 변경 사항을 적용하기 위해 Apache 데몬을 재시작하십시오.

echo ''| tee /var/www/html/info.php
systemctl restart apache2

브라우저에서 다음 URL에서 phpinfo 스크립트 파일을 방문하여 PHP 시간대가 올바르게 구성되었는지 확인하십시오. 아래 이미지에서 날짜 설정으로 스크롤하여 php 시간대 설정을 확인하십시오.

http://192.168.1.14/info.php

PHP 시간대 설정 확인

Nagios Core 설치

소스에서 Nagios Core를 다운로드하고 컴파일하기 전에, 먼저 아래 명령을 실행하여 시스템에 다음 필수 패키지를 설치해야 합니다.

apt install autoconf gcc libc6 make apache2-utils libgd-dev

Debian 시스템에 Nagios를 소스에서 컴파일하는 데 필요한 모든 종속성 및 패키지가 설치된 후, https://www.nagios.org/downloads/nagios-core/에서 Nagios 공식 웹사이트를 방문하여 wget 유틸리티를 사용하여 최신 버전의 Nagios Core 안정 소스 아카이브를 다운로드하십시오. 다음 명령 발췌와 같이.

wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gz

Nagios 소스 tarball이 다운로드된 후, tar 아카이브를 추출하고 추출된 nagios 디렉토리로 들어가십시오. 다음 명령을 사용하십시오. nagios 추출 디렉토리 내에서 ls 명령을 실행하여 소스 파일 목록을 확인하십시오.

tar xzf nagios-4.3.4.tar.gz
cd nagios-4.3.4/
ls

Nagios 다운로드

Nagios 추출된 소스 디렉토리 내에서 아래 명령을 실행하여 Nagios 컴파일 프로세스를 시작하십시오. 먼저, Nagios가 Apache 웹 서버 http 구성 경로를 sites-enabled 디렉토리를 가리키도록 구성하십시오.

./configure --with-httpd-conf=/etc/apache2/sites-enabled

다음으로, 아래 명령을 실행하여 Nagios를 컴파일하십시오. 아래 이미지에 설명되어 있습니다.

make all

Nagios 구성 및 만들기

소스에서 Nagios 빌드

다음으로, nagios 시스템 사용자 및 그룹을 생성하고 nagios 계정을 Apache 런타임 사용자에 추가하여 nagios 사용자가 웹 리소스에 접근할 수 있는 권한을 갖도록 하십시오.

useradd nagios
usermod -a -G nagios www-data

이제 다음 명령을 실행하여 Nagios 바이너리 파일, CGI 스크립트 및 HTML 파일을 설치하기 시작하십시오. make install 명령의 최종 출력은 아래 이미지에 표시된 대로 바이너리 위치를 표시해야 합니다.

make install

컴파일된 Nagios 파일 설치

다음으로, Nagios 데몬 systemd init 파일을 설치하고 nagios 서비스를 시스템 전체에서 활성화하려면 다음 명령을 실행하십시오.

make install-init
systemctl enable nagios.service

Nagios init 파일 설치

또한, 아래 명령을 실행하여 Nagios 외부 명령 파일을 설치하고 구성하십시오.

make install-commandmode

다음으로, Nagios 데몬이 시작하고 제대로 작동하는 데 필요한 Nagios 샘플 구성 파일을 설치하려면 다음 명령을 실행하십시오.

make install-config

Nagios 샘플 구성 파일 설치

마지막으로, Nagios에 대한 Apache 웹 서버 구성 파일을 설치하십시오. 이 파일은 /etc/apacahe2/sites-enabled/ 디렉토리에 위치하게 됩니다. 아래 명령을 실행하십시오.

make install-webconf

Nagios apache 웹 구성 설치

Apache 웹 서버에 로그인할 수 있도록 필요한 비밀번호와 함께 nagiosadmin 사용자 계정을 생성하려면 다음 명령을 실행하십시오.

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

Nagios 웹 패널에 접근하려면 먼저 Apache HTTP 서버를 재시작하고 Nagios 서비스를 시작하려면 다음 명령을 실행하십시오.

systemctl restart apache2
systemctl start nagios

그런 다음 브라우저를 열고 서버의 IP 주소 또는 도메인 이름 또는 FQDN을 방문하고 /nagios URL 경로를 HTTP 프로토콜을 통해 추가하여 Nagios 웹 인터페이스에 로그인하십시오. 아래 스크린샷에 설명되어 있습니다. 이 사용자에 대해 이전에 구성한 비밀번호를 사용하여 nagiosadmin 사용자로 로그인하십시오.

Nagios에 로그인

Nagios 대시보드

Nagios 플러그인 설치

이제 시스템에 Nagios 엔진이 설치되었습니다. 그러나 Nagios 소프트웨어는 아직 작동하지 않습니다. 호스트 및 서비스를 확인하는 데 사용되는 플러그인이 설치되지 않았기 때문입니다. 이 동작은 Hosts 메뉴로 이동하면 플러그인 오류가 표시되는 것을 통해 확인할 수 있습니다. 아래 스크린샷과 같이.

Nagios에 아직 플러그인이 설치되지 않음

소스에서 기본 Nagios 플러그인을 컴파일하고 설치하려면 먼저 아래 명령을 실행하여 다음 라이브러리 및 종속성을 설치해야 합니다.

apt install libmcrypt-dev make libssl-dev bc gawk dc build-essential snmp libnet-snmp-perl gettext libldap2-dev smbclient fping default-libmysqlclient-dev

모든 종속성 패키지가 시스템에 설치된 후, 다음 주소로 이동하여 Nagios 플러그인 리포지토리 페이지를 방문하십시오. https://github.com/nagios-plugins/nagios-plugins/releases 그리고 wget 명령줄 유틸리티를 사용하여 최신 소스 코드 아카이브를 가져오십시오. 아래 명령 예와 같이.

wget https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz

그런 다음, 압축된 Nagios 플러그인 소스 코드 tarball을 추출하고 추출된 nagios-plugins 디렉토리로 들어가려면 다음 명령을 실행하십시오.

tar xfz release-2.2.1.tar.gz
cd nagios-plugins-release-2.2.1/

Nagios 플러그인 다운로드

소스에서 Nagios 플러그인을 컴파일하고 설치하려면 다음 스크립트 및 명령을 루트 권한으로 실행하십시오. 아래 발췌와 같이.

./tools/setup
./configure
make
make install

모든 플러그인이 설치된 후, /usr/local/nagios/libexec/ 시스템 경로에서 플러그인을 찾을 수 있습니다. ls 명령을 실행하여 /usr/local/nagios/libexec/ 디렉토리의 모든 내용을 검사하고 시스템에서 사용할 수 있는 Nagios 플러그인을 확인하십시오.

ls /usr/local/nagios/libexec/

Nagios Libexec 디렉토리

Nagios 엔진이 설치된 플러그인을 사용하도록 하려면 다음 명령을 실행하여 Nagios 서비스를 재시작하고 상태를 확인해야 합니다.

systemctl restart nagios.service
systemctl status nagios.service

Nagios 플러그인이 예상대로 작동하는지 테스트하려면 브라우저를 열고 서버의 IP 주소, FQDN 또는 도메인 이름을 방문하여 Hosts 또는 Services 메뉴로 이동하십시오. 아래 스크린샷과 같이. 모니터링되는 호스트 및 서비스는 이제 플러그인에 의해 확인되어야 하며, 플러그인 명령 종료 상태에 따라 올바른 출력을 표시해야 합니다. 표시되는 색상은: 초록색은 OK, 노란색은 경고, 빨간색은 치명적입니다.

Nagios 모니터링 서비스

Nagios 엔진 웹 인터페이스에 보안 연결을 통해 HTTPS 프로토콜을 사용하여 접근하려면 다음 명령을 실행하여 Apache 웹 서버 SSL 모듈 및 SSL 사이트 구성 파일을 활성화해야 합니다.

a2enmod ssl
a2ensite default-ssl.conf

그런 다음, 방문자가 브라우저에서 Nagios 웹 인터페이스를 방문할 때마다 자동으로 HTTPS 프로토콜로 리디렉션되도록 하려면 /etc/apache2/sites-enabled/000-default.conf 파일을 열어 편집하고 DocumentRoot 문 다음에 다음 리라이트 규칙을 추가하십시오.

RewriteEngine on  
RewriteCond %{HTTPS} off  
RewriteRule ^(.*) https://%{HTTP_HOST}/$1

apache에서 https 활성화

마지막으로, 지금까지 구성된 모든 규칙을 적용하기 위해 Apache 데몬을 재시작하고 Nagios 웹 인터페이스를 HTTP 프로토콜을 통해 방문하십시오.

systemctl restart apache2.service

Apache가 HTTPS 포트에서 수신 대기 중인지 확인하려면 netstat 명령을 실행하고 443 포트 바인딩을 찾으십시오. 아래 이미지와 같이.

netstat -tlpn

UFW 방화벽 애플리케이션이 HTTPS 포트로의 인바운드 네트워크 연결을 차단하는 경우, 다음 명령을 실행하여 HTTPS 트래픽이 방화벽을 통과할 수 있도록 새로운 규칙을 추가해야 합니다.

ufw allow 'WWW Full'

또는

ufw allow 443/tcp

Debian 시스템을 보호하기 위해 iptables 방화벽을 실행하는 경우, 방문자가 Nagios Core 웹 인터페이스를 탐색할 수 있도록 방화벽에서 포트 443의 인바운드 트래픽을 허용하기 위해 다음 규칙을 추가하십시오.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

이제 자동으로 HTTPS 프로토콜을 통해 Nagios 웹 패널로 리디렉션되어야 합니다. Apache에서 설치 시 발급된 자동 생성된 자체 서명된 인증서 쌍을 사용하고 있기 때문에 브라우저에 경고 오류가 표시될 수 있습니다. 브라우저 경고를 수락하고 이전에 구성한 자격 증명으로 Nagios에 로그인하십시오. 아래 스크린샷과 같이.

HTTPS로 Nagios

Nagios에서 모니터링할 새 호스트를 추가하려면 /usr/local/nagios/etc/objects/localhost.cfg 구성 파일을 열어 편집하고 localhost 정의 다음에 새 장치를 추가하십시오. 아래 예와 같이.

define host{  
        use                     linux-server  
        host_name               router  
        alias                   router  
        address                 192.168.1.1  
        }

nagios 구성 파일 편집

host_name, aliasIP 주소 변수를 적절히 교체하고 Nagios 데몬을 재시작하여 새 호스트 정의를 로드하고 변경 사항을 적용하십시오.

systemctl restart nagios

몇 분 후, Nagios 웹 인터페이스의 Hosts 메뉴로 이동하여 장치 상태를 확인하십시오. 아래 이미지와 같이.

SSL / TLS로 보호된 Nagios

그게 전부입니다! Debian 9에서 소스에서 Nagios 엔진을 성공적으로 설치하고 구성했습니다. 이제 조직의 네트워크 장치, 서버 또는 모니터링할 중요한 서비스를 추가할 수 있습니다. Nagios Core 및 Nagios 플러그인에 대한 기타 사용자 정의 구성에 대해서는 다음 링크의 문서 페이지를 방문하십시오. https://support.nagios.com/kb/category.php?id=12



Share: X/Twitter LinkedIn

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

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