오픈소스 모니터링 시스템 Netdata를 이용하여 서버 실시간 모니터링하기.(+docker)

오픈소스 모니터링 시스템 Netdata를 이용하여 서버 실시간 모니터링하기.(+docker)

안녕하세요. 달소입니다.

이번글에서는 Zabbix와 함께 오픈소스모니터링 시스템으로 가장 유명한 Netdata를 소개해드리고자합니다.

기본적으로 Netdata와 Zabbix 모두 역사가 오래된만큼 많은 기능들을 지원하고있으며 기호에 맞게 사용하시는걸 추천드립니다.

서버/NAS가 1대라면 Netdata, 여러대라면 Zabbix가 아닐까하는..ㅎ

Netdata란?

Netdata는 CPU 사용량, 디스크 활동, 대역폭 사용량, 웹 사이트 방문 등과 같은 실시간 메트릭을 수집 한 다음 해석하기 쉬운 실시간 차트로 표시하도록 설계된 오픈 소스 도구입니다.

Netdata의 분산 실시간 모니터링 에이전트 는 구성이 필요 없는 시스템, 하드웨어, 컨테이너 및 애플리케이션에서 수천 개의 메트릭을 수집합니다. 모든 물리적/가상 서버, 컨테이너, 클라우드 배포 및 에지/IoT 장치에서 영구적으로 실행되며, 준비 없이 사고 중간에 시스템에 설치하는 것이 완벽하게 안전합니다.

대부분의 Linux 배포(Ubuntu, Debian, CentOS 등), 컨테이너 플랫폼(Kubernetes 클러스터, Docker) 및 기타 여러 운영 체제(FreeBSD, macOS)에 Netdata를 설치할 수 있습니다.  sudo 필요 하지않습니다.

Netdata는 시스템 관리자, DevOps 엔지니어 및 개발자가 모든 것을 수집하고, 메트릭을 시각화하고, 복잡한 성능 문제를 해결하고, 나머지 모니터링 스택과 데이터를 상호 운용할 수 있도록 지원하도록 설계되었습니다.

백문이 불여일견이기때문에 한번 체험해 보시는게 낫습니다 Netdata는 도커 컨테이너로 간단하게 실행할 수 있기때문에 바로 진행해보겠습니다.

Netdata 컨테이너 생성 및 사용하기.

netdata의 경우 대부분 로컬 시스템의 성능측정을 위한 도구이기때문에 굳이 docker-compose 를 사용하지않아도 되고 명령창에서 docker 명령어로 실행하겠습니다.

웬만한 모든환경을 지원하기때문에 저는 Ubuntu에서 진행했습니다.

docker run -d --name=netdata \
  -p 19999:19999 \
  -v netdataconfig:/etc/netdata \
  -v netdatalib:/var/lib/netdata \
  -v netdatacache:/var/cache/netdata \
  -v /etc/passwd:/host/etc/passwd:ro \
  -v /etc/group:/host/etc/group:ro \
  -v /proc:/host/proc:ro \
  -v /sys:/host/sys:ro \
  -v /etc/os-release:/host/etc/os-release:ro \
  --restart unless-stopped \
  --cap-add SYS_PTRACE \
  --security-opt apparmor=unconfined \
  netdata/netdata

명령어를 실행시키면 아래처럼 자동으로 도커이미지를 pull 하고 컨테이너가 실행됩니다.

컨테이너의 접속방법은 웹브라우저를켜서

ip:19999 포트로 접속해주시면됩니다.

접속하면 아래처럼 현재 시스템에 대한 정보가 나옵니다.

기간을 설정해서 확인할 수도 있고

당연히 기본적인 CPU load, i/o load

네트워크

아래처럼 기타 수많은 지표들을 확인하실 수 있습니다.

신기한건 해당 서버에서 실행중인 수많은 컨테이너들의 개개인 리소스 사용량도 볼수있는점입니다.

쉽고 간단하게 설치할 수 있고

개인서버/NAS 한대만운영하신다면 썩 나쁘지않은 선택인듯합니다.

다만 여러 서버를 운영하고자할때는 netdata.clou를 이용해야하는것 같은데 이부분이 조금 개인적인 취향과는 맞지않네요.

참고

GitHub - netdata/netdata: Real-time performance monitoring, done right! https://www.netdata.cloud
Real-time performance monitoring, done right! https://www.netdata.cloud - GitHub - netdata/netdata: Real-time performance monitoring, done right! https://www.netdata.cloud