1. 사전 준비 사항
Nagios 설치에는 Apache 웹 서버, PHP, 그리고 Nagios 코어 및 플러그인 설치가 필요합니다. Nagios는 소스에서 컴파일 설치를 진행하므로, 필수 개발 도구들이 설치되어 있어야 합니다.
2. 필수 패키지 설치
Nagios 설치 전, 필요한 패키지와 Apache 웹 서버를 설치합니다.
<bash>
sudo apt update
sudo apt install -y apache2 php libapache2-mod-php build-essential libgd-dev
이제 Apache를 실행하고 부팅 시 자동 시작되도록 설정합니다.
<bash>
sudo systemctl start apache2
sudo systemctl enable apache2
3. Nagios 사용자 및 그룹 생성
Nagios 데몬을 실행할 사용자와 그룹을 생성합니다. Nagios는 기본적으로 ‘nagios’ 사용자로 실행됩니다.
<bash>
sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -aG nagcmd nagios
sudo usermod -aG nagcmd www-data
4. Nagios 코어 다운로드 및 설치
Nagios는 공식 사이트에서 다운로드할 수 있습니다. 여기서는 최신 안정 버전을 다운로드하여 설치합니다.
<bash>
cd /tmp
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz
tar -zxvf nagios-4.4.6.tar.gz
cd nagios-4.4.6
컴파일 및 설치
Nagios를 컴파일하여 설치합니다.
<bash>
./configure --with-command-group=nagcmd
make all
sudo make install
sudo make install-init
sudo make install-commandmode
sudo make install-config
sudo make install-webconf
5. Nagios 웹 인터페이스 설정
Nagios 웹 인터페이스에 접근하기 위해 Apache 설정 파일을 수정하고, 웹 인터페이스에 로그인할 사용자 계정을 만듭니다.
Nagios 웹 인터페이스 사용자 생성
Nagios 웹 대시보드에 접근할 사용자 계정을 생성합니다.
<bash>
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
비밀번호를 입력하라는 메시지가 표시되면, 원하는 비밀번호를 설정하세요.
Apache 재시작
<bash>
sudo systemctl restart apache2
6. Nagios 플러그인 설치
Nagios 플러그인은 다양한 서버 및 네트워크 장비를 모니터링하는 데 필요한 기능을 제공합니다.
<bash>
cd /tmp
wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
tar -zxvf nagios-plugins-2.3.3.tar.gz
cd nagios-plugins-2.3.3
컴파일 및 설치:
<bash>
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
sudo make install
7. Nagios 서비스 시작 및 자동 시작 설정
Nagios 서비스를 시작하고, 부팅 시 자동으로 시작되도록 설정합니다.
<bash>
sudo systemctl start nagios
sudo systemctl enable nagios
Nagios가 성공적으로 시작되었는지 확인하기 위해 상태를 확인합니다.
<bash>
sudo systemctl status nagios
8. Nagios 웹 인터페이스 접근
브라우저에서 Nagios 웹 인터페이스에 접근합니다. 서버의 IP 주소를 사용하여 http://YOUR_SERVER_IP/nagios
로 접속하면 됩니다. 로그인 화면이 표시되면, 이전에 설정한 nagiosadmin
계정으로 로그인합니다.
9. 호스트 및 서비스 모니터링 설정
Nagios 설정 파일은 /usr/local/nagios/etc/
디렉토리에 있습니다. Nagios는 기본적으로 localhost
(Nagios가 설치된 서버)만 모니터링하도록 설정되어 있으며, 다른 호스트를 모니터링하려면 설정 파일을 편집해야 합니다.
호스트 추가 예제
/usr/local/nagios/etc/objects/
디렉토리에 새로운 파일을 생성하여 관리하거나, 기본 설정 파일인localhost.cfg
파일을 참조하여 설정할 수 있습니다.- 아래 예제를 참고해 모니터링할 호스트를 추가해보세요.
<conf>
define host {
use linux-server ; 호스트 템플릿 지정
host_name 서버_이름
alias 서버_별칭
address 호스트_IP_주소
}
서비스 추가 예제
호스트에 대한 서비스 모니터링을 추가하려면 define service
섹션을 추가합니다.
<conf>
define service {
use generic-service
host_name 서버_이름
service_description 서비스_이름
check_command check_http ; HTTP 서비스 모니터링 예제
}
설정을 마친 후 Nagios 구성을 확인하여 오류가 없는지 검사합니다.
<bash>
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
오류가 없다면 Nagios를 다시 시작합니다.
<bash>
sudo systemctl restart nagios
10. 알림 설정
Nagios는 특정 상태 변경에 따라 관리자에게 알림을 전송할 수 있습니다. 기본 알림 방법은 이메일이며, contacts.cfg
파일에서 설정할 수 있습니다.
<conf>
define contact {
contact_name nagiosadmin
alias Nagios Admin
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email your-email@example.com ; 알림을 받을 이메일
}
이후 이메일 설정이 완료되면 서비스 및 호스트 상태 변경 시 자동으로 알림이 전송됩니다.
11. Nagios 모니터링 플러그인 활용
Nagios는 다양한 플러그인을 통해 네트워크 장비 및 서버 상태를 세밀하게 모니터링할 수 있습니다. 각 플러그인은 /usr/local/nagios/libexec/
디렉토리에 설치되며, check_ping
, check_http
, check_disk
등 기본 제공되는 플러그인을 사용할 수 있습니다.
플러그인 예제: Ping 체크
Nagios 설정 파일에서 아래와 같이 check_ping
플러그인을 호출하여 Ping 응답 시간을 모니터링할 수 있습니다.
<conf>
define service {
use generic-service
host_name 서버_이름
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
여기서 100.0,20%
는 경고 임계값(응답 시간 100ms, 패킷 손실 20%)이며, 500.0,60%
는 위험 임계값을 의미합니다.
맺음말
Nagios는 강력한 오픈소스 모니터링 도구로, 서버와 네트워크 장비의 성능과 상태를 효과적으로 모니터링할 수 있습니다. 설치 및 설정이 다소 복잡할 수 있으나, 이를 통해 효율적이고 안정적인 모니터링 시스템을 구축할 수 있습니다.
위 단계를 차근차근 따라 하시면 Nagios로 다양한 IT 인프라를 통합적으로 모니터링할 수 있는 환경을 만들 수 있습니다.