NRPE
NRPE는 원격 Linux/Unix 머신에서 Nagios 명령 수행을 허용하도록 디자인 된 Nagios의 Addon이다.
SSH를 사용하여 원격 호스트의 정보를 가져오는 것이 보안적인 면에서는 더 우수하지만 모니터링 하는 쪽과 원격 장비 모두 큰 부하가 생긴다. NRPE는 그에 비해 부하가 적기 때문에 많이 사용되고 있다.
모니터링 서버에 NRPE가 상주하고 SSL로 연결된 원격 호스트에도 NRPE 데몬이 돌고 있어서 check_nrpe 플러그인을 사용하여 접근할 수 있다.
NRPE 데몬은 기본적으로 원격 호스트에 Nagios plugin이 설치되어 있어야 한다. 플러그인들이 없으면 NRPE 데몬은 어떤 것도 모니터링 할 수 없다.
NRPE에 대한 문서는 NRPE를 다운 받은 파일의 압축을 해제하면 docs 디렉토리 안에 pdf 형식의 파일로 존재한다.
원격 호스트에서의 작업
유저 생성
$ useradd nagios $ passwd nagios
- Nagios Plugin 설치
$ wget http://www.nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz $ tar xvf nagios-plugins-2.0.3.tar.gz $ cd nagios-plugins-2.0.3 $ ./configure $ make $ sudo make install $ chown nagios.nagios /usr/local/nagios $ chown -R nagios.nagios /usr/local/nagios/libexec $ sudo apt-get install xinetd
NRPE 설치
$ wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz $ tar xvf nrpe-2.15.tar.gz $ cd nrpe-2.15 $ ./configure --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu $ make all $ make install-plugin $ make install-daemon $ make install-daemon-config $ make install-xinetd
- SSL Library 오류 시 --with-ssl-lib 추가
configure 수행 시 SSL Header 오류가 발생할 경우 libssl-dev 설치
$ sudo apt-get install libssl-dev
- /etc/xinetd.d/nrpe 파일 수정 (모니터링 서버의 ip 설정)
only_from = 127.0.0.1 <nagios_ip_address>
- /etc/services 파일 수정 (NRPE 포트 설정)
nrpe 5666/tcp # NRPE
방화벽 해제 후 서비스 재시작
$ sudo ufw allow 5666/tcp $ service xinetd restart
- NRPE 데몬 확인
netstat -at | grep nrpe
모니터링 서버에서의 작업
- Nagios Plugins 설치
$ wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz $ tar xvf nrpe-2.15.tar.gz $ cd nrpe-2.15 $ ./configure --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu --prefix=/etc/nagios3 # apt-get install nagios3 명령으로 나기오스를 설치 한 경우 경로 지정이 필요하므로 --prefix로 지정 $ make all $ make install-plugin
nrpe가 설치된 호스트로 접속 테스트
$ nagios폴더/libexec/check_nrpe -H 호스트IP
NRPE v2.15
나기오스 명령 추가(/etc/nagios3/commands.cfg)
define command{ command_name check_nrpe command_line /etc/nagios3/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
호스트와 서비스 정의 생성(/etc/nagios3/conf.d/???.cfg)
define host{ name linux-box use generic-host check_period 24x7 check_interval 5 retry_interval 1 max_check_attempts 10 check_command check-host-alive notification_period 24x7 notification_interval 30 notification_options d,r contact_groups admins register 0 } define host{ use linux-box host_name remotehost alias Ubuntu address 192.168.0.1 }
define service{
use generic-service
host_name heli
service_description CPU Load
check_command check_nrpe!check_load
}
- 설정 검사 후 Nagios 재시작
$ nagios3 -v /etc/nagios3/nagios.cfg
$ service nagios3 restart
- http://localhost/nagios3 접속
- heli : 원격지 호스트, NRPE 정상적으로 설치
- localhost : 로컬 호스트, NRPE 필요 없음
- poly : 원격지 호스트, NRPE 설치 안함
- NRPE가 정상적으로 설치 된 경우 설정한 플러그인에 대한 응답을 정상적으로 받아서 OK 상태가 되었고, NRPE가 설치 되지 않은 경우에는 플러그인에 대한 응답을 받을 수 없으므로 CRITICAL 상태가 되었다.
'Programming > Performance' 카테고리의 다른 글
Performance, Nagios에 pnp4nagios 적용 (0) | 2014.11.12 |
---|---|
Performance, Nagios Email Notification Setting (1) | 2014.11.03 |
Performance, Nagios 기본적인 Host 설정 (0) | 2014.10.23 |
Performance, Nagios 설치 (0) | 2014.10.23 |
Performance, Nagios 기본 개념 - Macros (0) | 2014.10.21 |
댓글