IT Opening

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

서버 네트워크 | 2019년 12월 13일 14시 37분

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 등 과 포지션이 겹치는 성향이 있다.

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


© Copyright 2019 - 2025 IT Opening. All rights reserved.