4 Przegląd Zabbixa

Architektura

Zabbix składa się z kilku kluczowych komponentów, których przeznaczenie opisano poniżej.

Serwer

Zabbix serwer jest sercem aplikacji, do którego agenty zgłaszają swoją dostępność, a także wszystkie informacje i statystyki. Serwer jest centralnym repozytorium, w którym przechwowywana jest cała konfiguracja oraz dane statystyczne i operacyjne.

Baza danych

Tutaj przechowywane są wszystko informacje o konfiguracji oraz zebrane przez Zabbixa dane.

Interfejs webowy

Interfejs WWW zapewnia łatwy dostęp do aplikacji z każdego miejsca na świecie połączonego z daną siecią. Intefejs jest częścią serwera Zabbix i zazwyczaj (chociaż nie zawsze) działa na tej samej maszynie fizycznej.

Proxy

Zabbix proxy może zbierać wszelkie informacje o dostępności i wydajności urządzeń z ramienia serwera Zabbix. Jest to opcjonalna część architektury, jednak może pomóc znacznie odciążyć wykorzystanie serwera Zabbix.

Agent

Agenty Zabbix są instalowane na monitorowanych urządzeniach i pozwalają na aktywne zbieranie danych o lokalnych zasobach oraz aplikacjach i przesyłać je do serwera Zabbix. Od Zabbixa w wersji 4.4 dostępne są dwa typy agenta: Zabbix agent (lekki, wspierany na wielu platformach, napisany w C) i Zabbix agent 2 (bardzo elastyczny, rozszerzalny przy pomocy pluginów, napisany w Go).

Przepływ danych

Warto zrobić krok w tył i spojrzeć na to, jak przepływają dane pomiędzy komponentami Zabbixa. Aby utworzyć pozycję, która będzie zbierać dane, potrzebne jest najpierw urządzenie. Po stronie samego Zabbixa - żeby utworzyć wyzwalacz, najpierw potrzebna jest pozycja. Dopiero wyzwalacz pozwala na utworzenie akcji. Tym samym, żeby otrzymać powiadomienie o zbyt wysokim wykorzystaniu procesora na Urządzeniu X, musisz najpierw utworzyć taki host w Zabbixie, w nim umieścić pozycję monitorującą procesor Urządzenia X, później wyzwalacz, który uruchomi się przy zbyt dużym jego wykorzystaniu, a następnie akcję, która prześle maila o sytuacji. Może to wyglądać na dość skomplikowany proces, jednak dzięki szablonom wcale takie nie jest. To właśnie dzięki takiemu procesowi tworzenia monitoringu możliwe jest utworzenie wielu, elastycznych scenariuszy.