오픈소스를 활용한 데이터 모니터링
기업용 모니터링 도구 Zabbix
1. 서론
여러 기업에서 데이터를 수집하거나 시스템을 운영할 때 다양한 문제에 직면하게 됩니다. 이러한 문제에 대한 원인을 파악하고 해결하기 위하여 로그를 분석하거나 협력업체의 도움을 받습니다. 때로는 해당문제가 발생한 지 상당한 시일이 흐른 후에 인지되는 경우도 있습니다. 물론 전용 모니터링 시스템이 구축되어 있을 경우 문제발생 위치를 파악하고 즉시 해결되기도 하지만 대다수의 중소규모 기업의 경우 이러한 상용 솔루션이 부재하며, 간단한 문제해결에도 어려움을 많이 겪습니다. 다음에 소개할 Zabbix 라는 강력한 오픈소스 도구를 활용하면 문제발생 즉시 담당자에게 통보를 할 수 있고 분석 정보를 제공받을 수 있어 연속성 있는 비즈니스 수행이 가능합니다.
Zabbix는 대표적인 모니터링 도구로서 전세계 여러 사이트에서 애용되고 있습니다. 우리나라에서도 사용률이 점차 증가하고 있으나 아직 전용 커뮤니티가 생성될 만큼 성숙되지는 않았습니다. Zabbix 웹프론트엔드는 한글화를 지원하며 쉽게 메뉴 수정이 가능합니다. 수많은 서버와 네트워크 장비에 바로 사용할 수 있는 플러그인이 존재하며, 대시보드를 이용한 실시간 시각화를 지원합니다. Grafana 등의 유명한 시각화 프론트엔드를 연계하여 화려한 시각화를 구현할 수도 있습니다.

[그림1] Grafana를 연계한 모니터링 시각화
모니터링 시스템의 핵심적인 기능은 인프라 환경의 하드웨어 및 소프트웨어 장애를 탐지하고 통보하는 것에 있습니다. 대표적인 도구에 NMS(Network Management System)가 있으며, SNMP등의 정보를 사용하여 문제점을 분석하고 오류를 표시해줍니다. 모니터링 도구가 없다면 시스템의 정상여부 확인이 거의 불가능하며, 장애 예측을 위한 분석이 매우 어려워집니다.
데이터 수집의 연속성, 데이터 무결성, 시스템 운영의 안정성, 문제점에 대한 시각화 등을 위하여 기업의 표준화된 통합 모니터링 시스템은 필수적입니다. 이러한 모니터링 시스템 도입 비용을 최소화하며 기업의 환경에 맞게 커스터마이징을 쉽게 하기 위하여 오픈소스 도구가 절실히 필요합니다.
이처럼 데이터수집, 시스템모니터링, 이벤트관리, 히스토리관리, 데이터시각화 등 여러 곳에서 다양하게 활용 가능한 무료 모니터링 도구인 Zabbix를 기업에 적용하고 구현할 수 있는 방안에 대해 공유하고자 합니다.
2. Zabbix의 기능 및 구성요소

[그림2] Zabbix의 모니터링 영역
Zabbix는 각종 서비스, 클라우드, 컨테이너, 가상머신, 하드웨어, 데이터베이스, 애플리케이션 등의 모니터링이 가능하며 이를 위해 측정값수집, 오류탐지, 시각화, 통보 및 치료, 보안 및 인증, 자동탐색, 분산모니터링, 외부연계API 등의 기능을 지원합니다. Hadoop의 Flume과 유사한 정보수집 에이전트가 있으며, 이를 이용하여 원격실행, 서버별 데이터수집이 가능합니다. 분산처리를 지원하여 수천대의 호스트도 문제없이 실시간으로 모니터링과 이벤트 탐지, 통보를 수행합니다. 다른 상용 모니터링 시스템과 견주어 보아도 Zabbix는 안정적이며, 기간별 조회 속도 등의 성능이 잘 나옵 ....