Krótkie streszczenie z tej prezentacji w postaci właśnie tych 10 powodów dla których warto używać Zabbixa.
W ramach pierwszego spotkania Warsaw Zabbix User Group miałem okazję przeprowadzić prezentację na temat tego w pełni open source`owego, popularnego systemu monitoringu. Wymieniłem w niej 10 powodów, dla których warto zainteresować się tym produktem myśląc o rozbudowie/usprawnieniu monitoringu infrastruktury. Żaden bowiem poważny system nie może istnieć bez systemu wczesnego ostrzegania. Nie możesz bowiem zarządzać czymś czego nie monitorujesz, gdyż w razie awarii (a ta prędzej czy później nastąpi) ucierpi nie tylko twoja reputacja, ale przede wszystkim narazisz użytkowników twojego systemu na długie przerwy.
Poniżej krótkie streszczenie z tej prezentacji w postaci właśnie tych 10 punktów.
1. Stabilność połączona z rozwojem
Zabbix to produkt mający początki jeszcze w roku 1998, ale jednocześnie ciągle rozwijany. Podczas ostatniej wizyty w Warszawie na imprezie Open Source Day 2015 twórca Zabbixa Alexei Vladishev zapowiedział pojawienie się wersji 3.0 w okolicach września. Produkt jest wygrzany i używany przez duże organizacje na całym świecie. Dodatkowo posiada znakomitą dokumentację oraz rozróżnia podobnie jak np. Ubuntu wersję LTS z dłuższym okresem wsparcia – jest to świetna opcja dla środowisk stawiających na stabilność
2. Produkt w pełni open source
Zabbix nie posiada żadnej rozszerzonej wersji Enterprise. W zamierzeniu twórcy pozostanie on dostępny za darmo wraz z kodem źródłowym. Jednocześnie publikowane są paczki dla popularnych dystrybucji. Jeśli jednak potrzebujesz pomocy to wówczas masz możliwość skorzystania z płatnego, profesjonalnego wsparcia dostępnego w różnych pakietach.
3. Rozleniwiająca automatyzacja
Wspaniałe możliwości automatyzacji pracy Zabbixa czynią go bardzo przydatnym w dynamicznych, zmieniających się dużych środowiskach. Są to między innymi następujące wbudowane funkcje:
- autorejestracja agentów – automatyczne dodawanie hostów do systemu monitoringu bez konieczności ich wcześniejszej rejestracji
- autowykrywanie obiektów w sieci – cykliczne skanowanie wybranych segmentów sieci w poszukiwaniu hostów (serwery, urządzenia sieciowe, aplikacje itp.)
- autokonfiguracja LLD – automatyczne dostosowanie się do zmieniającej się konfiguracji (np. monitorowanie nowo utworzonej partycji)
Dla mnie to świetna sprawa, gdyż z reguły szukam narzędzi wspierających moje „lenistwo” 🙂
4. Ogromny zbiór metod monitorowania
Mamy możliwość monitorowania naszych obiektów z użyciem wielu metod i protokołów takich jak: snmp, ssh, telnet, icmp, ipmi, odbc, jmx, http, imap, smtp, ftp, dns i innych.
Monitorować możemy zarówno z użyciem natywnych agentów instalowanych na systemie operacyjnym jak i bez nich. W tym ostatnim przypadku jednak będziemy ograniczeni ilością gromadzonych metryk, które daje nam tylko agent.
5. Wizualizacja
Gromadzone dane możemy w łatwy sposób przedstawiać na wykresie czasu. Istnieje możliwość tworzenia map ze stanem naszych obiektów oraz powiązaniami między nimi. Całość uzupełniają jeszcze różnego rodzaju raporty. Wszystkie te rzeczy możemy gromadzić w kolekcje ekranów dedykowanych pod wyświetlanie bieżących statusów (np. w centrach NOC).
6. Doskonała rozszerzalność
Jeśli brakuje nam funkcjonalności z tych dostępnych w Zabbix to możemy w łatwy sposób ją korzystając z jednej z poniższych opcji:
- własne skrypty uruchamiane na agencie lub też bezpośrednio na serwerze
- własne skrypty LLD wykrywające nowe obiekty
- gotowe szablony dostępne na https://share.zabbix.com/
7. Wbudowany interfejs webowy
Większość zadań administracyjnych jest możliwa do wykonania z wbudowanego interfejsu webowego. Niestety wymaga on przyzwyczajenia, aby sprawnie się w nim poruszać i jest to jedna z bardziej wyczekiwanych zmian w nadchodzącej wersji 3.0.
8. Skalowalność
Zabbix może działać w architekturze rozproszonej, gdzie występują serwery pośredniczące (proxy) buforujące dane na wypadek niedostępności serwera głównego. Zmniejszają one znacząco obciążenie serwera związaną z obsługą połączeń do obiektów jednocześnie same posiadając bardzo małe wymagania sprzętowe (możliwe jest uruchomienie serwera proxy na Raspberry PI!).
Sam serwer centralny współpracuje ze znanym oprogramowaniem do klastrowania jak Pacemaker oraz konfiguracją klastrową baz danych.
9. Zarządzanie i integracja poprzez API
W razie potrzeby integracji istnieje możliwość wykorzystania dostępnego API. Posiada ono wsparcie wielu języków skryptowych (Python, Perl, Ruby, Powershell, Go, Java). Może być ono również wykorzystane do sprawnego zarządzania w przypadku dużej ilości obiektów jak i do dodatkowego raportowania.
10. Doskonale wspiera DevOps
Na koniec już mniej technicznie wspomnę, że jako narzędzie do monitorowania Zabbix doskonale komponuje się z kulturą pracy DevOps. Posiada on funkcje wspierające kilka z podstawowych zasad:
- Mierz efekty zmian, abyś nie był niemile zaskoczony
- Ucz się (również na błędach)
- Dziel się wiedzą
- Automatuzuj
- Uzupełniaj pętlę informacji zwrotnej
Jeśli chcesz sprawdzić Zabbixa na żywo u siebie to zachęcam do skorzystania gotowego zestawu na moim profilu na GitHubie.
Powiązane wpisy:
Nowy wymiar automatyzacji z Red Hat Ansible Automation Platform
Automatyzacja – Zarządzanie zmianami bez pomyłek