Czym jest Zabbix
Zabbix został stworzony przez Alexeia Vladisheva i obecnie jest aktywnie rozwijany oraz wspierany przez Zabbix SIA.
Zabbix to korporacyjne, otwarte rozwiązanie do rozproszonego monitorowania.
Zabbix to oprogramowanie, które monitoruje liczne parametry sieci oraz stan i integralność serwerów, maszyn wirtualnych, aplikacji, usług, baz danych, witryn internetowych, chmury i nie tylko. Zabbix wykorzystuje elastyczny mechanizm powiadomień, który pozwala użytkownikom konfigurować alerty e-mail dla praktycznie dowolnego zdarzenia. Umożliwia to szybką reakcję na problemy z serwerem. Zabbix oferuje doskonałe funkcje raportowania i wizualizacji danych oparte na przechowywanych danych. To sprawia, że Zabbix jest idealny do planowania pojemności.
Zabbix obsługuje zarówno odpytywanie, jak i przechwytywanie. Do wszystkich raportów i statystyk Zabbixa, a także do parametrów konfiguracji, uzyskuje się dostęp za pośrednictwem frontend oparty na sieci WWW. Frontend oparty na sieci WWW zapewnia możliwość oceny stanu sieci oraz kondycji serwerów z dowolnej lokalizacji. Prawidłowo skonfigurowany Zabbix może odgrywać ważną rolę w monitorowaniu infrastruktury IT. Dotyczy to zarówno małych organizacji z kilkoma serwerami, jak i dużych firm z wieloma serwerami.
Zabbix jest bezpłatny. Zabbix jest napisany i rozpowszechniany na licencji AGPL-3.0. Oznacza to, że jego kod źródłowy jest swobodnie rozpowszechniany i dostępny dla ogółu społeczeństwa.
Dostępne jest wsparcie komercyjne, świadczone przez firmę Zabbix oraz jej partnerów na całym świecie.
Dowiedz się więcej o funkcjach Zabbixa.
Użytkownicy Zabbixa
Wiele organizacji różnej wielkości na całym świecie polega na Zabbixie jako podstawowej platformie monitorowania.
Architektura
Zabbix składa się z kilku głównych komponentów oprogramowania. Ich zadania opisano poniżej.
Serwer
Zabbix server jest centralnym komponentem, do którego agenty raportują informacje i statystyki dotyczące dostępności oraz integralności. Serwer jest centralnym repozytorium, w którym przechowywane są wszystkie dane konfiguracyjne, statystyczne i operacyjne.
Przechowywanie bazy danych
Wszystkie informacje konfiguracyjne, a także dane zbierane przez Zabbix, są przechowywane w bazie danych.
Interfejs webowy
Aby zapewnić łatwy dostęp do Zabbix z dowolnego miejsca i z dowolnej platformy, udostępniany jest interfejs oparty na przeglądarce. Interfejs jest częścią serwera Zabbix i zwykle (ale niekoniecznie) działa na tym samym fizycznym komputerze, na którym działa serwer.
Proxy
Zabbix proxy może zbierać dane o wydajności i dostępności w imieniu serwera Zabbix. Proxy jest opcjonalnym elementem wdrożenia Zabbix; jednak może być bardzo korzystny do rozłożenia obciążenia pojedynczego serwera Zabbix.
Agent
Agenty Zabbix są wdrażane na monitorowanych celach, aby aktywnie monitorować lokalne zasoby i aplikacje oraz raportować zebrane dane do serwera Zabbix. Od Zabbix 4.4 dostępne są dwa typy agentów: Zabbix agent (lekki, obsługiwany na wielu platformach, napisany w C) oraz Zabbix agent 2 (bardzo elastyczny, łatwo rozszerzalny za pomocą wtyczek, napisany w Go).
Przepływ danych
Ponadto ważne jest, aby zrobić krok wstecz i spojrzeć na ogólny przepływ danych w Zabbix. Aby utworzyć pozycję, która zbiera dane, należy najpierw utworzyć host. Na drugim końcu spektrum Zabbix, aby utworzyć wyzwalacz, najpierw trzeba mieć pozycję. Aby utworzyć akcję, trzeba mieć wyzwalacz. Jeśli więc chcesz otrzymać alert, że obciążenie CPU na Server X jest zbyt wysokie, musisz najpierw utworzyć wpis hosta dla Server X, następnie pozycję do monitorowania jego CPU, potem wyzwalacz, który aktywuje się, jeśli CPU jest zbyt wysokie, a na końcu akcję, która wyśle Ci wiadomość e-mail. Choć może się to wydawać dużą liczbą kroków, przy użyciu szablonów tak naprawdę tak nie jest. Jednak dzięki takiej konstrukcji możliwe jest stworzenie bardzo elastycznej konfiguracji.
Funkcje
Zabbix to wysoce zintegrowane rozwiązanie do monitorowania sieci, oferujące wiele funkcji w jednym pakiecie.
- sprawdzanie dostępności i wydajności
- obsługa SNMP (zarówno trapping, jak i polling), IPMI, JMX, monitorowania VMware
- niestandardowe sprawdzenia
- zbieranie wymaganych danych w niestandardowych odstępach czasu
- realizowane przez serwer/proxy oraz przez agent
- można definiować bardzo elastyczne progi problemów, zwane wyzwalaczami, odwołujące się do wartości z bazy danych backendu
Wysoce konfigurowalne alertowanie
- wysyłanie powiadomień można dostosować do harmonogramu eskalacji, odbiorcy i typu medium
- powiadomienia można uczynić znaczącymi i pomocnymi za pomocą zmiennych makr
- automatyczne działania obejmują zdalne polecenia
- monitorowane pozycje są natychmiast przedstawiane na wykresach przy użyciu wbudowanej funkcjonalności tworzenia wykresów
- Zabbix może śledzić ścieżkę symulowanych kliknięć myszą na stronie WWW i sprawdzać funkcjonalność oraz czas odpowiedzi
Rozbudowane opcje wizualizacji
- możliwość tworzenia niestandardowych wykresów, które mogą łączyć wiele pozycji w jednym widoku
- mapy sieci
- pokazy slajdów w przeglądzie w stylu dashboardu
- raporty
- widok wysokiego poziomu (biznesowy) monitorowanych zasobów
Przechowywanie danych historycznych
- dane przechowywane w bazie danych
- konfigurowalna historia
- wbudowana procedura housekeeping
- dodawanie monitorowanych urządzeń jako host
- host są przejmowane do monitorowania po zapisaniu w bazie danych
- stosowanie szablonów do monitorowanych urządzeń
- grupowanie sprawdzeń w szablonach
- szablony mogą dziedziczyć po innych szablonach
- automatyczne wykrywanie urządzeń sieciowych
- automatyczna rejestracja agent
- wykrywanie systemów plików, interfejsów sieciowych i OID SNMP
- frontend oparty na WWW w PHP
- dostępny z dowolnego miejsca
- można poruszać się po nim klikając
- dziennik audytu
- API Zabbix udostępnia programowalny interfejs do Zabbix do masowych operacji, integracji z oprogramowaniem firm trzecich i innych celów.
- bezpieczne uwierzytelnianie użytkowników
- dostęp niektórych użytkowników może być ograniczony do określonych widoków
W pełni funkcjonalny i łatwo rozszerzalny agent
- wdrażany na monitorowanych celach
- może być wdrażany zarówno w systemach Linux, jak i Windows
- napisane w C, dla wydajności i niewielkiego zużycia pamięci
- łatwe do przenoszenia
Gotowość do pracy w złożonych środowiskach
- zdalne monitorowanie ułatwione dzięki użyciu proxy Zabbix
Słownik
W tej sekcji możesz poznać znaczenie niektórych terminów powszechnie używanych w Zabbix.
- dowolne fizyczne lub wirtualne urządzenie, aplikacja, usługa lub inny logicznie powiązany zbiór monitorowanych parametrów.
- logiczna grupa hostów. Grupy hostów są używane podczas przypisywania praw dostępu do hostów dla różnych grup użytkowników.
- określony fragment danych, który chcesz otrzymywać z hosta, metryka danych.
- transformacja otrzymanej wartości metryki przed zapisaniem jej do bazy danych.
- logiczne wyrażenie, które definiuje próg problemu i służy do "oceny" danych otrzymywanych w pozycjach.
Gdy otrzymane dane są powyżej progu, wyzwalacze przechodzą ze stanu Ok do stanu Problem. Gdy otrzymane dane są poniżej progu, wyzwalacze pozostają w stanie Ok lub do niego wracają.
- zestaw encji (pozycje, wyzwalacze, wykresy, reguły niskopoziomowego wykrywania, scenariusze web) gotowy do zastosowania do jednego lub kilku hostów.
Zadaniem szablonów jest przyspieszenie wdrażania zadań monitorowania na hoście; a także ułatwienie wprowadzania masowych zmian w zadaniach monitorowania. Szablony są powiązane bezpośrednio z poszczególnymi hostami.
- logiczna grupa szablonów. Grupy szablonów są używane podczas przypisywania praw dostępu do szablonów dla różnych grup użytkowników.
- pojedyncze wystąpienie czegoś, co zasługuje na uwagę, na przykład zmiana stanu wyzwalacza lub przeprowadzenie wykrywania/autorejestracji agent.
- z góry zdefiniowany znacznik dla zdarzenia. Może być używany w korelacji zdarzeń, granulacji uprawnień itp.
- metoda elastycznego i precyzyjnego powiązywania problemów z ich rozwiązaniem.
Na przykład możesz zdefiniować, że problem zgłoszony przez jeden wyzwalacz może zostać rozwiązany przez inny wyzwalacz, który może nawet używać innej metody zbierania danych.
- wyzwalacz, który znajduje się w stanie "Problem".
- opcje zarządzania problemami udostępniane przez Zabbix, takie jak dodanie komentarza, potwierdzenie, zmiana ważności lub ręczne zamknięcie.
- z góry zdefiniowany sposób reagowania na zdarzenie.
Akcja składa się z operacji (np. wysłania powiadomienia) oraz warunków (kiedy operacja jest wykonywana)
- niestandardowy scenariusz wykonywania operacji w ramach akcji; sekwencja wysyłania powiadomień/wykonywania zdalnych poleceń.
- symbol zastępczy zmiennej, który przyjmuje określoną wartość zależnie od kontekstu.
- środek dostarczania powiadomień; kanał dostarczania.
- wiadomość o zdarzeniu wysyłana do użytkownika za pośrednictwem wybranego kanału mediów.
- z góry zdefiniowane polecenie, które jest automatycznie wykonywane na monitorowanym hoście po spełnieniu określonego warunku.
- jedno lub kilka żądań HTTP służących do sprawdzania dostępności witryny internetowej.
- interfejs webowy dostarczany wraz z Zabbix.
- konfigurowalna sekcja interfejsu webowego wyświetlająca podsumowania i wizualizacje ważnych informacji w jednostkach wizualnych zwanych widżetami.
- jednostka wizualna wyświetlająca informacje określonego rodzaju i pochodzenia (podsumowanie, mapa, wykres, zegar itp.), używana na pulpicie.
- Zabbix API umożliwia używanie protokołu JSON RPC do tworzenia, aktualizowania i pobierania obiektów Zabbix (takich jak hosty, pozycje, wykresy i inne) lub wykonywania innych niestandardowych zadań.
- centralny proces oprogramowania Zabbix, który wykonuje monitorowanie, współpracuje z proxy Zabbix i agent, oblicza wyzwalacze, wysyła powiadomienia; centralne repozytorium danych.
- proces, który może zbierać dane w imieniu serwera Zabbix, odciążając serwer z części zadań przetwarzania.
- proces wdrażany na monitorowanych celach w celu aktywnego monitorowania lokalnych zasobów i aplikacji.
- agent Zabbix nowej generacji służący do aktywnego monitorowania lokalnych zasobów i aplikacji, umożliwiający używanie niestandardowych wtyczek do monitorowania.
Ponieważ Zabbix agent 2 współdzieli wiele funkcji z Zabbix agent, termin "Zabbix agent" w dokumentacji oznacza oba - Zabbix agent i Zabbix agent 2, jeśli zachowanie funkcjonalne jest takie samo. Zabbix agent 2 jest wymieniany z nazwy tylko tam, gdzie jego funkcjonalność różni się.
- obsługa szyfrowanej komunikacji między komponentami Zabbix (serwer, proxy, agent, narzędzia zabbix_sender i zabbix_get) z użyciem protokołu Transport Layer Security (TLS).
- zautomatyzowany proces, w ramach którego sam agent Zabbix jest rejestrowany jako host i rozpoczyna monitorowanie.
- zautomatyzowane wykrywanie urządzeń sieciowych.
- zautomatyzowane wykrywanie elementów niskiego poziomu na określonym urządzeniu (np. systemów plików, interfejsów sieciowych itp.).
- zestaw definicji do zautomatyzowanego wykrywania elementów niskiego poziomu na urządzeniu.
- metryka z określonymi parametrami jako zmiennymi, gotowa do niskopoziomowego wykrywania. Po niskopoziomowym wykrywaniu zmienne są automatycznie zastępowane rzeczywistymi wykrytymi parametrami, a metryka automatycznie rozpoczyna zbieranie danych.
- wyzwalacz z określonymi parametrami jako zmiennymi, gotowy do niskopoziomowego wykrywania. Po niskopoziomowym wykrywaniu zmienne są automatycznie zastępowane rzeczywistymi wykrytymi parametrami, a wyzwalacz automatycznie rozpoczyna ocenę danych.
Prototypy niektórych innych encji Zabbix są również używane w niskopoziomowym wykrywaniu - prototypy wykresów, prototypy hostów, prototypy grup hostów.