4 Zabbix 개요

아키텍처

Zabbix는 여러 주요 소프트웨어 구성 요소로 이루어져 있습니다. 이들의 역할은 다음과 같습니다.

서버

Zabbix 서버는 에이전트가 가용성과 무결성 정보 및 통계를 보고하는 중앙 구성 요소입니다. 서버는 모든 구성, 통계 및 운영 데이터가 저장되는 중앙 저장소입니다.

데이터베이스 스토리지

모든 구성 정보와 Zabbix가 수집한 데이터는 데이터베이스에 저장됩니다.

웹 인터페이스

어디서나, 어떤 플랫폼에서든 Zabbix에 쉽게 접근할 수 있도록 웹 기반 인터페이스가 제공됩니다. 인터페이스는 Zabbix 서버의 일부이며, 일반적으로(반드시는 아니지만) 서버가 실행되는 것과 같은 물리적 머신에서 실행됩니다.

프록시

Zabbix 프록시는 Zabbix 서버를 대신하여 성능 및 가용성 데이터를 수집할 수 있습니다. 프록시는 Zabbix 배포의 선택적 구성 요소이지만, 단일 Zabbix 서버의 부하를 분산하는 데 매우 유용할 수 있습니다.

에이전트

Zabbix 에이전트는 모니터링 대상에 배포되어 로컬 리소스와 애플리케이션을 능동적으로 모니터링하고 수집된 데이터를 Zabbix 서버에 보고합니다. Zabbix 4.4부터는 두 가지 유형의 에이전트를 사용할 수 있습니다: Zabbix 에이전트(가벼우며, 많은 플랫폼에서 지원, C로 작성)와 Zabbix 에이전트 2(매우 유연하며, 플러그인으로 쉽게 확장 가능, Go로 작성)입니다.

데이터 흐름

또한 한 걸음 물러서서 Zabbix 내의 전체적인 데이터 흐름을 살펴보는 것이 중요합니다. 데이터를 수집하는 항목을 생성하려면 먼저 호스트를 생성해야 합니다. Zabbix 스펙트럼의 다른 끝으로 이동하면, 트리거를 생성하려면 먼저 항목이 있어야 합니다. 액션을 생성하려면 트리거가 있어야 합니다. 따라서 Server X에서 CPU 부하가 너무 높다는 알림을 받으려면 먼저 Server X에 대한 호스트 항목을 생성한 다음, CPU를 모니터링하는 항목, CPU가 너무 높을 때 활성화되는 트리거, 그리고 이메일을 보내는 액션을 차례로 생성해야 합니다. 많은 단계처럼 보일 수 있지만, 템플릿 기능을 사용하면 실제로는 그렇지 않습니다. 하지만 이러한 설계 덕분에 매우 유연한 설정을 만들 수 있습니다.