본문 바로가기
모니터링

[nagios] nagios 모니터링 툴 설치하기

by 오송나라 2024. 9. 2.
728x90

1. Selinux 해지하기

vi /etc/selinux/config

SELINUX=disabled # 해당 부분 disabled 로 변경

2. firewalld 끄기

systemctl disabled firewalld
  • reboot 하기

3. Nagios 서버 설치

3.1 Nagios 서버 설치 전 작업

  • 필요 패키지 설치
yum install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel xinetd unzip httpd php -y
xinetd 설치 안될 수 있어. 안되는 부분은 구글링 하여 해결
  • php 파일 생성
vi /var/www/html/index.php

<?php
	phpinfo();
?>
  • Apache 서버 재 시작
systemctl restart httpd

3.2 Nagios 서버 패키지 설치

  • epel 저장소에 Nagios 패키지 존재한다.
yum install epel-release -y
  • Nagios 패키지랑 플러그인 설치
yum install -y nagios-plugins-all nagios

3.3 Nagios 서버 시작

# htpasswd를 이용해 Nagios 서버 관리자 생성하고, 해당 정보를 passwd 파일에 저장 하고, htpasswd는 httpd-tools를 설치해야 한다.
# 생성된 관리자 정보는 Nagios 웹 접속할 때 필요(admin 이 관리자 계정)
htpasswd /etc/nagios/passwd admin

New password : (원하는 password 입력)
Re-type new password : (password 확인)
  • 해당 부분 추가 (Require ip)
vi /etc/httpd/conf.d/nagios.conf

<Directory "/usr/share/nagios/html">
#  SSLRequireSSL
   Options None
   AllowOverride None
   <IfVersion >= 2.3>
      <RequireAll>
         Require all granted
#        Require host 127.0.0.1
         Require ip 127.0.0.1 10.100.13.0/24 10.11.10.0/24 10.11.11.0/24 # 해당 IP주소로 지정하면 이 네트워크에 정의된 사용자만 접근 가능
         AuthName "Nagios Access"
         AuthType Basic
         AuthUserFile /etc/nagios/passwd
         Require valid-user	# /etc/nagios/passwd 저장된 정보를 이용해서 인증을 허용한다라는 의미
      </RequireAll>
   </IfVersion>
   <IfVersion < 2.3>
      Order allow,deny
      Allow from all
#     Order deny,allow
#     Deny from all
#     Allow from 127.0.0.1

      AuthName "Nagios Access"
      AuthType Basic
      AuthUserFile /etc/nagios/passwd
      Require valid-user
   </IfVersion>
</Directory>
  • 서버의 알람 기능 사용 시 연락처 정보 입력
 vi /etc/nagios/objects/contacts.cfg
 
 # 해당 테스트는 email로 진행
 
 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                   sjh@goodmit.co.kr       ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}
  • httpd 재실행
systemctl restart httpd
728x90

3.4 Nagios 서비스 시작

# Nagios 서버 재시작 및 부팅 후 자동 시작 설정
systemctl start nagios
systemctl enable nagios

# Nagios 서버 상태 확인
systemctl status nagios

# -v 명령어로 기본 설정 파일 검사
nagios -v /etc/nagios/nagios.cfg

Nagios Core 4.4.14
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 2023-08-01
License: GPL

Website: https://www.nagios.org
Reading configuration data...
   Read main config file okay...
   Read object config files okay...

Running pre-flight check on configuration data...

Checking objects...
        Checked 8 services.
        Checked 1 hosts.
        Checked 1 host groups.
        Checked 0 service groups.
        Checked 1 contacts.
        Checked 1 contact groups.
        Checked 24 commands.
        Checked 5 time periods.
        Checked 0 host escalations.
        Checked 0 service escalations.
Checking for circular paths...
        Checked 1 hosts
        Checked 0 service dependencies
        Checked 0 host dependencies
        Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0		# 경로 또는 에러 없는 것 확인
Total Errors:   0

3.5 브라우저에서 Nagios 서버 접속

  • http://[서버IP]/nagios 로 접속
  • 아까 설정한 admin / [Password 설정한 값] 으로 로그인

3.6 서버 모니터링 설정

  • 아래의 내용 진행
vi /etc/nagios/nagios.cfg

51 cfg_dir=/etc/nagios/servers
# 해당 51번째 라인 주석 제거

  • 디렉토리가 없을 수 있어 없으면 아래의 내용 진행
mkdir /etc.nagios/servers # 디렉토리 생성

chgrp nagios /etc/nagios/servers/ # 그룹 소유권으로 디렉토리 변경 하고 nagios 그룹이 디렉토리 접근 허용

chmod 750 /etc/nagios/servers/ # nagios 그룹에 읽기 및 실행 권한 부여

3.7 네트워크 장비 host 등록하기

vi /etc/nagios/servers/node1.cfg
  • 아래와 같이 생성해야함.

  • 생성후 아래의 명령어 입력
systemctl restart nagios
  • 그 후 웹에서 정상 확인

728x90