Nagios monitoring - Server/Client 구축

cloud·2024년 11월 6일

Nagios

목록 보기
1/2

1. 사전 준비

서버1 : Nagios 서버 (Rocky 8.10)
서버2 : Nagios 클라이언트 (Rocky 8.10)

2. 각 서버의 패키지 업데이트

각 서버에서 최신 패키지로 업데이트

sudo dnf update -y

3. 모니터링 서버 설정 (Nagios 서버)

3.1 Nagios 및 필요한 패키지 설치

Nagios 설치에 필요한 개발 패키지를 다운로드

sudo dnf install -y gcc glibc glibc-common php gd gd-devel make net-snmp

3.2 Nagios 사용자 및 그룹 생성

Nagios를 위해 전용 사용자와 그룹을 생성

sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -aG nagcmd nagios
sudo usermod -aG nagcmd apache

3.3 Nagios 소스 다운로드 및 설치

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

3.4 웹 인터페이스 계정 설정

Nagios 웹 인터페이스에 접근할 수 있도록 계정을 설정

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

3.5 Apache 설정 및 시작

Apache 서버를 시작하고, 부팅 시 자동으로 시작되도록 설정

sudo systemctl enable --now httpd

3.6 Nagios 서비스 시작

Nagios를 시작하고, 부팅 시 자동으로 실행되도록 설정

sudo systemctl enable --now nagios

4. 모니터링 클라이언트 설정 (서버2)

서버2에는 NRPE(Nagios Remote Plugin Executor)를 설치하여 서버1에서 모니터링할 수 있도록 합니다.

4.1 NRPE 설치 준비

클라이언트 서버에서도 필요한 패키지를 설치

sudo dnf install -y gcc glibc glibc-common openssl openssl-devel make

4.2 Nagios 사용자 및 그룹 생성

Nagios를 위해 전용 사용자와 그룹을 생성

sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -aG nagcmd nagios

4.3 NRPE 소스 다운로드 및 설치

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

4.4 NRPE 설정 파일 수정

/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

4.5 NRPE 서비스 시작

NRPE를 시작하고, 부팅 시 자동으로 실행되도록 설정

sudo systemctl start nrpe
sudo systemctl enable nrpe

5. Nagios 서버에서 클라이언트 모니터링 설정

5.1 Nagios 플러그인 설치

서버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

5.2 클라이언트 호스트 설정

클라이언트 서버를 모니터링할 수 있도록 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%
}

5.3 Nagios 메인 설정 파일에 디렉토리 추가

nagios.cfg 파일에 servers 디렉토리를 포함하여,
해당 디렉토리 내 모든 설정 파일이 로드되도록 합니다.

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

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

5.4 Nagios 구성 파일 확인 및 재시작

구성이 완료되었으면 Nagios 설정을 확인하고 서버를 재시작

sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
sudo systemctl restart nagios

6. 모니터링 확인

브라우저에서 Nagios 웹 인터페이스에 접근하여 클라이언트 서버 상태를 확인

http://SERVER1_IP/nagios

이 과정까지 진행하면 ping 모니터링만 설정된다.
Nagios Plugin을 사용하면 CPU 사용률, 메모리 사용률, 디스크 사용량 등을 모니터링할 수 있다

0개의 댓글