Netdata – 리눅스 시스템용 실시간 성능 모니터링 도구

netdata는 리눅스 시스템, 응용 프로그램, SNMP 장치 등에 대한 실시간(초당) 성능 모니터링을 제공하는 매우 최적화된 리눅스 유틸리티입니다. 또한 수집된 모든 값들을 웹 브라우저 상에서 완전히 렌더링하여 분석할 수 있는 전체 대화형 차트를 표시합니다.

놓치지 마세요: 리눅스 성능 모니터링을 위한 20가지 유용한 명령줄 도구

이는 각 리눅스 시스템에 설치되어 현재 실행 중인 응용 프로그램을 중단시키지 않고 작동하도록 개발되었습니다. 이 도구를 사용하여 리눅스 시스템 및 응용 프로그램에서 실시간으로 발생하는 상황과 방금 발생한 사항에 대한 개요를 모니터링할 수 있습니다.

이 도구가 모니터링하는 것은 다음과 같습니다:

  1. 총 CPU 사용량 및 코어당 CPU 사용량, 인터럽트, 소프트 인터럽트 및 주파수입니다.
  2. 총 메모리, RAM, 스왑 및 커널 사용량입니다.
  3. 디스크 I/O(디스크별 대역폭, 작업, 대기열, 활용도 등)입니다.
  4. 네트워크 인터페이스(대역폭, 패킷, 오류, 드롭 등)를 모니터링합니다.
  5. Netfilter/iptables 리눅스 방화벽 연결, 이벤트, 오류 등을 모니터링합니다.
  6. 프로세스(실행 중인 프로세스, 차단된 프로세스, 포크, 활성화된 프로세스 등)를 모니터링합니다.
  7. 시스템 응용 프로그램 및 프로세스 트리(CPU, 메모리, 스왑, 디스크 읽기/쓰기, 스레드 등)를 모니터링합니다.
  8. mod_status를 사용하여 Apache 및 Nginx 상태를 모니터링합니다.
  9. MySQL 데이터베이스 모니터링: 쿼리, 업데이트, 락, 문제, 스레드 등.
  10. Postfix 이메일 서버 메시지 대기열.
  11. Squid 프록시 서버 대역폭 및 요청 모니터링.
  12. 하드웨어 센서(온도, 전압, 팬, 전원, 습도 등).
  13. SNMP 장치.

Linux 시스템에 netdata 설치

netdata의 최신 릴리스는 Arch Linux, Gentoo Linux, Solus Linux, Alpine Linux에서 패키지 매니저를 사용하여 쉽게 설치할 수 있습니다.

$ sudo pacman -S netdata         [Install Netdata on Arch Linux]
$ sudo emerge --ask netdata      [Install Netdata on Gentoo Linux]
$ sudo eopkg install netdata     [Install Netdata on Solus Linux]
$ sudo apk add netdata           [Install Netdata on Alpine Linux]

Debian/UbuntuRHEL/CentOS/Fedora에서는 최신 netdata를 설치하고 자동으로 최신 상태로 유지하는 한 줄 설치 스크립트가 있습니다.

$ bash <(curl -Ss https://my-netdata.io/kickstart.sh            [On 32-bit]
$ bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)  [On 64-bit]

위의 스크립트는 다음을 수행합니다:

  • 배포를 확인하고 netdata 빌드에 필요한 소프트웨어 패키지를 설치합니다(확인을 요청합니다).
  • 최신 netdata 소스 트리를 /usr/src/netdata.git에 다운로드합니다.
  • 소스 트리에서 ./netdata-installer.sh를 실행하여 netdata를 설치합니다.
  • netdata-updater.shcron.daily에 설치하여 netdata가 매일 업데이트됩니다(업데이트가 실패한 경우 cron에서 경고가 전송됩니다).

참고: kickstart.sh 스크립트는 모든 매개변수를 netdata-installer.sh로 전달하므로 설치 소스 수정, 플러그인 사용/비활성화 등 더 많은 매개변수를 정의할 수 있습니다.

대신 최신 netdata를 수동으로 설치할 수도 있지만, netdata를 설치하기 전에 시스템에 이러한 기본 빌드 환경 패키지가 설치되어 있는지 확인하고, 설치되어 있지 않다면 다음과 같이 해당 배포 관리자 패키지를 사용하여 설치하십시오:

Debian / Ubuntu에서

# apt-get install zlib1g-dev gcc make git autoconf autogen automake pkg-config

Centos / Redhat / Fedora에서

# yum install zlib-devel gcc make git autoconf autogen automake pkgconfig

그런 다음, git에서 netdata 저장소를 복제하고 netdata 설치 스크립트를 실행하여 빌드하십시오.

# git clone https://github.com/firehol/netdata.git --depth=1
# cd netdata
# ./netdata-installer.sh

참고: netdata-installer.sh 스크립트는 netdata를 빌드하고 Linux 시스템에 설치합니다.

netdata 설치 프로그램이 완료되면 시스템에 /etc/netdata/netdata.conf 파일이 생성됩니다.

이제 터미널에서 다음 명령을 실행하여 netdata를 시작할 시간입니다.

# /usr/sbin/netdata

netdata를 중지하려면 표시된대로 killall 명령으로 프로세스를 종료할 수도 있습니다.

# killall netdata

참고: Netdata는 종료 시 /var/cache/netdata 파일 아래에 라운드 로빈 데이터베이스 정보를 저장하여, netdata를 다시 시작할 때 마지막으로 중지된 곳부터 계속됩니다.

netdata 시작 및 테스트

이제 브라우저를 열고 모든 그래프를 볼 수 있는 웹 사이트에 액세스하려면 다음 주소로 이동하십시오:

# http://127.0.0.1:19999/

다음 비디오를 확인하십시오. 여기에서 실시간 Linux 성능 모니터링이 어떻게 이루어지는지 보여줍니다: https://www.youtube.com/watch?v=QIZXS8A4BvI

netdata – Linux Real Time Performance Monitoring

netdata의 실행 구성도 언제든지 확인할 수 있습니다. 다음으로 이동하여:

http://127.0.0.1:19999/netdata.conf
netdata Configuration

netdata 업데이트

netdata.git 디렉토리로 이동하고 다음을 실행하여 netdata 데몬을 가장 최신 버전으로 업데이트할 수 있습니다:

# cd /path/to/netdata.git
# git pull
# ./netdata-installer.sh

위의 netdata 설치 스크립트는 새 버전을 빌드하고 netdata를 다시 시작합니다.

참고: https://github.com/firehol/netdata/

Source:
https://www.tecmint.com/netdata-real-time-linux-performance-network-monitoring-tool/