모니터링 소프트웨어 · 6 min read · Nov 24, 2025

AlmaLinux 9에 Netdata 모니터링 소프트웨어 설치하는 방법

시스템 메트릭을 수집하고 Netdata로 애플리케이션을 모니터링하세요. Netdata는 서버, 컨테이너 및 애플리케이션을 위한 오픈 소스, 확장 가능하며 실시간 모니터링 시스템입니다.

Netdata는 Linux, Unix, Windows 및 macOS와 같은 다양한 운영 체제에서 메트릭을 수집할 수 있습니다. 또한 Docker 및 Kubernetes와 같은 컨테이너화된 기술을 지원합니다.

AlmaLinux 9 서버에서 Nginx를 역방향 프록시로 사용하여 Netdata를 설치하는 방법을 안내합니다.

전제 조건

시작하기 전에 다음 사항을 확인하세요:

  • AlmaLinux 9 서버.
  • 관리자 권한이 있는 비루트 사용자.
  • 허용 모드의 SELinux.

리포지토리 설정

설치를 시작하기 전에 Netdata를 위한 몇 가지 리포지토리를 추가하고 활성화해야 합니다. EPEL 및 Netdata 리포지토리를 추가한 후 AlmaLinux 서버에서 RHEL crb(코드 준비 빌드) 리포지토리를 활성화합니다.

시작하려면 다음 명령어를 실행하여 dnf-plugins-core 패키지를 설치합니다.

sudo dnf install dnf-plugins-core -y

이제 아래 명령어를 실행하여 EPEL 리포지토리를 추가하고 시스템에서 CRB 리포지토리를 활성화합니다. 진행하라는 메시지가 표시되면 y를 입력하세요.

sudo dnf install epel-release  
sudo dnf config-manager --set-enabled crb

enable epel and crb

다음으로, 아래 명령어를 실행하여 Netdata 리포지토리를 시스템에 추가합니다. 이 경우 Netdata 2.2 리포지토리를 사용합니다.

sudo rpm -ivh https://repo.netdata.cloud/repos/stable/el/9/x86_64/netdata-repo-2-2.noarch.rpm

add repo

작업이 완료되면 아래 명령어를 사용하여 AlmaLinux 머신에서 사용 가능한 리포지토리를 확인합니다.

sudo dnf repolist

받아야 할 출력은 다음과 같습니다:

list repo

Netdata 다운로드 및 설치

리포지토리를 구성했으므로 이제 Netdata 설치를 시작합시다.

이 예제에서는 시스템 및 애플리케이션 모니터링을 위한 추가 플러그인과 함께 Netdata를 설치합니다.

다음 dnf 명령어를 실행하여 Netdata를 설치합니다. GPG 키를 수락하라는 메시지가 표시되면 y를 입력하고 설치가 완료될 때까지 기다립니다.

모든 Netdata 플러그인이 필요하지 않을 수 있으므로 패키지 설치를 조정하세요.

sudo dnf install netdata netdata-plugin-{apps,chartsd,cups,ebpf,go,pythond,perf,freeipmi,slabinfo,systemd-journal}

install netdata

이제 Netdata를 설치한 후 다음 명령어를 실행하여 netdata 서비스를 시작하고 활성화합니다.

sudo systemctl start netdata  
sudo systemctl enable netdata

그런 다음 아래 명령어를 실행하여 netdata 서비스를 확인합니다.

sudo systemctl status netdata

설치가 성공하면 netdata 서비스는 다음과 같이 활성(실행 중) 상태여야 합니다:

start verify netdata

마지막으로, 다음 명령어를 통해 기본 Netdata 포트 19999를 엽니다.

이 예제에서는 Nginx를 역방향 프록시로 설정할 것이므로 포트 19999를 임시로 추가합니다. 다음 섹션에서 설정할 것입니다.

sudo firewall-cmd --add-port=19999/tcp

선호하는 웹 브라우저를 사용하여 서버 IP 주소 뒤에 포트 19999를 입력하여 방문하세요(예: http://192.168.5.50:19999).

모든 것이 잘 진행되면 다음과 같은 Netdata 대시보드를 볼 수 있어야 합니다.

netdata dashboard

Netdata 구성

Netdata를 설치한 후 UNIX 소켓 파일에서 실행되도록 Netdata를 구성합니다. 이렇게 하면 Netdata에 대한 Nginx를 역방향 프록시로 설정할 수 있습니다. 다음 단계에서 수행할 것입니다.

Netdata 구성을 시작하려면 다음 명령어를 실행하여 Netdata 구성을 /etc/netdata/netdata.conf로 다운로드합니다.

wget -O /etc/netdata/netdata.conf http://localhost:19999/netdata.conf

/etc/netdata 디렉토리로 이동하고 아래 명령어를 사용하여 기본 구성 netdata.conf를 엽니다.

cd /etc/netdata  
sudo ./edit-config netdata.conf

[web] 섹션을 찾아 bind to 옵션의 주석을 제거합니다. 그런 다음 기본 바인드 옵션을 UNIX 소켓 unix:/var/run/netdata/netdata.sock으로 변경합니다.

[web]  
    bind to = unix:/var/run/netdata/netdata.sock

작업이 완료되면 파일을 저장하고 닫습니다.

다음으로, 아래 명령어를 실행하여 변경 사항을 적용하기 위해 Netdata를 재시작합니다.

sudo systemctl restart netdata

이 시점에서 Netdata는 unix:/var/run/netdata/netdata.sock에서 UNIX 소켓으로 실행되고 있어야 합니다.

아래 ss 명령어를 사용하여 Netdata UNIX 소켓을 확인합니다.

ss -pl | grep netdata.sock

구성이 성공하면 다음과 같은 결과를 얻어야 합니다:

Nginx를 역방향 프록시로 설치하기

이 시점에서 AlmaLinux 9 서버에 Netdata를 설치했습니다. 다음 단계에서는 Netdata를 위한 역방향 프록시로 Nginx를 설치하고 구성합니다.

또한 이를 위해 도메인 이름이 필요할 수 있으며, 서브 도메인 또는 로컬 도메인 이름을 사용할 수 있습니다.

Nginx 설치

시작하려면 다음 dnf 명령어를 사용하여 Nginx를 설치합니다. 설치를 진행하려면 y를 입력합니다.

sudo dnf install nginx

install nginx

Nginx를 설치한 후, 다음 명령어를 실행하여 서버 블록 디렉토리 /etc/nginx/server-blocks를 만들고 Nginx 구성 /etc/nginx/nginx.conf를 엽니다.

mkdir -p /etc/nginx/server-blocks  
sudo nano /etc/nginx/nginx.conf

http {…} 섹션 내에 아래의 include… 옵션을 추가합니다.

http {  
    ...  
    include /etc/nginx/server-blocks/*.conf;  
}

작업이 완료되면 파일을 저장하고 닫습니다.

서버 블록 구성 추가

다음으로, Netdata 역방향 프록시를 위한 새로운 Nginx 서버 블록 /etc/nginx/server-blocks/netdata.conf를 다음 nano 편집기 명령어를 사용하여 생성합니다.

sudo nano /etc/nginx/server-blocks/netdata.conf

다음 구성을 삽입하고 server_name 매개변수 내에 도메인 이름을 입력하세요. 이 경우, netdata.howtoforge.local 도메인을 사용할 것입니다.

또한, /etc/nginx/.passwords 파일을 사용하여 auth_basic 모듈을 통해 Netdata를 보호할 것입니다.

upstream backend {  
    # Netdata 서버  
    server unix:/var/run/netdata/netdata.sock;  
    keepalive 1024;  
}  
  
server {  
    # nginx가 수신하는 포트  
    listen 80;  
  
    # 이 가상 호스트 이름  
    server_name netdata.howtoforge.local;  
  
    auth_basic "Protected";  
    auth_basic_user_file /etc/nginx/.passwords;  
  
    location / {  
        proxy_set_header X-Forwarded-Host $host;  
        proxy_set_header X-Forwarded-Server $host;  
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
        proxy_pass http://backend;  
        proxy_http_version 1.1;  
        proxy_pass_request_headers on;  
        proxy_set_header Connection "keep-alive";  
        proxy_store off;  
    }  
}

작업이 완료되면 파일을 저장하고 편집기를 종료합니다.

이제 아래 명령어를 실행하여 비밀번호 파일 /etc/nginx/.passwords를 생성합니다.

사용자 alice를 자신의 사용자 이름으로 변경해야 합니다. 그런 다음 비밀번호를 입력하고 반복합니다.

printf "alice:$(openssl passwd -apr1)" > /etc/nginx/.passwords

nginx reverse proxy

이제 아래 명령어를 실행하여 Nginx 구문을 확인합니다. 오류가 없으면 ‘syntax is ok - test is successful‘라는 출력을 받아야 합니다.

sudo nginx -t

그런 다음 다음 명령어를 사용하여 Nginx를 시작하고 활성화합니다.

sudo systemctl start nginx  
sudo systemctl enable nginx

setup nginx

Nginx가 시작되면 아래 명령어를 실행하여 확인합니다.

sudo systemctl status nginx

모든 것이 잘 진행되면 active (running)이라는 출력을 받아 Nginx가 실행되고 있음을 확인할 수 있습니다.

check nginx

HTTP 및 HTTPS 포트 열기

AlmaLinux 서버에서 HTTP 및 HTTPS 포트를 열어 Netdata 설치에 대한 액세스를 허용합니다. 다음 명령어를 실행하여 수행합니다.

sudo firewall-cmd --add-service={http,https} --permanent  
sudo firewall-cmd --reload

이제 아래 명령어를 사용하여 firewalld 규칙을 확인합니다.

sudo firewall-cmd --list-all

firewalld 서비스 목록에 HTTP 및 HTTPS 서비스가 모두 있는지 확인하세요. 그렇지 않으면 이전 명령어를 반복하세요.

setup firewalld

마지막으로, 선호하는 웹 브라우저를 사용하여 http://netdata.howtoforge.local과 같은 Netdata 도메인 이름을 방문하세요.

Nginx 기본 인증을 위해 사용자 이름과 비밀번호를 입력하세요.

nginx basic auth

Nginx 설치가 성공하면 다음과 같은 Netdata 모니터링 대시보드를 볼 수 있어야 합니다:

netdata nginx reverse proxy

SSL/TLS 인증서로 Netdata 보호하기

Nginx를 구성한 후 설치를 보호하기 위해 SSL/TLS 인증서를 생성합니다.

로컬 도메인 이름을 사용하는 경우, 자체 서명된 인증서를 생성할 수 있습니다. 그러나 실제 도메인 이름을 사용하는 경우, 다음 단계를 따라 SSL/TLS 인증서를 생성합니다:

다음 명령어를 실행하여 시스템에 Certbot 및 Certbot Nginx 플러그인을 설치합니다. 설치를 진행하려면 y를 입력합니다.

sudo dnf install certbot python3-certbot-nginx -y

이제 아래 certbot 명령어를 실행하여 Letsencrypt에서 SSL/TLS 인증서를 생성합니다. 이 명령어를 실행하기 전에 도메인 이름과 이메일 주소를 수정해야 합니다.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d netdata.howtoforge.local

프로세스가 완료되면 Netdata는 HTTPS로 보호되어야 합니다. Letsencrypt에서 SSL/TLS 인증서를 생성하고 Certbot Nginx 플러그인을 통해 Nginx 서버 블록에 HTTPS를 구현했습니다.

예제: Netdata로 Nginx 모니터링하기

지금까지 따라왔다면, Nginx를 역방향 프록시로 사용하여 Netdata 설치를 완료하고 HTTPS를 구성했습니다. 이제 Netdata로 기본 모니터링을 배우게 됩니다.

이 경우, Nginx 웹 서버를 Netdata로 모니터링하도록 설정하여 다른 서비스 및 애플리케이션을 모니터링하는 방법에 대한 더 큰 그림을 얻을 수 있습니다.

Nginx stub_status 활성화

다음 nano 편집기 명령어를 사용하여 새로운 구성 /etc/nginx/default.d/stub.conf를 생성합니다.

sudo nano /etc/nginx/default.d/stub.conf

Nginx stub_status 모듈을 활성화하기 위해 다음 구성을 삽입합니다. 이렇게 하면 Nginx stub_status가 URL /basic_status에서 노출됩니다.

location /basic_status {  
    stub_status;  
    server_tokens on;  
}

작업이 완료되면 파일을 저장하고 닫습니다.

다음으로, 아래 명령어를 실행하여 Nginx 구문을 확인합니다. 그런 다음 Nginx를 재시작하여 변경 사항을 적용합니다.

sudo nginx -t  
sudo systemctl restart nginx

enable nginx stub

이제 아래 curl 명령어를 실행하여 Nginx stub_status 모듈을 확인합니다.

curl http://localhost/basic_status

구성이 성공하면 Nginx 웹 서버의 상태를 볼 수 있어야 합니다.

nginx stub

Nginx 모니터링을 위한 Netdata 플러그인 활성화

/etc/netdata 디렉토리로 이동하여 Nginx 모니터링을 위한 플러그인 구성을 엽니다. Nginx 모니터링을 위한 Netdata 플러그인은 Go 플러그인의 일부로, Netdata 플러그인 목록을 방문하여 자세한 정보를 얻을 수 있습니다.

cd /etc/netdata  
sudo ./edit-config go.d/nginx.conf

구성 url: http://127.0.0.1/stub_status가 사용 가능하도록 하거나 수동으로 생성할 수 있습니다. 이렇게 하면 Netdata가 URL: http://127.0.0.1/stub_status를 통해 Nginx를 모니터링하도록 지시합니다.

jobs:  
  - name: local  
    url: http://127.0.0.1/stub_status

작업이 완료되면 파일을 저장하고 닫습니다.

다음으로, 아래 명령어를 실행하여 Netdata를 재시작하고 변경 사항을 적용합니다.

sudo systemctl restart netdata

이제 아래 명령어를 사용하여 Nginx 웹 서버를 테스트하거나 스트레스 테스트할 수 있습니다. ab 또는 Apache Benchmark는 httpd-tools의 일부이므로, 머신에 설치되어 있는지 확인하세요.

ab -n 50000 -c 500 http://localhost/

Netdata 데이터 대시보드로 돌아가서 왼쪽의 Nginx 메뉴를 클릭하세요. 구성이 성공하면 다음과 같은 Nginx 모니터링 세부정보를 볼 수 있어야 합니다.

nginx monitoring with netdata

결론

마무리하자면, AlmaLinux 9 서버에 Netdata 모니터링 솔루션 설치를 완료했습니다. Nginx를 역방향 프록시로 사용하여 Netdata를 설치하고 SSL/TLS 인증서로 Netdata를 보호했습니다.

또한 애플리케이션 모니터링을 위한 Netdata 플러그인의 기본 사용법도 배웠습니다.

이제 사용 가능한 Netdata 목록을 확인하여 애플리케이션을 모니터링하세요.

Share: X/Twitter LinkedIn

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

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