강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

리눅스 오픈소스. netdata 설치 및 모니터링 확인.

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

프로그램명 : Netdata
운영체제 : Linux
설치 환경 : Centos, Sulinux

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

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

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

2. 설치 및 구성

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

[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

%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%2C+2016-04-05+15%3A04%3A04.png

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

wget https://firehol.org/download/netdata/latest/netdata-1.0.0.tar.gz

%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%2C+2016-04-05+14%3A59%3A54.png

git clone https://github.com/firehol/netdata.git --depth=1

%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%2C+2016-04-05+15%3A05%3A19.pngcd netdata
./netdata-installer.sh 

%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%2C+2016-04-05+15%3A06%3A22.png

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

/usr/sbin/netdata

%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%2C+2016-04-05+15%3A06%3A48.png

[환경설정파일 수정]

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


    DocumentRoot "/usr/share/netdata/web"
    ServerName netdata.도메인


/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

%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%2C+2016-04-12+10%3A07%3A26.png


3. 마무리

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

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

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,159 명
  • 현재 강좌수 :  36,519 개
  • 현재 접속자 :  323 명