강좌

HOME > 강좌 >
강좌| 리눅스 및 오픈소스에 관련된 강좌를 보실 수 있습니다.
 
리눅스 오픈소스. netdata 설치 및 모니터링 확인.
조회 : 21,202  


프로그램명 : 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


다음은 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


    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



3. 마무리

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

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

[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1869


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
서비님
dslee골벵이linux.co.kr