Netdata 설치 및 모니터링 사용방법

Netdata는 리눅스 시스템, 응용 프로그램, SNMP 장치에 대한 성능 모니터링 (초당)을 실시간으로 제공하고 절대적를 분석하기 위해 웹 브라우저를 통해 수집 된 모든 값을 렌더링하여, 전체 대화 형 차트를 보여주는 매우 최적화 된 리눅스 유틸리티이다.

이것은 현재 실행중인 프로그램을 중단하지 않고, 리눅스 시스템에 설치하기 위해서 개발된 오픈소스이다. 모니터링중 리눅스 시스템과 응용 프로그램에 실시간으로 무슨 일이 일어나고 있는지를 확인 할 수 있다.

Netdata 특징

  • 코어당 CPU 사용량, 인터럽트, 현재 softirq 및 주파수.
  • 전체 메모리, RAM, 스왑 및 커널 사용.
  • 디스크 I / O.(디스크 : 대역폭, 운영, 백 로그, 이용 등)
  • 대역폭, 패킷, 오류, 삭제 등을 포함하는 네트워크 인터페이스를 모니터.
  • 넷 필터 / iptables에서 모니터. 리눅스 방화벽 연결, 이벤트, 오류 등 확인
  • 프로세스 (실행 차단, 포크, 활성 등).
  • 프로세스 트리 (CPU, 메모리, 스왑, 디스크 등, 스레드, 읽기 / 쓰기)와 시스템 응용 프로그램.
  • mod_status를 아파치와 Nginx의 상태 모니터링.
  • MySQL 데이터베이스 모니터링 : 쿼리, 업데이트, 잠금, 문제, 스레드 등
  • postfix 메일서비스 관련정보.
  • 프록시 서버 대역폭과 요청 모니터링.
  • 하드웨어 센서 (온도, 전압, 팬, 전원, 습도 등).
  • SNMP 장치.

설치 및 구성

설치에 앞서 의존성 라이브러리를 설치해야 된다.

Debian / Ubuntu

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

Centos / Fedora / Redhat / Sulinux

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

다음은 netdata repository 에서 스크립트를 다운받아 설치를 진행한다.

wget https://firehol.org/download/netdata/latest/netdata-1.0.0.tar.gz
git clone https://github.com/firehol/netdata.git --depth=1

cd netdata
./netdata-installer.sh

설치가 완료되었다. 데몬을 실행하도록 하자.

/usr/sbin/netdata &

환경설정파일 수정

vi  /etc/netdata/netdata.conf

[global]
         config directory = /etc/netdata
         plugins directory = /usr/libexec/netdata/plugins.d
         web files directory = /usr/share/netdata/web
         cache directory = /var/cache/netdata
         log directory = /var/log/netdata
        # host access prefix =
        # debug flags = 0x00000000
        # memory deduplication (ksm) = yes
         debug log = /var/log/netdata/debug.log
         error log = /var/log/netdata/error.log
         access log = /var/log/netdata/access.log
         memory mode = save
         hostname = dslee.kr
         history = 3600
         update every = 1
         pthread stack size = 10485760
         run as user = netdata
         web files owner = netdata
         http port listen backlog = 100
         port = 19999
         ip version = any
         bind socket to IP = *
         disconnect idle web clients after seconds = 60
        # enable web responses gzip compression = yes

[plugins]
         tc = yes
         idlejitter = yes
         proc = yes
         checks = no
         plugins directory = /usr/libexec/netdata/plugins.d
         enable running new plugins = yes
         check for new plugins every = 60
         charts.d = yes
         apps = yes
         node.d = yes

환경설정파일은 초기에 기본값으로 설정되어있는데, 이 기본값으로는 정상적인 서비스 확인이 불가능하다.

httpd-vhost 수정

vi /usr/local/apache/conf/extra/httpd-vhost.conf

<VirtualHost *:80>
    DocumentRoot "/usr/share/netdata/web"
    ServerName netdata.도메인
</VirtualHost>

/usr/local/apache/bin/apachectl start

방화벽 포트설정

vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 19999 -j ACCEPT

최종 테스트 확인

http://netdata.도메인:19999

설치를 완료하고 나서 netdata 에 대해서 느낀점은 보여주기 위한 자료로 훌륭한거 같다. 하지만 기존에 가지고있는 여러 모니터링 툴 top,vnstat, sar, iostat 등 과 포지션이 겹치는 성향이 있다.

그런 모든 모니터링 툴을 한곳에 모아둬서 좋아보일수는 있지만, 세부적인것까지는 컨트롤 할수 없다는점이 조금은 아쉬웠었다. 아직 조금더 살펴보고 분석이 필요한 어플리케이션인거 같다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다