netdata 시스템 모니터링 툴
회사에서 기존 IDC에서 AWS로 단순히 옮기다 보니 여러이슈가 발생하였고 롤백을 한적이 있습니다. 롤백후 전과 같은 실수를 반복하기 싫어서 IDC에서 어느정도 트래픽이 왔다가는지 어느정도 요청이 들어오는지를 실시간으로 볼 필요가 있었습니다.
![](https://www.kudryavka.me/content/images/wordpress/2018/11/dynamic01.png)
기존에는 Nagios로 알람을 munin으로 서비스 상황을 보았으나 툴이 여러개 있다보니 이를 통합할 필요가 있었고 실시간 모니터링이 힘든점,알람서비스를 커스텀마이징 하기힘든점이 있어 netdata라는 모니터링 도구를 발견하였습니다.
관련 사이트는 https://github.com/netdata/netdata입니다.
![](https://www.kudryavka.me/content/images/wordpress/2018/11/netdata.png)
해당 모니터링툴은 테스트로 kudwafter.moe 웹서버에 설치하였고 간간히 보는중입니다.
![](https://www.kudryavka.me/content/images/wordpress/2018/11/nginx-log.png)
이툴의 재미있는점은 실시간으로 웹로그를 파싱해서 사용자에게 즉각즉각 데이터를 바인딩해준다는점입니다. 위에 사진은 간단히 제 사이트에 HTTP요청을 하여 트래픽을 유발시켜 본거입니다. 거의 바로바로 responses의 결과를 바로 알수 있었습니다.
![](https://www.kudryavka.me/content/images/wordpress/2018/11/netdata-alarm.png)
가장 좋은거는 alarm기능이 있어 위와 같이 discord,slack 등에 이상한 상태가 되었을때 알림을 가게 만들수도 있다. 이는 개발자가 쉽게 서버상태를 알수있도록 도와주는 툴이 될수있다. 마지막으로 netdata를 이용한 아키텍처를 소개할려고한다.
![](https://www.kudryavka.me/content/images/wordpress/2018/11/46497953_370347336858849_853354875809955840_n.jpg)
netdata로 로그나 상태를 수집하고 grafana로 모니터링하는 구조이다. 해당 구조에 대해서는 위키를 보기 바란다.
https://github.com/netdata/netdata/tree/master/backends
해당 구조는 구축은 안해보았지만 여러서버가 있을때 개발자가각 서버 상태를 쉽게 알수 있도록 하는데에는 큰 도움이 되는구조이다.
마지막으로 소규모의 약 1~30개의 서버인경우 쿠버네트스보다는 도커스윔을 사용할것이다. 도커 스웜을 모니터링하기위해 netdata을 설치하는것도 꽤 좋은 도움이 될것이다.