IMG-LOGO
공지사항 :

Nagios Core

lmkfox - 2025-03-06 06:52:57 49 Views 0 Comment

Nagios Core 개요

Nagios Core는 오픈 소스 기반의 IT 인프라 모니터링 솔루션으로, 서버, 네트워크 장비, 애플리케이션, 서비스 등을 실시간으로 감시할 수 있는 도구이다. 기업과 기관에서 시스템 가용성을 유지하고 장애를 조기에 감지하는 데 널리 사용된다.

1. Nagios Core의 주요 특징

1.1 다양한 모니터링 대상 지원

서버: Linux, Windows, macOS 등

네트워크 장비: 라우터, 스위치, 방화벽 (SNMP 활용 가능)

애플리케이션 및 서비스: 웹 서버(Apache, Nginx), 데이터베이스(MySQL, PostgreSQL), 클라우드 환경(AWS, Azure)

하드웨어 상태: CPU, 메모리, 디스크, 네트워크 트래픽

1.2 모니터링 방식

Nagios Agent 기반 (NRPE, NSClient++): 원격 서버에서 직접 데이터를 수집

에이전트리스 방식 (SNMP, HTTP, SSH, API): 원격 장비와 애플리케이션을 모니터링

플러그인 확장 지원: 사용자 정의 스크립트(쉘, Python 등)로 맞춤형 모니터링 가능

1.3 장애 감지 및 알림 시스템

• 서비스 다운, 서버 과부하, 네트워크 장애 감지 가능

이메일, SMS, Slack, PagerDuty 등과 연동하여 알람 전송

자동 복구 스크립트 실행 가능 (예: 웹 서버 장애 발생 시 자동 재시작)

1.4 확장성과 커스터마이징

플러그인 시스템 지원 → 3000개 이상의 플러그인 활용 가능

Nagios XI (상용 버전) 및 타사 모듈과 연동 가능

웹 인터페이스 제공 → Nagios Core UI 및 타사 UI(예: Nagiosgraph, Check_MK) 활용

2. Nagios Core 아키텍처

2.1 주요 컴포넌트

1. Nagios Core: 모니터링 엔진으로, 모든 감시 작업을 수행

2. Nagios Plugins: 서비스 상태를 체크하는 플러그인 모음

3. Nagios Configuration Files: 호스트, 서비스, 알람 등의 설정을 저장하는 파일

4. NRPE (Nagios Remote Plugin Executor): 원격 서버에서 모니터링 데이터를 수집하는 에이전트

5. Web Interface: 웹 UI를 통해 시스템 상태를 시각적으로 확인

2.2 모니터링 흐름

1. Nagios Core가 정의된 호스트 및 서비스의 상태를 주기적으로 검사

2. 플러그인을 실행하여 서버/서비스의 응답 상태를 확인

3. 상태 변경(예: 정상 → 장애)이 발생하면 알람을 전송

4. 시스템 관리자 또는 자동 복구 스크립트가 대응

3. Nagios Core 설치 및 설정 (Ubuntu 20.04 기준)

3.1 필수 패키지 설치

sudo apt update
sudo apt install -y apache2 php libapache2-mod-php build-essential libgd-dev unzip

3.2 Nagios Core 다운로드 및 설치

cd /usr/src
sudo wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz
sudo tar -xvf nagios-4.4.6.tar.gz
cd nagios-4.4.6
sudo ./configure --with-httpd-conf=/etc/apache2/sites-enabled
sudo make all
sudo make install-groups-users
sudo usermod -aG nagios www-data
sudo make install
sudo make install-daemoninit
sudo make install-commandmode
sudo make install-config
sudo make install-webconf

3.3 웹 인터페이스 설정

sudo a2enmod rewrite cgi
sudo systemctl restart apache2
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

3.4 서비스 시작

sudo systemctl enable nagios
sudo systemctl start nagios

3.5 웹 UI 접속

• 브라우저에서 http://<Nagios 서버 IP>/nagios 접속

• 로그인 ID: nagiosadmin, 설정한 비밀번호 입력

4. Nagios Core 기본 설정

4.1 호스트 추가 (예: Linux 서버 모니터링)

1. 설정 파일 열기

sudo nano /usr/local/nagios/etc/servers/linux-server.cfg

2. 아래 내용 추가

define host {
    use                     linux-server
    host_name               my-linux-server
    alias                   My Linux Server
    address                 192.168.1.100
    max_check_attempts      5
    check_period            24x7
    notification_interval   30
    notification_period     24x7
}

3. 설정 반영 후 Nagios 재시작

sudo systemctl restart nagios

5. Nagios Core 활용 예제

5.1 웹 서버 모니터링 (Apache/Nginx)

• check_http 플러그인을 사용하여 웹 서버 가용성 확인

• 명령 실행 예제:

/usr/local/nagios/libexec/check_http -H www.example.com

• 설정 추가 (commands.cfg)

define command {
    command_name    check_http
    command_line    $USER1$/check_http -H $ARG1$
}

6. Nagios Core의 장점과 단점

6.1 장점

완전한 오픈 소스 (무료로 사용 가능)

경량화된 구조 (낮은 리소스 사용량)

강력한 확장성 (플러그인, API 활용 가능)

다양한 알람 연동 (Email, Slack, SMS 등)

에이전트 및 에이전트리스 모니터링 지원

6.2 단점

설정 파일 기반 관리 → UI 기반 설정이 제한적

초기 설정이 복잡함 (수동 설정 필요)

실시간 대시보드 부족 (Nagiosgraph 등의 추가 설치 필요)

대규모 시스템에서 성능 한계 (대량의 호스트 모니터링 시 부하 발생)

7. Nagios Core와 다른 모니터링 도구 비교

기능

Nagios Core

Zabbix

Prometheus

Datadog (유료)

설치 및 설정

중간 난이도

복잡함

쉬움 (컨테이너 기반)

간편함

확장성

플러그인 기반

템플릿 기반

강력한 시계열 DB

SaaS 기반

실시간 분석

제한적

강력함

매우 강력함

매우 강력함

알람 시스템

기본 제공

강력함

외부 연동 필요

클라우드 연동

대규모 지원

제한적

강력함

매우 강력함

매우 강력함

8. 결론

Nagios Core는 오픈 소스 기반의 강력한 IT 모니터링 솔루션으로, 서버, 네트워크, 애플리케이션을 감시하는 데 적합하다. 플러그인을 활용해 기능을 확장할 수 있지만, 설정이 복잡하고 대규모 환경에서는 성능이 제한될 수 있다. 보다 직관적인 대시보드와 자동화 기능을 원한다면 Nagios XI(상용 버전) 또는 다른 솔루션(Zabbix, Prometheus)과 비교하여 선택하는 것이 좋다.


댓글