서버 모니터링 · 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 설치를 다룰 것입니다.
우리가 할 일:
- Nginx 웹 서버 설치.
- 우분투 16.04에 Netdata 모니터링 도구 설치.
- Nginx ‘stub_status’ 모듈 활성화.
- Nginx 모니터링을 위한 Netdata 구성.
- UFW 방화벽 구성.
- 테스트.
전제 조건
- 우분투 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 웹 서버가 설치되었습니다.
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
‘netdata’ 디렉토리로 이동하고 sudo 권한으로 설치 스크립트 ‘netdata-installer.sh’를 실행합니다.
cd netdata/
sudo ./netdata-installer.sh‘Enter’를 눌러 Netdata 설치를 계속합니다.

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

Netdata 모니터링 도구는 systemd 시스템을 위한 서비스 스크립트를 제공합니다. 아래의 systemctl 명령어를 사용하여 netdata를 시작하고 부팅 시 자동으로 실행되도록 추가합니다.
systemctl start netdata
systemctl enable netdata기본적으로 포트 19999에서 실행되고 있습니다. netstat로 포트를 확인하고 ‘LISTEN’ 상태에서 포트 19999가 있는지 확인합니다.
netstat -plntu
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;
}저장하고 종료합니다.

nginx 구성을 테스트하고 오류가 없는지 확인한 후 nginx 서비스를 재시작합니다.
nginx -t
systemctl restart nginxNginx ‘stub_status’ 모듈이 활성화되었습니다. 아래의 netstat 명령어로 확인합니다.
curl http://127.0.0.1/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을 종료합니다.

이제 systemctl을 사용하여 Netdata를 재시작합니다.
systemctl restart netdataNginx 모니터링을 위한 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 enable‘ y ‘를 입력하여 확인하고 ‘Enter’를 누릅니다.
이 작업이 완료되면 아래와 같이 방화벽 상태를 확인합니다.
ufw status그리고 아래와 같이 새로운 포트가 목록에 있는지 확인합니다.

6단계 - 테스트
브라우저를 열고 포트 19999와 함께 서버 주소를 입력합니다.
Netdata 대시보드를 볼 수 있어야 합니다.

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

이제 Nginx 웹 서버가 Netdata로 모니터링되고 있으며, Netdata가 우분투 16.04 서버에 설치되었습니다.
참고
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.