서버1 : Nagios 서버 (Rocky 8.10)
서버2 : Nagios 클라이언트 (Rocky 8.10)
각 서버에서 최신 패키지로 업데이트
sudo dnf update -y
Nagios 설치에 필요한 개발 패키지를 다운로드
sudo dnf install -y gcc glibc glibc-common php gd gd-devel make net-snmp
Nagios를 위해 전용 사용자와 그룹을 생성
sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -aG nagcmd nagios
sudo usermod -aG nagcmd apache
Nagios Core 소스 다운로드하여 설치
cd /tmp
wget https://github.com/NagiosEnterprises/nagioscore/releases/tag/nagios-4.5.7
tar zxvf nagios-4.5.7.tar.gz
cd nagios-4.5.7
./configure --with-command-group=nagcmd
make all
sudo make install
sudo make install-init
sudo make install-config
sudo make install-commandmode
sudo make install-webconf
Nagios 웹 인터페이스에 접근할 수 있도록 계정을 설정
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Apache 서버를 시작하고, 부팅 시 자동으로 시작되도록 설정
sudo systemctl enable --now httpd
Nagios를 시작하고, 부팅 시 자동으로 실행되도록 설정
sudo systemctl enable --now nagios
서버2에는 NRPE(Nagios Remote Plugin Executor)를 설치하여 서버1에서 모니터링할 수 있도록 합니다.
클라이언트 서버에서도 필요한 패키지를 설치
sudo dnf install -y gcc glibc glibc-common openssl openssl-devel make
Nagios를 위해 전용 사용자와 그룹을 생성
sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -aG nagcmd nagios
NRPE 플러그인 및 플러그인 패키지를 다운로드하여 설치
cd /tmp
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar.gz
tar zxvf nrpe-4.0.3.tar.gz
cd nrpe-4.0.3
./configure
make all
sudo make install
sudo make install-config
sudo make install-inetd
sudo make install-init
/usr/local/nagios/etc/nrpe.cfg 파일을 열어 allowed_hosts에 Nagios 서버 IP 주소를 추가합니다.
sudo vim /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,SERVER1_IP
NRPE를 시작하고, 부팅 시 자동으로 실행되도록 설정
sudo systemctl start nrpe
sudo systemctl enable nrpe
서버1에서 Nagios 플러그인 패키지를 설치하여 다양한 서버 메트릭을 모니터링할 수 있도록 합니다.
cd /tmp
wget https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.4.12/nagios-plugins-2.4.12.tar.gz
tar zxvf nagios-plugins-2.4.12.tar.gz
cd nagios-plugins-2.4.12
./configure --with-nagios-user=nagios --with-nagios-group=nagcmd
make
sudo make install
클라이언트 서버를 모니터링할 수 있도록 Nagios 설정 파일을 생성
servers는 임의 생성한 directory로, Nagios 설정에서 해당 directory 포함하도록 설정할 예정
sudo mkdir /usr/local/nagios/etc/servers
sudo vim /usr/local/nagios/etc/servers/CLIENT_HOST.cfg
define host {
use linux-server
host_name client1
alias Client Server 1
address CLIENT_IP_ADDRESS
max_check_attempts 5
check_period 24x7
notification_interval 30
notification_period 24x7
}
define service {
use generic-service
host_name client1
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
nagios.cfg 파일에 servers 디렉토리를 포함하여,
해당 디렉토리 내 모든 설정 파일이 로드되도록 합니다.
sudo vim /usr/local/nagios/etc/nagios.cfg
cfg_dir=/usr/local/nagios/etc/servers
구성이 완료되었으면 Nagios 설정을 확인하고 서버를 재시작
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
sudo systemctl restart nagios
브라우저에서 Nagios 웹 인터페이스에 접근하여 클라이언트 서버 상태를 확인
http://SERVER1_IP/nagios
이 과정까지 진행하면 ping 모니터링만 설정된다.
Nagios Plugin을 사용하면 CPU 사용률, 메모리 사용률, 디스크 사용량 등을 모니터링할 수 있다