CentOS 8, Nagios core 설치

CentOS 8 , Nagios 설치하기.

설치환경
OS: CentOS8, selinux disabled
firewalld: 사용안함.
IP 주소: 192.168.0.3

1. Nagios 설치에 필요한 패키지를 설치한다.

컴파일러 설치

# yum group install "development tools"

Nagios 설치에 필요한 패키지를 설치.

# yum install httpd php php-cli net-snmp net-snmp-utils epel-release postfix

2. Nagios 다운로드
글쓰는 시점의 최신버전은 4.4.6이며, 이 버전의 소스코드를 다운로드한다.

# wget https://github.com/NagiosEnterprises/nagioscore/releases/download/nagios-4.4.6/nagios-4.4.6.tar.gz

3. Nagios 컴파일 및 설치

소스 코드의 압축을 푼다.

# tar xvzpf nagios-4.4.6.tar.gz

압축을 해제한 디렉토리로 이동한다.

# cd nagios-4.4.6

configure에 옵션을 주지 않으면 아래와 같은 화면을 볼 수 있다. 즉, 기본 설치 위치가 /usr/local/nagios 가 된다.

# ./configure
...
*** Configuration summary for nagios 4.4.6 2020-04-28 ***:

 General Options:
 -------------------------
        Nagios executable:  nagios
        Nagios user/group:  nagios,nagios
       Command user/group:  nagios,nagios
             Event Broker:  yes
        Install ${prefix}:  /usr/local/nagios
    Install ${includedir}:  /usr/local/nagios/include/nagios
                Lock file:  /run/nagios.lock
   Check result directory:  /usr/local/nagios/var/spool/checkresults
           Init directory:  /lib/systemd/system
  Apache conf.d directory:  /etc/httpd/conf.d
             Mail program:  /usr/sbin/sendmail
                  Host OS:  linux-gnu
          IOBroker Method:  epoll

 Web Interface Options:
 ------------------------
                 HTML URL:  http://localhost/nagios/
                  CGI URL:  http://localhost/nagios/cgi-bin/
 Traceroute (used by WAP):

설치 디렉토리를 바꾸고 싶다면, –prefix 옵션을 주어 다시 컴파일 환경을 설정한다. 나는 /opt/nagios에 설치하기 위해 아래 옵션을 주었다.

# ./configure --prefix=/opt/nagios
...

Creating sample config files in sample-config/ ...


*** Configuration summary for nagios 4.4.6 2020-04-28 ***:

 General Options:
 -------------------------
        Nagios executable:  nagios
        Nagios user/group:  nagios,nagios
       Command user/group:  nagios,nagios
             Event Broker:  yes
        Install ${prefix}:  /opt/nagios
    Install ${includedir}:  /opt/nagios/include/nagios
                Lock file:  /run/nagios.lock
   Check result directory:  /opt/nagios/var/spool/checkresults
           Init directory:  /lib/systemd/system
  Apache conf.d directory:  /etc/httpd/conf.d
             Mail program:  /usr/sbin/sendmail
                  Host OS:  linux-gnu
          IOBroker Method:  epoll

 Web Interface Options:
 ------------------------
                 HTML URL:  http://localhost/nagios/
                  CGI URL:  http://localhost/nagios/cgi-bin/
 Traceroute (used by WAP):


Review the options above for accuracy.  If they look okay,
type 'make all' to compile the main program and CGIs.

make 명령어로 컴파일한다. 컴파일이 끝나면 아래와 같이 설치 옵션을 보여준다.

# make all

...

*** Compile finished ***

If the main program and CGIs compiled without any errors, you
can continue with testing or installing Nagios as follows (type
'make' without any arguments for a list of all possible options):

  make test
     - This runs the test suite

  make install
     - This installs the main program, CGIs, and HTML files

  make install-init
     - This installs the init script in /lib/systemd/system

  make install-daemoninit
     - This will initialize the init script
       in /lib/systemd/system

  make install-groups-users
     - This adds the users and groups if they do not exist

  make install-commandmode
     - This installs and configures permissions on the
       directory for holding the external command file

  make install-config
     - This installs *SAMPLE* config files in /opt/nagios/etc
       You'll have to modify these sample files before you can
       use Nagios.  Read the HTML documentation for more info
       on doing this.  Pay particular attention to the docs on
       object configuration files, as they determine what/how
       things get monitored!

  make install-webconf
     - This installs the Apache config file for the Nagios
       web interface

  make install-exfoliation
     - This installs the Exfoliation theme for the Nagios
       web interface

  make install-classicui
     - This installs the classic theme for the Nagios
       web interface


*** Support Notes *******************************************

If you have questions about configuring or running Nagios,
please make sure that you:

     - Look at the sample config files
     - Read the documentation on the Nagios Library at:
           

before you post a question to one of the mailing lists.
Also make sure to include pertinent information that could
help others help you.  This might include:

     - What version of Nagios you are using
     - What version of the plugins you are using
     - Relevant snippets from your config files
     - Relevant error messages from the Nagios log file

For more information on obtaining support for Nagios, visit:

       

*************************************************************

Enjoy.

install 하기 전에, nagoos 사용자와 그룹을 만든다.

# groupadd nagios
# useradd -g nagios nagios

컴파일된 nagios 바이너리 파일을 설치한다.

# make install
# ls -l /opt/
total 0
drwxr-xr-x 7 root root 68 Aug 18 00:06 nagios

/opt 디렉토리 아래에, nagios가 설치된 것을 볼 수 있다.

nagios 는 외부 어플리케이션의 명령을 처리할 수 있다. 아래 명령을 내리면 외부 명령 디렉토리를 만들고 퍼미션이 조정된다.

# make install-commandmode
/usr/bin/install -c -m 775 -o nagios -g nagios -d /opt/nagios/var/rw
chmod g+s /opt/nagios/var/rw

# ls -l /opt/nagios/var
total 0
..
drwxrwsr-x 2 nagios nagios  6 Aug 18 00:09 rw
..

nagios 예제 설정 파일을 설치한다.

# make install-config

아파치 설정 파일을 설치한다.

# make install-webconf
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/httpd/conf.d/nagios.conf
if [ 0 -eq 1 ]; then \
        ln -s /etc/httpd/conf.d/nagios.conf /etc/apache2/sites-enabled/nagios.conf; \
fi

*** Nagios/Apache conf file installed ***

systemd 가 nagios 서비스를 제어할 수 있도록 unit 파일을 만들고, 확인 해 본다.

# make install-daemoninit
# systemctl status nagios
● nagios.service - Nagios Core 4.4.6
   Loaded: loaded (/usr/lib/systemd/system/nagios.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: https://www.nagios.org/documentation

nagiosadmin 웹 페이지에 접속 할 수 있도록 계정을 만든다. nagios 대신 다른 ID로 바꾸려면, 아래 명령어에서 nagios 대신 원하는 ID를 사용하면 된다.

# htpasswd -c /opt/nagios/etc/htpasswd.users nagios
New password:
Re-type new password:
Adding password for user nagios

apache 웹서버를 재 실행 하고, 재부팅 후에도 실행되도록 등록한다.

# systemctl restart httpd
# systemctl enable httpd

3. Nagios 플러그인을 설치한다.
먼저, 플러그인을 다운로드 받는다. 현 시점에서 최신 버전은 2.3.3 이다. 플러그인은 /opt/nagios/libexec 디렉토리 아래에 설치된다.

# cd 
# wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz

압축을 풀고, 압축푼 디렉토리로 이동한다.
# tar xvzpf nagios-plugins-2.3.3.tar.gz
# cd nagios-plugins-2.3.3
# ./configure --frefix=/opt/nagios
# make
# make install

이제, nagios 서비스를 실행한다.

# systemctl start nagios

웹브라우저를 실행하고, nagios 페이지에 접속하면, ID, Password를 물어본다. 위의 htpasswd로 설정한 ID 와 비밀번호를 입력하면,
아래와 같은 nagios 초기 화면을 볼 수 있을 것이다.
l

참고문서:
https://linuxize.com/post/how-to-install-and-configure-nagios-on-centos-7/
https://github.com/nagios-plugins/nagios-plugins

답글 남기기

Your email address will not be published.