웹사이트 검색

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


이 페이지에서

  1. 1단계 - Nginx 웹서버 설치
  2. 2단계 - Ubuntu 16.04에 Netdata 모니터링 도구 설치
  3. 3단계 - Nginx stub_status 모듈 활성화\n
  4. 4단계 - Nginx를 모니터링하도록 Netdata 구성\n
  5. 5단계 - UFW 방화벽 구성\n
  6. 6단계 - 테스트
  7. 참조

Netdata는 Linux 서버용 오픈 소스 모니터링 도구입니다. 아름다운 대시보드 및 분석을 통해 실시간 성능 및 상태 모니터링을 제공합니다. Netdata는 모든 Linux 배포판에서 실행되어야 하며 Alpine Linux, Arch Linux, CentOS, Ubuntu 등에서 테스트되었습니다. Netdata는 CPU, 메모리 사용량, IPv4 및 v6, Nginx, fail2ban, MySQL, MongoDB 등과 같은 사용자 애플리케이션을 모니터링합니다.

이 튜토리얼에서는 Netdata를 사용하여 Nginx를 모니터링하는 방법을 보여줍니다. 튜토리얼은 Nginx 웹 서버 설치, Nginx에서 stub_status 모듈 활성화 및 Ubuntu 16.04 Xenial Xerus에서 Netdata 설치를 다룹니다.

우리가 할 일:

  1. Nginx 웹서버를 설치합니다.\n
  2. Ubuntu 16.04에 Netdata 모니터링 도구를 설치합니다.\n
  3. Nginx stub_status 모듈을 활성화합니다.\n
  4. Nginx를 모니터링하도록 Netdata를 구성합니다.\n
  5. UFW 방화벽을 구성합니다.\n
  6. 테스트 중입니다.

전제 조건

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

1단계 - Nginx 웹서버 설치

우리가 해야 할 첫 번째 단계는 리포지토리에서 Nginx 웹 서버를 설치하는 것입니다. apt update 명령을 사용하여 Nginx를 설치하기 전에 Ubuntu 리포지토리를 업데이트합니다.

apt update

아래의 apt install 명령을 사용하여 Ubuntu 리포지토리에서 Nginx를 설치합니다.

apt install -y nginx

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

systemctl start nginx
systemctl enable nginx

웹 서버가 실행 중입니다. curl로 확인하십시오.

curl -I localhost

아래 스크린샷과 같이 결과가 200 OK http 상태인지 확인합니다.

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

2단계 - Ubuntu 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

Netdata 설치를 계속하려면 Enter 키를 누르십시오.

설치가 완료되면 아래와 같은 결과가 나타납니다.

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

systemctl start netdata
systemctl enable netdata

기본적으로 포트 19999에서 실행 중입니다. netstat로 포트를 확인하고 포트 19999가 LISTEN 상태인지 확인하십시오.

netstat -plntu

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

3단계 - Nginx stub_status 모듈 활성화

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

가상 호스트 구성을 편집하기 전에 stub_status 모듈이 있는 nginx 버전을 설치했는지 확인하십시오. 아래 명령어로 확인해보세요.

nginx -V

아래와 같이 stub_status 모듈이 있는지 확인하십시오.

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

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

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

    location /stub_status {
        stub_status;
        # Security: Only allow access from the IP below.
        allow 127.0.0.1;
        # Deny anyone else
        deny all;
    }

저장 및 종료.

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

nginx -t
systemctl restart nginx

Nginx stub_status 모듈이 활성화되었습니다. 아래 netstat 명령을 사용하여 확인하십시오.

curl http://127.0.0.1/stub_status

그러면 아래와 같은 결과를 얻게 됩니다.

4단계 - Nginx를 모니터링하도록 Netdata 구성

Netdata는 Nginx 웹 서버를 포함하여 시스템에 설치된 애플리케이션을 모니터링하기 위한 Python 모듈을 제공합니다. Netdata를 사용하여 Nginx를 모니터링하려면 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 netdata

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

5단계 - UFW 방화벽 구성

이 튜토리얼에서는 Ubuntu 방화벽 UFW를 활성화합니다. HTTP 및 HTTPS 포트를 연 다음 Netdata 대시보드 액세스를 위해 새 포트 19999를 엽니다.

UFW 방화벽 패키지를 설치했는지 확인하십시오. 그렇지 않은 경우 아래 명령을 사용하여 설치하십시오.

apt install -y ufw

이제 아래 ufw allow 명령을 사용하여 ssh, http, https 및 netdata 포트 19999에 대한 포트를 엽니다.

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

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

ufw enable

y를 yes로 입력하고 Enter 키를 누릅니다.

이 작업을 마치면 아래와 같이 방화벽 상태를 확인하십시오.

ufw status

그러면 아래와 같이 목록에 새 포트가 표시됩니다.

6단계 - 테스트

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

Netdata 대시보드가 표시되어야 합니다.

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

Nginx 웹 서버는 이제 Netdata를 사용하여 모니터링되며 Netdata는 Ubuntu 16.04 서버에 설치되었습니다.

참조

  • https://github.com/firehol/netdata/wiki/