본문 바로가기
네트워크 (LAN,WAN)

IT 인프라 및 서비스 모니터링 도구 Nagios 구축

by 날으는물고기 2023. 10. 23.

IT 인프라 및 서비스 모니터링 도구 Nagios 구축

Nagios는 IT 인프라 및 서비스를 모니터링하고 관리하는 데 사용되는 오픈 소스 모니터링 도구입니다.

아래에서는 Nagios의 목적을 이해하고 Docker를 사용하여 Nagios를 구축하고 활용하는 단계별 자세한 설명을 제공합니다.

단계 1: Docker 설치 및 구성

  1. Docker 설치: 먼저 Docker를 설치하십시오. 운영 체제에 따라 Docker의 설치 방법이 다를 수 있습니다. 공식 Docker 문서에서 제공하는 지침을 따르십시오.
  2. Docker Compose 설치 (선택 사항): Docker Compose를 설치하면 여러 컨테이너를 관리하고 설정할 수 있습니다. 필요한 경우 Docker Compose도 설치하십시오.

단계 2: Nagios Docker 이미지 가져오기

  1. Nagios Docker 이미지 가져오기: Nagios를 Docker 컨테이너로 실행하기 위한 Docker 이미지를 Docker Hub에서 가져옵니다. 일반적으로 "jasonrivers/nagios"와 같은 이미지를 사용할 수 있습니다.
    docker pull jasonrivers/nagios:latest

단계 3: Nagios 컨테이너 설정

  1. Nagios 컨테이너 실행: Nagios 컨테이너를 실행합니다. 이때 환경 변수를 사용하여 Nagios 관리자 비밀번호와 웹 URL 경로를 설정합니다. 아래는 예제 명령어입니다.
    docker run -d \
      --name nagios4 \
      -p 8080:80 \
      -e NAGIOSADMIN_PASS=password \
      -e NAGIOSURL="/nagios" \
      jasonrivers/nagios:latest
    • -d: 컨테이너를 백그라운드에서 실행합니다.
    • --name: 컨테이너의 이름을 설정합니다.
    • -p: 호스트와 컨테이너 간의 포트 매핑을 설정합니다. 이 예제에서는 8080 포트를 사용합니다.
    • -e: 환경 변수를 설정합니다. NAGIOSADMIN_PASSNAGIOSURL은 Nagios 관리자 비밀번호와 웹 URL 경로를 설정합니다.
  2. Nagios 웹 대시보드에 액세스: 컨테이너가 실행되면 웹 브라우저에서 다음 URL을 사용하여 Nagios 웹 대시보드에 액세스합니다.
    http://localhost:8080/nagios

단계 4: Nagios 구성 및 사용

  1. 로그인: Nagios 웹 대시보드에 액세스하고 설정을 변경하려면 관리자 계정으로 로그인합니다. 앞서 설정한 관리자 비밀번호를 사용합니다.
  2. 호스트 및 서비스 추가: Nagios를 사용하여 모니터링하려는 호스트 및 서비스를 추가합니다. 대시보드에서 "Configuration" 섹션을 통해 이러한 구성을 수행할 수 있습니다.
  3. 알림 설정: Nagios에서 발생하는 이벤트에 대한 알림을 설정합니다. 이메일, SMS 등의 알림 방법을 구성하고 이벤트에 대한 경고 및 임계값을 설정합니다.
  4. 모니터링: Nagios는 추가한 호스트와 서비스를 모니터링하며 이벤트와 상태 변경을 감지합니다. 대시보드 및 알림을 통해 모니터링 결과를 확인할 수 있습니다.

단계 5: 컨테이너 관리

  1. 컨테이너 중지 및 제거 (선택 사항): Nagios 모니터링을 끝내고 컨테이너를 중지하고 제거하려면 다음 명령어를 사용합니다.이렇게 하면 컨테이너와 관련 데이터가 삭제됩니다.
    docker stop nagios4
    docker rm nagios4

Nagios를 Docker 컨테이너로 실행하고 활용하는 과정은 이러한 단계로 이루어집니다. Nagios는 복잡한 모니터링 요구 사항을 충족하기 위해 구성할 수 있는 강력한 도구이며, Docker를 사용하면 컨테이너화된 환경에서 쉽게 관리할 수 있습니다.

 

Nagios를 사용하여 시스템 모니터링 및 알림을 설정하여 시스템 및 서비스의 상태를 모니터링하고 알림을 수신하려면 다음 단계를 따르십시오.

단계 1: Nagios 설치 및 설정

  1. Nagios 설치: 먼저 Nagios를 설치합니다. Nagios는 리눅스 기반 시스템에서 설치할 수 있으며, 패키지 관리자를 사용하여 설치할 수도 있습니다. 사용 중인 리눅스 배포판에 따라 설치 방법이 다를 수 있습니다.
  2. Nagios Core 설정: Nagios Core는 Nagios의 핵심 엔진입니다. 설치 후 /etc/nagios 디렉토리에 구성 파일을 설정합니다. nagios.cfg와 같은 파일을 수정하여 Nagios를 설정합니다. 모니터링 대상 및 알림 설정 등을 구성할 수 있습니다.

단계 2: 모니터링 대상 추가

  1. 호스트 정의 추가: 모니터링할 호스트를 정의합니다. /etc/nagios/objects/hosts.cfg와 같은 호스트 정의 파일을 만들어 호스트의 이름, IP 주소, 서비스 등을 설정합니다.
    define host {
        use         linux-server
        host_name   example-host
        alias       Example Host
        address     192.168.1.100
    }
  2. 서비스 정의 추가: 호스트에 대한 모니터링 서비스를 정의합니다. /etc/nagios/objects/services.cfg와 같은 서비스 정의 파일을 만들어 서비스 이름, 호스트, 체크 명령 등을 설정합니다.
    define service {
        use                 generic-service
        host_name           example-host
        service_description PING
        check_command       check_ping!100.0,20%!500.0,60%
    }

단계 3: 알림 설정

  1. 알림 커맨드 정의: Nagios에서 사용할 알림 커맨드를 정의합니다. /etc/nagios/objects/commands.cfg와 같은 파일을 만들고 알림 방법(이메일, SMS 등)과 관련된 스크립트 또는 명령을 설정합니다.
    define command {
        command_name    notify-host-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
    }
  2. 알림 커맨드 연결: 서비스 또는 호스트 정의에서 알림 커맨드를 연결합니다.
    define service {
        use                 generic-service
        host_name           example-host
        service_description PING
        check_command       check_ping!100.0,20%!500.0,60%
        notifications_enabled 1
        contacts            nagiosadmin
    }

단계 4: 알림 수신 설정

  1. 연락처 정의: 알림을 수신할 연락처를 정의합니다. /etc/nagios/objects/contacts.cfg와 같은 파일에서 연락처 이름, 이메일 주소 등을 설정합니다.
    define contact {
        contact_name                    nagiosadmin
        use                             generic-contact
        alias                           Nagios Admin
        email                           your-email@example.com
    }
  2. 연락처 그룹 정의: 연락처를 그룹으로 정의할 수 있습니다. 이렇게 하면 그룹에 속한 모든 연락처에게 알림을 전송할 수 있습니다.
    define contactgroup {
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 nagiosadmin
    }

단계 5: Nagios 실행 및 모니터링

  1. Nagios 실행: Nagios를 시작합니다. 일반적으로 다음 명령어를 사용합니다.
    systemctl start nagios
  2. 웹 대시보드 액세스: 웹 브라우저를 사용하여 Nagios 웹 대시보드에 액세스합니다. 기본적으로 http://your-server/nagios 또는 http://localhost/nagios와 같은 URL을 사용할 수 있습니다. 로그인하여 모니터링 상태 및 알림을 확인할 수 있습니다.

단계 6: 모니터링 확장 (선택 사항)

Nagios를 더 확장하려면 다음과 같은 추가 단계를 수행할 수 있습니다:

  • 플러그인 설치: Nagios 플러그인을 사용하여 더 다양한 모니터링 작업을 수행할 수 있습니다. 필요한 플러그인을 설치하고 추가 서비스 및 호스트 정의를 생성합니다.
  • 성능 데이터 수집: Nagios 그래프를 생성하고 성능 데이터를 수집하려면 PNP4Nagios와 같은 확장을 설치하십시오.
  • 이벤트 핸들링 및 경고 조치: Nagios를 사용하여 이벤트 처리 및 경고 조치를 자동화하려면 이벤트 처리 프로시저 및 스크립트를 구성합니다.

 

이제 Nagios를 사용하여 시스템 모니터링과 알림을 설정하고 활용하는 방법을 이해하셨을 것입니다. Nagios는 확장성이 뛰어나며 고급 모니터링 요구 사항을 충족하기 위해 사용할 수 있는 강력한 도구입니다.

728x90

댓글