서버 모니터링 · 3 min read · Oct 31, 2025

우분투 16.04에서 Netdata를 사용하여 Nginx 모니터링하는 방법

Netdata는 리눅스 서버를 위한 오픈 소스 모니터링 도구입니다. 아름다운 대시보드와 분석을 통해 실시간 성능 및 건강 모니터링을 제공합니다. Netdata는 모든 리눅스 배포판에서 실행될 수 있으며, Alpine Linux, Arch Linux, CentOS, Ubuntu 등에서 테스트되었습니다. CPU, 메모리 사용량, IPv4 및 v6, Nginx, fail2ban, MySQL, MongoDB 등의 사용자 애플리케이션을 모니터링합니다.

이 튜토리얼에서는 Netdata를 사용하여 Nginx를 모니터링하는 방법을 보여드리겠습니다. 튜토리얼에서는 Nginx 웹 서버 설치, Nginx에서 ‘stub_status’ 모듈 활성화 및 우분투 16.04 Xenial Xerus에서 Netdata 설치를 다룰 것입니다.

우리가 할 일:

  1. Nginx 웹 서버 설치.
  2. 우분투 16.04에 Netdata 모니터링 도구 설치.
  3. Nginx ‘stub_status’ 모듈 활성화.
  4. Nginx 모니터링을 위한 Netdata 구성.
  5. UFW 방화벽 구성.
  6. 테스트.

전제 조건

  • 우분투 16.04 서버
  • 루트 권한

1단계 - Nginx 웹 서버 설치

첫 번째 단계는 저장소에서 Nginx 웹 서버를 설치하는 것입니다. Nginx를 설치하기 전에 우분투 저장소를 업데이트합니다.

apt update

아래의 apt install 명령어를 사용하여 우분투 저장소에서 Nginx를 설치합니다.

apt install -y nginx

설치가 완료되면 Nginx를 시작하고 부팅 시 자동으로 시작되도록 systemctl 명령어를 사용하여 추가합니다.

systemctl start nginx  
systemctl enable nginx

웹 서버가 실행 중입니다. curl로 확인합니다.

curl -I localhost

아래 스크린샷과 같이 ‘200 OK’ HTTP 상태 결과가 있는지 확인합니다.

Nginx 설치

Nginx 웹 서버가 설치되었습니다.

2단계 - 우분투 16.04에 Netdata 모니터링 도구 설치

이 단계에서는 소스에서 Netdata 모니터링 도구를 설치합니다. 제공된 설치 프로그램을 사용하여 수동으로 설치하겠습니다. Netdata를 설치하기 전에 필요한 패키지를 설치해야 합니다.

아래의 apt install 명령어를 사용하여 Netdata 설치에 필요한 패키지를 설치합니다.

apt install -y zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl

모든 패키지가 설치되면 git 명령어를 사용하여 github에서 Netdata의 소스 코드를 다운로드합니다.

git clone https://github.com/firehol/netdata.git --depth=1

GIT으로 netdata 소스코드 다운로드

‘netdata’ 디렉토리로 이동하고 sudo 권한으로 설치 스크립트 ‘netdata-installer.sh’를 실행합니다.

cd netdata/  
sudo ./netdata-installer.sh

‘Enter’를 눌러 Netdata 설치를 계속합니다.

Netdata 모니터링 도구 설치

설치가 완료되면 아래와 같은 결과를 얻습니다.

netdata가 설치되었습니다

Netdata 모니터링 도구는 systemd 시스템을 위한 서비스 스크립트를 제공합니다. 아래의 systemctl 명령어를 사용하여 netdata를 시작하고 부팅 시 자동으로 실행되도록 추가합니다.

systemctl start netdata  
systemctl enable netdata

기본적으로 포트 19999에서 실행되고 있습니다. netstat로 포트를 확인하고 ‘LISTEN’ 상태에서 포트 19999가 있는지 확인합니다.

netstat -plntu

Netdata가 시작되었습니다

Netdata 모니터링 도구가 설치되었습니다.

3단계 - Nginx ‘stub_status’ 모듈 활성화

Netdata 모니터링 도구를 사용하여 Nginx 웹 서버를 모니터링하려면 추가 구성이 필요합니다. 먼저, nginx ‘stub_status’ 모듈을 가상 호스트 구성에 활성화해야 합니다.

가상 호스트 구성을 편집하기 전에 ‘stub_status’ 모듈이 포함된 nginx 버전이 설치되어 있는지 확인합니다. 아래 명령어로 확인합니다.

nginx -V

아래와 같이 ‘stub_status’ 모듈이 있는지 확인합니다.

다음으로 nginx 구성 디렉토리로 이동하고 vim 편집기로 ‘default’ 가상 호스트 파일을 편집합니다.

cd /etc/nginx/sites-available/  
vim default

아래 구성을 ‘server {}‘ 블록에 붙여넣습니다.

    location /stub_status {  
        stub_status;  
        # 보안: 아래 IP에서만 접근 허용.  
        allow 127.0.0.1;  
        # 다른 모든 사람은 거부  
        deny all;  
    }

저장하고 종료합니다.

stub_status 활성화

nginx 구성을 테스트하고 오류가 없는지 확인한 후 nginx 서비스를 재시작합니다.

nginx -t  
systemctl restart nginx

Nginx ‘stub_status’ 모듈이 활성화되었습니다. 아래의 netstat 명령어로 확인합니다.

curl http://127.0.0.1/stub_status

아래와 같은 결과를 얻습니다.

Nginx에서 stub_status가 활성화되었습니다

4단계 - Nginx 모니터링을 위한 Netdata 구성

Netdata는 시스템에 설치된 애플리케이션을 모니터링하기 위한 Python 모듈을 제공합니다. Nginx 웹 서버를 Netdata로 모니터링하려면 Nginx 모듈 ‘stub_status’가 필요하며, 이미 활성화되었습니다.

이제 netdata 구성 디렉토리로 이동합니다. 그런 다음 python.d 디렉토리의 nginx.conf 파일을 편집합니다.

cd /etc/netdata/  
vim python.d/nginx.conf

아래와 같은 구성이 있는지 확인합니다.

localhost:  
  name : 'local'  
  url  : 'http://localhost/stub_status'

파일을 저장하고 vim을 종료합니다.

Nginx를 위한 Netdata 구성

이제 systemctl을 사용하여 Netdata를 재시작합니다.

systemctl restart netdata

Nginx 모니터링을 위한 Netdata 구성이 완료되었습니다.

5단계 - UFW 방화벽 구성

이 튜토리얼에서는 우분투 방화벽 UFW를 활성화합니다. HTTP 및 HTTPS 포트를 열고, Netdata 대시보드 접근을 위해 새로운 포트 19999를 엽니다.

UFW 방화벽 패키지가 설치되어 있는지 확인하고, 설치되어 있지 않다면 아래 명령어를 사용하여 설치합니다.

apt install -y ufw

이제 ssh, http, https 및 netdata 포트 19999를 ‘ufw allow’ 명령어로 엽니다.

ufw allow ssh  
ufw allow http  
ufw allow https  
ufw allow 19999/tcp

UFW 방화벽 구성

다음으로 UFW 방화벽을 시작하고 부팅 시 자동으로 시작되도록 추가합니다.

ufw enable

y ‘를 입력하여 확인하고 ‘Enter’를 누릅니다.

이 작업이 완료되면 아래와 같이 방화벽 상태를 확인합니다.

ufw status

그리고 아래와 같이 새로운 포트가 목록에 있는지 확인합니다.

UFW 방화벽 상태

6단계 - 테스트

브라우저를 열고 포트 19999와 함께 서버 주소를 입력합니다.

http://192.168.1.11:19999/

Netdata 대시보드를 볼 수 있어야 합니다.

Netdata 모니터 대시보드

오른쪽의 ‘nginx local’을 클릭하여 Nginx의 활성 연결, 요청, 상태 및 연결 속도를 확인합니다.

Netdata 모니터에서 Nginx 상태

이제 Nginx 웹 서버가 Netdata로 모니터링되고 있으며, Netdata가 우분투 16.04 서버에 설치되었습니다.

참고

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.