Sidebar

pl:manual:installation:requirements

2 Wymagania

Sprzęt

Pamięć

Zabbix wymaga zarówno pamięci fizycznej jak i dyskowej. Na dobry początek wystarczy 128 MB pamięci fizycznej i 256 MB wolnej przestrzeni na dysku. Jednakże, ilość wymaganej pamięci dyskowej zależy głównie od ilości hostów oraz monitorowanych parametrów. Jeżeli planowane jest przechowywanie długiej historii monitorowanych parametrów, należy zapewnić przynajmniej kilka gigabajtów przestrzeni dyskowej do przechowywania historii w bazie danych. Każdy proces demona Zabbix wymaga kilku połączeń do serwera bazy. Liczba pamięci zajętej na połączenia do bazy zależy od konfiguracji silnika bazy danych.

Im więcej jest dostępnej pamięci fizycznej, tym szybciej działa baza danych (jak również sam Zabbix)!
CPU

Zabbix a w szczególności baza danych Zabbix może powodować znaczne obciążenie CPU, zależnie od monitorowanych parametrów i wybranego silnika bazy danych.

Inny sprzęt

Port komunikacji szeregowej z modem GSM wymagane są przy powiadomieniach przez SMS. Można też użyć konwertera USB-port-szeregowy.

Przykłady konfiguracji sprzętowej

Tabela przedstawia kilka przykładów konfiguracji sprzętowej:

Nazwa Platforma CPU/Pamięć Baza danych Monitorowane hosty
Mała CentOS Virtual Appliance MySQL InnoDB 100
Średnia CentOS 2 rdzenie CPU/2GB MySQL InnoDB 500
Duża RedHat Enterprise Linux 4 rdzenie CPU/8GB RAID10 MySQL InnoDB lub PostgreSQL >1000
Bardzo duża RedHat Enterprise Linux 8 rdzeni CPU/16GB Szybki RAID10 MySQL InnoDB lub PostgreSQL >10000
Aktualnie konfiguracja w dużej mierze zależy od ilości aktywnych pozycji i częstotliwości odświeżania. Dla dużych instalacji zalecamy uruchamianie bazy danych na innej maszynie.

Wspierane platformy

Ze względu na wymagania ochrony i specyficzną naturę serwera, UNIX jest jedynym systemem, który dostarcza wymaganej wydajności, odporności na błędy. Zabbix działa na różnych wersjach wiodących platform.

Zabbix został przetestowany na następujących platformach:

  • Linux
  • IBM AIX
  • FreeBSD
  • NetBSD
  • OpenBSD
  • HP-UX
  • Mac OS X
  • Solaris
  • Windows: 2000, Server 2003, XP, Vista, Server 2008, 7, 8, Server 2012 (tylko agent Zabbix)
Zabbix może działać również na innych systemach operacyjnych podobnych do Unix.

Oprogramowanie

Zabbix został zbudowany w oparciu o nowoczesny serwer www Apache, przodujące silniki bazy danych, i język skryptowy PHP.

System zarządzania bazą danych
Oprogramowanie Wersja Komentarze
MySQL 5.0.3 lub nowszy Wymagane, gdy MySQL używany jest jako baza danych Zabbix. Wymagany jest silnik InnoDB.
Oracle 10g lub nowszy Wymagane, gdy Oracle używany jest jako baza danych Zabbix.
PostgreSQL 8.1 lub nowszy Wymagane, gdy PostgreSQL używany jest jako baza danych Zabbix.
Sugerujemy użycie przynajmniej wersji PostgreSQL 8.3, która udostępnia znacznie lepszą wydajność VACUUM.
SQLite 3.3.5 lub nowszy Wymagane, gdy SQLite używany jest jako baza danych Zabbix.
IBM DB2 9.7 lub nowszy Wymagane, gdy IBM DB2 używany jest jako baza danych Zabbix.
Wsparcie dla IBM DB2 jest eksperymentalne!
SQLite3 z proxy Zabbix działa dobrze, używanie SQLite3 dla serwera Zabbix nie jest wskazane. Od Zabbix 2.2.5, jednoczesny dostęp do bazy danych z serwera i interfejsu użytkownika może spowodować uszkodzenie bazy!
Interfejs użytkownika

Do uruchomienia interfejsu użytkownika Zabbix wymagane jest następujące oprogramowanie:

Oprogramowanie Wersja komentarze
Apache 1.3.12 lub nowszy
PHP 5.3.0 lub nowszy PHP v7 nie jest obsługiwany.
Rozszerzenia PHP:
gd 2.0 lub nowszy Rozszerzenie PHP GD musi obsługiwać obrazy PNG (--with-png-dir), obrazy JPEG (--with-jpeg-dir) oraz FreeType 2 (--with-freetype-dir).
bcmath php-bcmath (--enable-bcmath)
ctype php-ctype (--enable-ctype)
libXML 2.6.15 lub nowszy php-xml lub php5-dom, jeżeli są dostarczone jako oddzielne pakiety.
xmlreader php-xmlreader, jeżeli jest dostarczony jako oddzielny pakiet.
xmlwriter php-xmlwriter, jeżeli jest dostarczony jako oddzielny pakiet.
session php-session, jeżeli jest dostarczony jako oddzielny pakiet.
sockets php-net-socket (--enable-sockets). Wymagane dla skryptów użytkownika.
mbstring php-mbstring (--enable-mbstring)
gettext php-gettext (--with-gettext). Wymagane do poprawnego działania tłumaczenia.
ibm_db2 Wymagane, gdy IBM DB2 używany jest jako baza danych Zabbix.
mysqli Wymagane, gdy SQLite używany jest jako baza danych Zabbix.
oci8 Wymagane, gdy Oracle używany jest jako baza danych Zabbix.
pgsql Wymagane, gdy PostgreSQL używany jest jako baza danych Zabbix.
sqlite3 Wymagane, gdy SQLite używany jest jako baza danych Zabbix.
Zabbix może pracować również z wcześniejszymi wersjami Apache, MySQL, Oracle i PostgreSQL.
Przy użyciu innych czcionek niż domyślna DejaVu, wymagana może być funkcja PHP imagerotate. Jeżeli jej nie ma, czcionki te mogą być w niewłaściwy sposób wyświetlane w nagłówkach w Monitorowanie → Przegląd jak również i w innych miejscach. Funkcja ta jest dostępna tylko wtedy, gdy PHP jest kompilowane w pakietem z GD, inaczej jak w Debianie, czy innych dystrybucjach.
Przeglądarka WWW po stronie klienta

Muszą być włączone ciasteczka i Java Script.
Wspierane są ostatnie wersje Google Chrome, Mozilla Firefox, Microsoft Internet Explorer i Opera. Inne przeglądarki (Apple Safari, Konqueror) również mogą pracować z Zabbix.

Serwer
WymaganieOpis
OpenIPMI Wymagane do obsługi IPMI.
libssh2 Wymagane do obsługi SSH. Wersja 1.0 lub wyższa.
fping Wymagane dla pozycji pingów ICMP.
libcurl Wymagane dla monitorowania sieci www i monitorowania VMware.
libiksemel Wymagane dla obsługi Jabber-a.
libxml2 Wymagane dla monitorowania VMware.
net-snmp Wymagane dla obsługi SNMP.
Brama Java

Jeżeli Zabbix pobrany został z repozytorium źródeł lub z archiwum, wymagane zależności zawarte są w źródłach.

Jeżeli Zabbix pobrany został jako pakiet dystrybucyjny, wymagane zależności obsłuży system pakietowania.

W obu powyższych przypadkach, oprogramowanie jest gotowe do użycia bez konieczności dalszego pobierania.

Jednakże, na wypadek, gdyby potrzebne było udostępnienie wersji zależności (na przykład, jeżeli przygotowujemy pakiet dystrybucji Linux), poniżej jest lista wersji bibliotek, z którymi brama Java pracuje. Zabbix może poprawnie pracować również z innymi wersjami tych bibliotek.

Poniższa tabela zawiera listę plików JAR, aktualnie wymaganych w kodach źródłowych bramy Java:

Biblioteka Licencja Strona WWW Komentarze
logback-core-0.9.27.jar EPL 1.0, LGPL 2.1 http://logback.qos.ch/ Testowane z 0.9.27, 1.0.13, i 1.1.1.
logback-classic-0.9.27.jar EPL 1.0, LGPL 2.1 http://logback.qos.ch/ Testowane z 0.9.27, 1.0.13, i 1.1.1.
slf4j-api-1.6.1.jar MIT License http://www.slf4j.org/ Testowane z 1.6.1, 1.6.6, i 1.7.6.
android-json-4.3_r3.1.jar Apache License 2.0 https://android.googlesource.com/platform/libcore/+/master/json Testowane z 2.3.3_r1.1 i 4.3_r3.1. Zobacz też instrukcje tworzenia plików JAR w pliku src/zabbix_java/lib/README.

Brama Java kompiluje się i uruchamia z Java 1.6 i nowszymi. Zalecamy, by dostawcy wersji pre-kompilowanych bramy używali do kompilacji wersji Java 1.6, tak by można było uruchomić na wszystkich wersjach do najnowszej włącznie.

Rozmiar bazy danych

Dane konfiguracyjne Zabbix wymagają stałej przestrzeni dyskowej i zbyt mocno nie rosną.

Rozmiar bazy danych Zabbix zależy głównie od tych zmiennych, które definiują ilość przechowywanych danych historycznych:

  • Liczba przetwarzanych wartości na sekundę

Jest to średnia liczba nowych wartości, jakie serwer Zabbix otrzymuje w każdej sekundzie. Na przykład, jeżeli mamy 3000 pozycji monitorowanych z częstotliwością raz na 60 sekund, Liczba wartości na sekundę zostanie obliczona jako 3000/60 = 50.

Oznacza to, że w każdej sekundzie 50 nowych wartości jest dodawanych do serwera Zabbix.

  • Ustawienia porządkowania historii

Zabbix przechowuje wartości dla ustalonego okresu czasu, normalnie kilka tygodni lub miesięcy. Każda nowa wartość wymaga określonej ilości miejsca na dysku dla danych i indeksów.

Zatem, jeżeli chcemy przechowywać 30 dni historii i otrzymujemy 50 wartości na sekundę, ogólna liczba wartości wyniesie ok (30*24*3600)* 50 = 129.600.000.

Zależnie od użytego silnika bazy, typu otrzymywanych wartości (zmiennoprzecinkowe, całkowite, ciągi znaków, pliki logów, itp.), przestrzeń dyskowa do przechowywania pojedynczej wartości może się wahać od 40 bajtów do setek bajtów. Średnio wychodzi około 90 bajtów na wartość dla pozycji numerycznych. W tym przypadku, oznacza to że 130 milionów wartości będzie wymagać 130M * 90 bajtów = 10.9GB przestrzeni dyskowej.

Niemożliwe jest dokładne określenie rozmiaru wartości pozycji tekstowych/logów, ale można założyć, że zajmą około 500 bajtów na wartość.
  • Ustawienia Porządkowania dla trendów

Zabbix przechowuje w tabeli trends jedno-godzinny zestaw danych zawierających maksimum/minimum/średnią/licznik dla wartości każdej pozycji. Dane są używane do obliczania trendów i wykresów w dłuższych okresach. Okresu jednogodzinnego nie można zmienić.

Baza danych Zabbix, zależnie od typu bazy, wymaga około 90 bajtów dla każdego takiego zestawu. Załóżmy, że chcemy przechowywać trendy dla okresu 5 lat. Wartości dla 3000 pozycji będą wymagać 3000*24*365* 90 = 2.2GB na rok, lub 11GB przez 5 lat.

  • Ustawienia Porządkowania dla zdarzeń

Każde zdarzenie Zabbix wymaga około 170 bajtów przestrzeni dyskowej. Trudno jest określić ilość zdarzeń generowanych dziennie przez Zabbix. W najgorszym przypadku, możemy założyć, że Zabbix generuje jedno zdarzenie na sekundę.

Znaczy to, że jeżeli chcemy przechowywać zdarzenia przez 3 lata, będzie to wymagać 3*365*24*3600* 170 = 15GB

Tabela zawiera wzory, których można użyć do obliczenia wymaganej przez system Zabbix przestrzeni dyskowej:

ParametrWzór dla wymaganej przestrzeni dyskowej (w bajtach)
Konfiguracja Zabbix Stały rozmiar. Normalnie około 10MB lub mniej.
Historia dni*(pozycje/częstotliwość odświeżania)*24*3600*bajty
pozycje : liczba pozycji
dni : liczba dni przechowywania historii
częstotliwość odświeżania : średnia częstotliwość odświeżania pozycji
bajty : liczba bajtów wymaganych do przechowania pojedynczej wartości, zależy od silnika bazy, normalnie ~90 bajtów.
Trendy dni*(pozycje/3600)*24*3600*bajty
pozycje : liczba pozycji
dni : liczba dni przechowywania historii
bajty : liczba bajtów wymaganych do przechowania pojedynczego trendu, zależy od silnika bazy, normalnie ~90 bajtów.
Zdarzenia dni*zdarzenia*24*3600*bajty
zdarzenia : liczba zdarzeń na sekundę. W najgorszym przypadku jedno (1) zdarzenie na sekundę.
dni : liczba dni przechowywania historii
bajty : liczba bajtów wymaganych do przechowania pojedynczego zdarzenia, zależy od silnika bazy, normalnie ~170 bajtów.
Wartości średnie takie jak ~90 bajtów dla pozycji numerycznych, ~170 bajtów dla zdarzeń są pobierane ze statystyk rzeczywistych przy użyciu silnika bazy danych MySQL.

Zatem, ogólna wymagana przestrzeń dyskowa może być policzona jako:
Konfiguracja + Historia + Trendy + Zdarzenia
Przestrzeń dyskowa NIE będzie zajęta od razu po instalacji Zabbix. Rozmiar bazy danych będzie rósł do pewnego punktu, zależnego od ustawień porządkowania.

Przestrzeń dyskową potrzebną do pracy węzłów oblicza się w podobny sposób, jednak zależy ona również od liczby węzłów potomnych podłączonych do węzła.

Synchronizacja czasu

Bardzo ważne jest, by na serwerze, na którym uruchomiony jest Zabbix, działał precyzyjny system pomiaru czasu. ntpd jest najpopularniejszym demonem synchronizującym czas hostów z czasem innej maszyny.