본문 바로가기

KnowHow/Linux

실시간 서버 모니터링 프로그램 NetData 를 이용하여 서비스를 모니터링 해보자

작성자 : Deok

Netdata 는 GPLv3+ 라이센스를 가진 오픈소스 모니터링 툴로 대충 화면은 아래와 같으며 비교적 다른 모니터링 툴에 비해 설치 방법이 '매우' 간단하고 기능이 다양 합니다.



그리고 모바일도 완벽히 지원을 합니다.





설치 방법은 아래의 명령어를 서버에 넣어 주시면 됩니다!


$ bash <(curl -Ss https://my-netdata.io/kickstart.sh)


혹은 아래와 같이 Docker 를 이용하여 설치도 가능하지만 Docker 로 설치할 경우 몇몇 데이터를 가져오지 못할 수도 있다고 하니 참고하시기 바랍니다.


# Docker 를 이용한 설치 법

docker run -d --name=netdata \
  -p 19999:19999 \
  -v /proc:/host/proc:ro \
  -v /sys:/host/sys:ro \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  --cap-add SYS_PTRACE \
  --security-opt apparmor=unconfined \
  netdata/netdata

# docker-compose 를 이용한 설치 법

version: '3'
services:
  netdata:
    image: netdata/netdata
    hostname: example.com # set to fqdn of host
    ports:
      - 19999:19999
    cap_add:
      - SYS_PTRACE
    security_opt:
      - apparmor:unconfined
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro


*개인적으로 그냥 bash 를 이용한 방법을 추천합니다.


일단 설치가 진행되면 그냥 간단히 'Enter' 몇번 눌러 주시면 됩니다.


또 Enter

그리고 설치 완료 ...



 자세히 보시면 Update Script 와 Uninstall Script 또한 제공하니 이는 나중에 살펴 보고 간단히 설치가 완료 된 후 http://server_ip_address:19999 로 들어 가보시면 정상적으로 설치 된 것을 확인 하실 수 있습니다.



* 중요 : netdata 가 자체적으로 인증 절차를 지원하지 않으니 방화벽이나 nginx 혹은 apache 를 통한 IP 제한이나 인증 절차를 적용 하시는 것을 강력히 추천 드립니다.


 추가적인 설정이나 proxy 를 이용한 nginx 혹은 apache 연동 방법은 후에 알려 드리도록 하겠습니다.
( 간단히 설명 드리면 19999 포트를 열지 못할 경우 nginx 혹은 apache 의 proxy 기능을 통해서 80 포트로 데이터 & 페이지 전송이 가능합니다. )


즐거운 개발 되시기 바랍니다. :D