zabbix 사용기
결론: zabbix는 제 개인 스케일에서 신뢰할만한 모니터링 소프트웨어입니다. 월 3.5달러짜리 가장 작은 라이트세일 인스턴스와 Bitnami LAMP Stack에서 무리없이 돌아가 모니터링 비용을 고정시켰습니다. 슬랙을 통해 문제상황을 바로 전달받을 수 있습니다.
시작은 오랫동안 사용하던 호스팅을 등지고 VPS서비스를 사용하면서입니다. 모니터링 서비스를 찾고 있었고 잠깐동안 클라우드워치를 사용하다가 제 스케일에서는 비용이 너무 커서 사용 중단을 고려하게 됩니다. 그렇다고 아무런 모니터링도 안 하기는 위험했고 3.5달러짜리 가장 작은 인스턴스를 만들어 모니터링에 사용할 생각을 하게 됩니다. 그렇게 구글이 알려준 이 분야에서 많이 사용되는 모니터링 도구 중 하나인 cacti를 시도했다가 어처구니없는 완성도에 좌절했지만 저와 비슷한 좌절을 겪은 포스팅을 보고 저도 zabbix를 사용하기 시작합니다. 그리고 한 달이 지났습니다.
바로 앞에 겪은 모니터링 소프트웨어가 워낙에 조잡했기 때문에 장점을 파악하기 이전에 정상적으로 동작하는지 자체에 신경이 곤두서있었습니다만 다행히 이번에는 멀쩡하게 돌아갔습니다. 제 기술수준에서 모니터링 서버를 구성하는데 잠깐 애를 먹었지만 월 3.5달러짜리 가장 작은 라이트세일 인스턴스와 Bitnami LAMP Stack에서 문제 없이 동작합니다. 아마도 두 손으로 서버 개수를 셀 수 있는 스케일에서는 인스턴스 크기를 늘릴 필요 조차 없을 겁니다.
기록에 MySQL을 사용하는데 한 자릿수 서버를 모니터링하는 상황에 스토리지는 이 정도로 증가합니다. 중간에 스토리지 사용율이 크게 증가하는 구간은 다른 소프트웨어를 설치하거나 모니터링으로 생성한 인스턴스에 온갖 반복작업 스크립트를 돌리면서 생긴 증가입니다. 이 정도로 꾸준히 사용량이 증가하면 적당한 시점에는 오래된 모니터링 데이터를 삭제하거나 인스턴스를 늘리거나 디스크를 생성해서 붙여야 하는 때가 올 겁니다.
zabbix는 이전에 사용했던 cacti와 달리 처음부터 모니터링할 값 각각의 보고 임계점이 설정되어 있습니다. 그래서 서버, 클라이언트를 설정하고 나면 일반적인 문제상황을 자동으로 보고해줍니다. 가령 너무 높은 메모리나 CPU 사용량을 알아서 문제상황으로 정의해 표시합니다. 문제 각각에 대해 내가 어떤 대처를 했는지 기입할 수 있고 나중에 문제상황에 대한 대처방법을 한번에 나열해 무슨 일이 있었는지 편하게 파악할 수 있습니다.
이전에 클라우드워치를 사용할 때는 문제상황을 메일로 보고하도록 했는데 이번에는 메일을 보내도록 설정하려고 보니 상황이 복잡했습니다. 모니터링 서버에는 메일서버를 설정하지 않았고 고작 문제상황을 보고하는데 메일서버를 설정하는 것도 좋은 아이디어는 아닌 것 같았습니다. 고민하다가 슬랙 워크스페이스를 생성하고 이곳을 통해 문제상황을 보고하게 했습니다. 슬랙은 내 폰에 이미 노티피케이션이 활성화되어 있으니 메일서버를 설정하지 않고서도 문제상황을 보고받을 수 있게 됐습니다. 한동안 이 모니터링 서버를 온갖 용도로 활용하면서 여러 가지 문제가 일어났는데 이 때 긴요하게 사용했습니다.
처음에 잘못된 모니터링 소프트웨어를 선택하는 바람에 잠깐 동안 고통받았습니다만 이제는 제 스케일에서는 한달에 고정비용 3.5달러를 지불하고 꽤 신뢰할만한 모니터링 환경을 갖추게 됐습니다.