서버에서 Nagios를 구성하려면:

9223 단어 monitoringdevops

지속적인 모니터링이 필요한 이유:

  • 대규모 분포식 응용 프로그램에서 우리는 어떤 문제에 부닥칠지 영원히 모른다.
  • 그중 일부는
  • CI/CD 파이프에 장애가 발생했습니다.
  • 정적 코드 분석.
  • 애플리케이션 측 문제.
  • 인프라 분야의 문제.
  • 대규모 조직에서는 서버 상태 및 어플리케이션 보안이 어떠한 대가를 치르더라도 손상될 수 없습니다.

    지속적인 모니터링이란 무엇입니까?


    지속적인 모니터링은 응용 프로그램 개발의 생명 주기 중의 한 단계로 응용 프로그램이 어떠한 문제가 발생할 때 지속적인 모니터링과 디버깅을 받도록 확보한다.

    지속적인 모니터링 단계:

  • 정의
  • 구축
  • 기구
  • 분석
  • 회복
  • 검토 및 업데이트
  • Nagios 소개:


    Nagios는 시스템, 어플리케이션, 서비스 및 비즈니스 프로세스가 정상적으로 작동하도록 전체 IT 라이프 사이클을 모니터링합니다.

    Nagios의 특징:

  • 주종 구조를 사용한다.
  • 플러그인을 쉽게 작성할 수 있습니다.
  • 좋은 시각화 네트워크 인터페이스.
  • 네트워크 장애 시 이메일이 자동으로 전송됩니다.
  • Nagios 아키텍처:



    Nagios(Ubuntu)를 설치하는 방법:

    $ sudo apt update $ sudo apt install build-essentials libgd-dev openssl libssl-dev unzip apache2 gcc

  • Nagios 사용자 및 그룹은 Nagios 프로세스를 실행하는 데 사용됩니다.
  • $ sudo useradd nagios $ sudo groupadd nagcmd $ sudo usermod -a -G nagcmd nagios $ wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz $ tar xpf nagios-*.tar.gz $ cd nagios-4.4.6 $ ./configure --with-nagios-group=nagios --with-command-group=nagcmd
  • 구성을 보려면 configure 명령을 사용하십시오.
  • 이제 make 명령을 사용하여 프로젝트를 구축하고 설치해야 합니다.
  • $ make -j4 all $ sudo make install
  • Nagios 샘플 파일, 바이너리 파일 및 샘플 구성 파일을 설치하기 위해 명령을 실행합니다.
  • sudo make install
    sudo make install-daemoninit
    sudo make install-commandmode
    sudo make install-config
    
  • Nagios 웹 인터페이스를 위해 아파치를 사용합니다.
  • $ sudo make install-webconf
  • a2enmod 명령을 사용하여 Apache 재작성 및 cgi 모듈을 활성화합니다.
  • $ sudo a2enmod rewrite $ sudo a2enmod cgi
  • 네트워크 인터페이스를 통해 Nagios에 명령을 실행하기 위해 네트워크 서버 사용자 www 데이터를 Nagios 그룹에 추가합니다.
  • $sudo usermod -a -G nagios www-data
  • 다음에 우리는 사용자가 웹 인터페이스에 로그인할 수 있도록 사용자 이름과 비밀번호를 만들어야 한다.
  • $ sudo apt install htpasswd $ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
    Enter Your Password :
    
    Warning: If you create a user with a name other than nagiosadmin
    you will need to edit /usr/local/nagios/etc/cgi.cfg 
    and change all the nagiosadmin references to the user you created.
    
  • Apache 서버 재부팅
  • $ sudo systemctl restart apache2

    Nagios 플러그인을 설치하려면:


    $ cd ~
    $ http://www.nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
    $ tar zxf nagios-plugins-2.2.1.tar.gz
    $ cd nagios-plugins-2.2.1
    
    *configure their installation 
    $ ./configure
    
    * Now build and install the plugin
    
    $ make
    $ sudo make install
    

    이제 check nrpe 플러그인을 설치하여 원격 플러그인을 모니터링해야 합니다.


    cd ~
    curl -L -O https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz
    tar zxf nrpe-3.2.1.tar.gz
    cd nrpe-3.2.1
    ./configure
    
  • check nrpe를 구축하고 설치합니다.
  • make check_nrpe
    sudo make install-plugin
    

    Nagios를 구성하려면:

  • Nagios 구성 파일로 탐색
  • $sudo nano /usr/local/nagios/etc/nagios.cfg
  • 구성 파일에 행 추가
  • ...
    #cfg_dir=/usr/local/nagios/etc/servers
    ...
    
  • 이 행에 대한 설명을 취소합니다.
  • cfg_dir=/usr/local/nagios/etc/servers
    
  • 이제 각 서버의 프로필을 저장할 디렉토리를 만들어야 합니다.
  • $sudo mkdir /usr/local/nagios/etc/serversNagios 연락처 파일을 열려면 다음과 같이 하십시오.$ sudo nano /usr/local/nagios/etc/objects/contacts.cfg전자 우편 지령을 찾아서 지령으로 바꿉니다
    ...
    define contact{
            contact_name                    nagiosadmin             ; Short name of user
            use                             generic-contact         ; Inherit default values from generic-contact template (defined above)
            alias                           Nagios Admin            ; Full name of user
            email                           your_email@your_domain.com        ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
    ...
    
  • 디렉토리로 이동하여 check nrpe 명령을 정의하는 새 명령을 추가합니다.
  • $ sudo nano /usr/local/nagios/etc/objects/commands.cfg
    ...
    define command{
            command_name check_nrpe
            command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
    }
    
    이것은 이름을 정의하고 플러그인을 실행하는 명령줄 옵션을 지정합니다.$ sudo systemctl start nagios

    Nagios 웹 인터페이스에 액세스하려면:


    http://nagios_server_public_ip/nagios
    
    로그인 자격 증명을 입력합니다.

    모니터링:


    ssh가 감시할 서버에 연결됩니다.$ ssh ubuntu@server_ip $ sudo useradd nagios
    cd ~
    curl -L -O https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
    
    tar zxf nagios-plugins-2.2.1.tar.gz
    cd nagios-plugins-2.2.1
    
    그리고 그것을 설정하고 구축합니다$ ./configure $ make $ sudo make install
  • nrpe 데몬을 설치하고 github pages에서 최신 URL을 찾습니다.
  • cd ~
    curl -L -O https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.0/nrpe-4.0.0.tar.gz
    
    tar zxf nrpe-4.0.0.tar.gz
    cd nrpe-4.0.0
    
    $ ./configure
  • 이제 다음 명령을 사용하여 NRPE 및 시작 스크립트를 구축하고 설치합니다.
  • make nrpe
    sudo make install-daemon
    sudo make install-config
    sudo make install-init
    
    $ sudo nano /usr/local/nagios/etc/nrpe.cfg
  • 서버 주소: 모니터링 대상 서버의 전용 IP 주소로 설정합니다.
  • 허용되는 호스트: 쉼표로 구분된 목록에 Nagios 서버의 개인 IP 주소를 추가합니다.
  • 명령 [check hda1]:/dev/hda1을 루트 파일 시스템의 이름으로 변경합니다.
  • ...
    server_address=second_ubuntu_server_private_ip
    ...
    allowed_hosts=127.0.0.1,::1,your_nagios_server_private_ip
    ...
    command[check_vda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/vda1
    ...
    
    $ sudo systemctl start nrpe.service $ sudo ufw allow 5666/tcp
  • 이제 원격 NRPE 서버와의 통신을 확인할 수 있습니다.Nagios 서버에서 다음 명령을 실행합니다.
  • $ /usr/local/nagios/libexec/check_nrpe -H second_ubuntu_server_ip
  • Nagios 서버에서/usr/local/Nagios/etc/servers/에서 모니터링할 각 원격 호스트에 대한 새 프로필을 만듭니다.강조 표시된 단어인 "모니터링 대상 서버"및 "호스트 이름"을 호스트 이름으로 바꾸십시오.
  • $ sudo nano /usr/local/nagios/etc/servers/your_monitored_server_host_name.cfg
  • 다음 호스트 정의를 추가하여 호스트 이름 값을 원격 호스트 이름으로 바꾸고, 별칭 값을 호스트 설명으로 바꾸며, 주소 값을 원격 호스트의 전용 IP 주소로 바꿉니다.
  • define host {
            use                             linux-server
            host_name                       your_monitored_server_host_name
            alias                           My client server
            address                         your_monitored_server_private_ip
            max_check_attempts              5
            check_period                    24x7
            notification_interval           30
            notification_period             24x7
    }
    
  • 일부 서비스 추가
  • 우선 이 블록을 추가하여 평균 로드를 모니터링합니다.
  • define service {
            use                             generic-service
            host_name                       your_monitored_server_host_name
            service_description             Load average
            check_command                   check_nrpe!check_load
    }
    
  • 그런 다음 이 블록을 추가하여 디스크 사용을 모니터링합니다.
  • define service {
            use                             generic-service
            host_name                       your_monitored_server_host_name
            service_description             /dev/vda1 free space
            check_command                   check_nrpe!check_vda1
    }
    
    이제 웹 인터페이스를 다시 시작하고 탐색합니다.$ sudo systemctl restart nagios

    읽어주셔서 감사합니다.🤖🤖🤖

    좋은 웹페이지 즐겨찾기