웹사이트 검색

NRPE 플러그인을 사용하여 Nagios 서버에 원격 Linux를 추가하는 방법


Nagios 시리즈 기사의 첫 번째 부분에서는 다음과 같은 RHEL 기반 배포판에서 Nagios CoreNagios Plugins의 최신 버전을 설치하고 구성하는 방법을 자세히 설명했습니다. CentOS Stream, Rocky Linux, AlmaLinux, Fedora 등이 있습니다.

이 문서에서는 NRPE를 사용하여 원격 Linux 시스템과 해당 서비스를 Nagios Core Monitoring 호스트에 추가하는 방법을 보여줍니다( >Nagios 원격 플러그인 실행자) 에이전트입니다.

Nagios Core가 이미 설치되어 제대로 실행되고 있기를 바랍니다. 그렇지 않은 경우 다음 설치 안내서를 사용하여 시스템에 설치하십시오.

Nagios 모니터링 서버에 원격 Windows 호스트를 추가하려는 경우 다음 가이드를 사용하세요.

설치한 후에는 계속 진행하여 원격 Linux 호스트에 NRPE 에이전트를 설치할 수 있습니다. 더 자세히 설명하기 전에 NRPE에 대해 간략하게 설명하겠습니다.

NRPE란 무엇입니까?

NRPE(Nagios Remote Plugin Executor) 플러그인을 사용하면 모든 원격 Linux/Unix 서비스, 네트워크 장치를 모니터링할 수 있습니다. 또는 로컬/원격 Linux의 CPU 로드, 스왑, 메모리 사용량, 온라인 사용자 등과 같은 리소스 기계.

결국 이러한 로컬 리소스는 대부분 외부 시스템에 노출되지 않으므로 NRPE 에이전트를 원격 시스템에 설치하고 구성해야 합니다.

참고: NRPE 애드온을 사용하려면 원격 Linux 시스템에 Nagios 플러그인을 설치해야 합니다. 이것이 없으면 NRPE 데몬은 작동하지 않으며 아무것도 모니터링하지 않습니다.

Nagios 서버 및 원격 Linux 호스트에 NRPE 플러그인 설치

NRPE를 사용하려면 Nagios 모니터링 서버와 NRPE가 설치된 원격 Linux 호스트 모두에서 몇 가지 추가 작업을 수행해야 합니다. 에. 두 가지 설치 부분을 별도로 다룰 예정입니다.

원격 Linux 호스트에 Nagios 플러그인 및 NRPE 설치

원격 Linux 호스트Nagios 플러그인NRPE 데몬을 설치하려면 아래 지침을 따르세요.

1단계: 필수 종속성 설치

gcc, glibc, glibc-common,GD와 같은 필수 라이브러리와 해당 개발 라이브러리를 다음을 사용하여 설치해야 합니다. yum 패키지 관리자.

yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel tar wget
2단계: Nagios 사용자 생성

새로운 nagios 사용자 계정을 생성하고 비밀번호를 설정하세요.

useradd nagios
passwd nagios
3단계: Nagios 플러그인 설치

Nagios 플러그인 설치 및 향후 모든 다운로드를 위한 디렉토리를 만듭니다.

mkdir /root/nagios
cd /root/nagios

이제 wget 명령을 사용하여 최신 Nagios 플러그인 패키지를 다운로드하세요.

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
4단계: Nagios 플러그인 추출

다음 tar 명령을 실행하여 소스 코드 tarball을 추출합니다.

tar -xvf nagios-plugins-2.3.3.tar.gz

그런 다음 하나의 새 폴더를 추출하면 해당 디렉토리에 나타납니다.

ls -l

total 2724
drwxr-xr-x. 15 root root    4096 Mar 11  2020 nagios-plugins-2.3.3
-rw-r--r--.  1 root root 2782610 Mar 11  2020 nagios-plugins-2.3.3.tar.gz
5단계: Nagios 플러그인 컴파일 및 설치

다음으로, 다음 명령을 사용하여 nagios 플러그인을 컴파일하고 설치하십시오.

cd nagios-plugins-2.3.3
./configure 
make
make install

chown 명령을 사용하여 플러그인 디렉터리에 대한 권한을 설정합니다.

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
6단계: NRPE 플러그인 설치

nrpe 플러그인을 설치하려면 먼저 최신 NRPE 플러그인을 다운로드하거나 다음 wget 명령을 사용하세요.

cd /root/nagios
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

NRPE 소스 코드 tarball의 압축을 풉니다.

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

NRPE 애드온을 컴파일하고 설치합니다.

./configure
make all

참고: '모두 만들기' 명령을 실행하는 동안 다음 오류가 발생하는 경우:

In file included from ../include/common.h:34,
                 from ./nrpe.c:38:
/usr/include/openssl/err.h:413:15: note: declared here
  413 | unsigned long ERR_get_error_line_data(const char **file, int *line,
      |               ^~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccWQBjHb.o: in function `init_ssl':
/root/nagios/nrpe-4.0.2/src/./nrpe.c:474: undefined reference to `get_dh2048'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:48: nrpe] Error 1

그런 다음 표시된 대로 ./configure --disable-ssl 플래그를 사용하여 nrpe 구성에 대해 SSL을 비활성화해야 합니다.

./configure --disable-ssl
make all

다음으로 NRPE 플러그인 데몬과 샘플 구성 파일을 설치합니다.

make install-plugin
make install-daemon
make install-config

systemd 아래에 NRPE 데몬을 서비스로 설치합니다.

make install-init
7단계: NRPE 플러그인 구성

이제 /usr/local/nagios/etc/nrpe.cfg 파일을 열고 Nagios의 로컬 호스트 및 IP 주소를 추가하세요. 모니터링 서버.

allowed_hosts=127.0.0.1,192.168.102

그런 다음 nrpe 서비스를 활성화하고 다시 시작하십시오.

systemctl enable nrpe
systemctl restart nrpe
8단계: 방화벽에서 NRPE 포트 열기

로컬 시스템의 방화벽이 원격 서버에서 NRPE 데몬에 액세스할 수 있도록 허용하는지 확인하세요. 이를 수행하려면 다음 iptables 명령을 실행하십시오.

firewall-cmd --zone=public --add-port=5666/tcp
firewall-cmd --zone=public --add-port=5666/tcp --permanent
8단계: 로컬에서 NRPE 데몬 확인

다음 netstat 명령을 실행하여 NRPE 데몬이 systemd에서 올바르게 작동하는지 확인하세요.


# netstat -at | grep nrpe
OR
netstat -na | grep "5666"


tcp        0      0 0.0.0.0:nrpe            0.0.0.0:*               LISTEN     
tcp6       0      0 [::]:nrpe               [::]:*                  LISTEN 

위와 비슷한 결과가 나오면 제대로 작동하고 있다는 뜻입니다. 그렇지 않은 경우에는 다음 사항을 꼭 확인하시기 바랍니다.

  • /etc/services 파일에 nrpe 항목이 올바르게 추가되었는지 확인하세요.
  • allowed_hosts에는 /usr/local/nagios/etc/nrpe.cfg 파일의 "nagios_ip_address"에 대한 항목이 포함되어 있습니다.
  • nrpe에 대한 시스템 로그 파일의 오류를 확인하고 해당 문제를 해결하세요.

다음으로, 이전에 테스트 목적으로 설치한 "check_nrpe" 명령을 실행하여 NRPE 데몬이 제대로 작동하는지 확인합니다.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

화면에 다음 문자열이 표시되며, 설치된 NRPE 버전을 보여줍니다.

NRPE v4.0.2
9단계: NRPE 명령 사용자 정의

설치된 기본 NRPE 구성 파일에는 이 시스템을 모니터링하는 데 사용되는 여러 명령 정의가 있습니다. 샘플 구성 파일은 다음 위치에 있습니다.

vi /usr/local/nagios/etc/nrpe.cfg

다음은 구성 파일의 맨 아래에 있는 기본 명령 정의입니다. 당분간은 이러한 명령을 사용한다고 가정합니다. 다음 명령을 사용하여 확인할 수 있습니다.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_users

USERS OK - 1 users currently logged in |users=1;5;10;0
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_load

OK - load average: 3.90, 4.37, 3.94|load1=3.900;15.000;30.000;0; load5=4.370;10.000;25.000;0; load15=3.940;5.000;20.000;0;
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_hda1

DISK OK - free space: /boot 154 MB (84% inode=99%);| /boot=29MB;154;173;0;193
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_total_procs

PROCS CRITICAL: 297 processes
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_zombie_procs

PROCS OK: 0 processes with STATE = Z

NRPE 구성 파일을 편집하여 새 명령 정의를 편집하고 추가할 수 있습니다. 마지막으로 원격 Linux 호스트에 NRPE 에이전트를 성공적으로 설치하고 구성했습니다.

이제 NRPE 구성 요소를 설치하고 Nagios 모니터링 서버에 일부 서비스를 추가할 차례입니다…

Nagios 모니터링 서버에 NRPE 설치

이제 Nagios 모니터링 서버에 로그인하세요. 여기에서 다음 작업을 수행해야 합니다.

  • check_nrpe 플러그인을 설치하세요.
  • check_nrpe 플러그인을 사용하여 Nagios 명령 정의를 만듭니다.
  • 원격 Linux 호스트를 모니터링하기 위해 Nagios 호스트를 만들고 서비스 정의를 추가합니다.
1단계: Nagios에 NRPE 플러그인 설치

nagios 다운로드 디렉토리로 이동하여 최신 NRPE 플러그인을 다운로드하거나 다음 wget 명령을 사용하세요.

cd /root/nagios
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

NRPE 소스 코드 tarball의 압축을 풉니다.

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

NRPE 애드온을 컴파일하고 설치합니다.

./configure
make all
make install-plugin
make install-daemon
make install-init
2단계: 원격으로 NRPE 데몬 확인

check_nrpe 플러그인이 원격 Linux 호스트의 NRPE 데몬과 통신할 수 있는지 확인하세요. 아래 명령에 IP 주소원격 Linux 호스트의 IP 주소와 함께 추가하세요.

/usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address>

다음과 같이 원격 호스트에 설치된 NRPE 버전을 보여주는 문자열을 다시 받게 됩니다.

NRPE v4.0.2

플러그인 시간 초과 오류가 발생하는 경우 다음 사항을 확인하세요.

  • 방화벽이 원격 호스트모니터링 호스트 사이의 통신을 차단하고 있지 않은지 확인하세요.
  • NRPE 데몬이 systemd에 올바르게 설치되었는지 확인하세요.
  • 원격 Linux 호스트 방화벽 규칙이 모니터링 서버NRPE 데몬과 통신하는 것을 차단하는지 확인하세요.

Nagios 모니터링 서버에 원격 Linux 호스트 추가

원격 호스트를 추가하려면 "/usr/local/nagios/ 아래에 "hosts.cfg" 및 "services.cfg"라는 두 개의 새 파일을 만들어야 합니다. etc/' 위치.

1단계: Nagios 호스트 및 서비스 파일 생성
cd /usr/local/nagios/etc/
touch hosts.cfg
touch services.cfg

이제 이 두 파일을 기본 Nagios 구성 파일에 추가하세요. 편집기를 사용하여 nagios.cfg 파일을 엽니다.

vi /usr/local/nagios/etc/nagios.cfg

이제 아래와 같이 새로 생성된 두 개의 파일을 추가합니다.

You can specify individual object config files as shown below:
cfg_file=/usr/local/nagios/etc/hosts.cfg
cfg_file=/usr/local/nagios/etc/services.cfg
2단계: Nagios 호스트 및 서비스 파일 구성

이제 hosts.cfg 파일을 열고 아래와 같이 기본 호스트 템플릿 이름을 추가하고 원격 호스트를 정의합니다. host_name, aliasaddress를 원격 호스트 서버 세부정보로 바꾸세요.

vi /usr/local/nagios/etc/hosts.cfg
## Default Linux Host Template ##
define host{
name                            linux-box               ; Name of this template
use                             generic-host            ; Inherit default values
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                       ; DONT REGISTER THIS - ITS A TEMPLATE
}

## Default
define host{
use                             linux-box               ; Inherit default values from a template
host_name                       tecmint		        ; The name we're giving to this server
alias                           CentOS 6                ; A longer name for the server
address                         5.175.142.66            ; IP address of Remote Linux host
}

다음으로 services.cfg 파일을 열고 모니터링할 다음 서비스를 추가합니다.

vi /usr/local/nagios/etc/services.cfg
define service{
        use                     generic-service
        host_name               tecmint
        service_description     CPU Load
        check_command           check_nrpe!check_load
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Total Processes
        check_command           check_nrpe!check_total_procs
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Current Users
        check_command           check_nrpe!check_users
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     SSH Monitoring
        check_command           check_nrpe!check_ssh
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     FTP Monitoring
        check_command           check_nrpe!check_ftp
        }
3단계: NRPE 명령 정의 구성

이제 commands.cfg 파일에 NRPE 명령 정의를 생성해야 합니다.

vi /usr/local/nagios/etc/objects/commands.cfg

파일 맨 아래에 다음 NRPE 명령 정의를 추가합니다.

###############################################################################
NRPE CHECK COMMAND
#
Command to use NRPE to check remote host systems
###############################################################################

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

마지막으로 Nagios 구성 파일에 오류가 있는지 확인하십시오.

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Total Warnings: 0
Total Errors:   0

마지막으로 Nagios를 다시 시작하여 최근 구성 변경 사항을 적용합니다.

systemctl restart nagios
4단계: Nagios에서 원격 Linux 모니터링

이제 "http://Your-server-IP-address/nagios" 또는 "http://FQDN/nagios"에서 Nagios 모니터링 웹 인터페이스로 이동합니다. ” 및 사용자 이름 “nagiosadmin ” 및 비밀번호를 제공합니다. 원격 Linux 호스트가 추가되어 모니터링되고 있는지 확인하세요.

결론

그게 다야! 지금은 다음 기사에서 Nagios 모니터링 서버Windows 호스트를 추가하는 방법을 보여 드리겠습니다. Nagios에 원격 호스트를 추가하는 데 어려움이 있는 경우.

댓글 섹션을 통해 질문이나 문제에 대해 댓글을 달아주세요. 그때까지 linux-console.net에서 더 많은 귀중한 기사를 확인하시기 바랍니다.