3 min read

netdata 시스템 모니터링 툴

회사에서 기존 IDC에서 AWS로 단순히 옮기다 보니 여러이슈가 발생하였고 롤백을 한적이 있습니다. 롤백후 전과 같은 실수를 반복하기 싫어서 IDC에서 어느정도 트래픽이 왔다가는지 어느정도 요청이 들어오는지를 실시간으로 볼 필요가 있었습니다. 

munin….

기존에는 Nagios로 알람을 munin으로 서비스 상황을 보았으나 툴이 여러개 있다보니 이를 통합할 필요가 있었고 실시간 모니터링이 힘든점,알람서비스를 커스텀마이징 하기힘든점이 있어 netdata라는 모니터링 도구를 발견하였습니다. 

관련 사이트는 https://github.com/netdata/netdata입니다.

해당 모니터링툴은 테스트로 kudwafter.moe 웹서버에 설치하였고 간간히 보는중입니다. 

이툴의 재미있는점은 실시간으로 웹로그를 파싱해서 사용자에게 즉각즉각 데이터를 바인딩해준다는점입니다. 위에 사진은 간단히 제 사이트에 HTTP요청을 하여 트래픽을 유발시켜 본거입니다. 거의 바로바로 responses의 결과를 바로 알수 있었습니다. 

가장 좋은거는 alarm기능이 있어 위와 같이 discord,slack 등에 이상한 상태가 되었을때 알림을 가게 만들수도 있다. 이는 개발자가 쉽게 서버상태를 알수있도록 도와주는 툴이 될수있다. 마지막으로 netdata를 이용한 아키텍처를 소개할려고한다.

netdata로 로그나 상태를 수집하고 grafana로 모니터링하는 구조이다. 해당 구조에 대해서는 위키를 보기 바란다. 

https://github.com/netdata/netdata/tree/master/backends

해당 구조는 구축은 안해보았지만 여러서버가 있을때 개발자가각 서버 상태를 쉽게 알수 있도록 하는데에는 큰 도움이 되는구조이다.

마지막으로 소규모의 약 1~30개의 서버인경우 쿠버네트스보다는 도커스윔을 사용할것이다. 도커 스웜을 모니터링하기위해 netdata을 설치하는것도 꽤 좋은 도움이 될것이다.