3 Installation from sources
You can get the very latest version of Zabbix by compiling it from the sources.
A step-by-step tutorial for installing Zabbix from the sources is provided here.
Instalowanie demonów Zabbix
1 Pobierz archiwum źródłowe
Przejdź do strony pobierania Zabbix i pobierz archiwum źródłowe. Po pobraniu rozpakuj źródła, uruchamiając:
tar -zxvf zabbix-7.4.0.tar.gz
Wprowadź w poleceniu prawidłową wersję Zabbix. Musi ona odpowiadać nazwie pobranego archiwum.
2 Utwórz konto użytkownika
Wszystkie procesy demona Zabbix działają w ramach nieuprzywilejowanych użytkowników systemowych.
Jeśli demon Zabbix zostanie uruchomiony z nieuprzywilejowanego konta użytkownika, będzie nadal działał jako ten użytkownik.
W domyślnej konfiguracji, jeśli demon zostanie uruchomiony jako root, przełączy się na konto użytkownika zabbix, które musi istnieć.
Aby utworzyć systemowego użytkownika i grupę zabbix, uruchom poniższe polecenia.
System oparty na RedHat:
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
System oparty na Debianie:
addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix
Nie ma potrzeby tworzenia oddzielnego konta użytkownika dla frontend Zabbix.
Zalecenie dotyczące bezpieczeństwa
Jeśli serwer Zabbix i agent działają na tej samej maszynie, zaleca się uruchamianie ich na oddzielnych kontach użytkowników.
Uruchamianie obu procesów jako ten sam użytkownik umożliwia agentowi dostęp do pliku konfiguracyjnego serwera, co może ujawnić poufne informacje — takie jak hasło do bazy danych — każdemu użytkownikowi z uprawnieniami Admin w Zabbix.
Uruchamianie Zabbix jako root, bin lub jakiekolwiek inne konto ze specjalnymi uprawnieniami stanowi zagrożenie bezpieczeństwa.
Katalog domowy (opcjonalnie)
Procesy Zabbix nie wymagają katalogu domowego, więc jego tworzenie zazwyczaj nie jest zalecane.
Jeśli jednak potrzebujesz funkcjonalności wymagającej katalogu domowego (na przykład przechowywania poświadczeń MySQL w $HOME/.my.cnf), możesz go utworzyć za pomocą poniższych poleceń.
W systemach opartych na RedHat uruchom:
mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
chown zabbix:zabbix /usr/lib/zabbix
W systemach opartych na Debianie uruchom:
mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
chown zabbix:zabbix /var/lib/zabbix
3 Utwórz bazę danych Zabbix
Dla demonów Zabbix serwer i proxy, a także dla frontend Zabbix, wymagana jest baza danych. Nie jest ona potrzebna do uruchomienia Zabbix agent.
Dostępne są skrypty SQL do tworzenia schematu bazy danych i wstawiania zestawu danych. Baza danych Zabbix proxy wymaga tylko schematu, natomiast baza danych Zabbix serwer wymaga dodatkowo zestawu danych oprócz schematu.
Po utworzeniu bazy danych Zabbix przejdź do kolejnych kroków kompilacji Zabbix.
4 Konfigurowanie źródeł
Do budowy Zabbix server, Zabbix proxy lub Zabbix agent wymagany jest C99 z rozszerzeniami GNU. Tę wersję można jawnie określić, ustawiając CFLAGS="-std=gnu99":
export CFLAGS="-std=gnu99"
Jeśli instalacja odbywa się z repozytorium Git Zabbix, najpierw należy uruchomić:
./bootstrap.sh
Podczas konfigurowania źródeł dla Zabbix server lub proxy należy określić typ bazy danych, który ma być używany. Tylko jeden typ bazy danych może być skompilowany jednocześnie z procesem server lub proxy.
Aby wyświetlić wszystkie obsługiwane opcje konfiguracji, w rozpakowanym katalogu źródeł Zabbix uruchom:
./configure --help
Aby skonfigurować źródła dla Zabbix server i agent, możesz uruchomić na przykład:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-ares
Aby skonfigurować źródła dla Zabbix server (z PostgreSQL itp.), możesz uruchomić:
./configure --enable-server --with-postgresql --with-net-snmp
Aby skonfigurować źródła dla Zabbix proxy (z SQLite itp.), możesz uruchomić:
./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2
Aby skonfigurować źródła dla Zabbix agent, możesz uruchomić:
./configure --enable-agent
lub dla Zabbix agent 2:
./configure --enable-agent2
Do zbudowania Zabbix agent 2 musi być zainstalowana obsługiwana wersja Go.
Uwagi dotyczące opcji kompilacji:
--enable-agent- kompiluje Zabbix agent, a także narzędzia wiersza poleceń Zabbix get i Zabbix sender.--with-libcurl- wymagane do monitorowania maszyn wirtualnych, uwierzytelniania SMTP oraz pozycjiweb.page.*Zabbix agent items. Zobacz także: Wymagania (libcurl).--with-libxml2- wymagane do monitorowania maszyn wirtualnych.--with-libpcre2[=DIR]- Zabbix zawsze kompiluje się z biblioteką PCRE2; ta opcja pozwala jedynie określić niestandardową ścieżkę instalacji PCRE2.--with-mysql=/path/to/mysql_config- określa ścieżkę do konkretnej konfiguracji biblioteki klienta MySQL. Przydatne, gdy zainstalowanych jest wiele wersji MySQL lub MariaDB.--enable-static- statycznie linkuje biblioteki (nieobsługiwane na Solaris). Użyj tej opcji, jeśli planujesz rozpowszechniać skompilowane binaria na systemach bez wymaganych bibliotek. Nie jest zalecana podczas budowania Zabbix server. Aby statycznie zbudować server, wymagana jest statyczna wersja każdej biblioteki zewnętrznej. Skrypt configure nie sprawdza tego automatycznie.--with-stacksize=<value>- ustawia rozmiar stosu na wątek w kilobajtach (np.--with-stacksize=512). Możesz zwiększyć tę wartość, jeśli Zabbix ulega awarii lub zawiesza się z powodu przepełnienia stosu (np. podczas preprocessing w systemach z niskimi domyślnymi limitami rozmiaru stosu wątków).
Jeśli ./configure zakończy się niepowodzeniem z powodu brakujących bibliotek lub innych problemów, sprawdź plik config.log, aby uzyskać szczegółowe informacje o błędzie.
Na przykład, jeśli brakuje libssl, bezpośredni komunikat o błędzie może być mylący:
checking for main in -lmysqlclient... no
configure: error: Not found mysqlclient library
W takim przypadku config.log ujawnia rzeczywistą przyczynę:
/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
Zobacz także:
5 Zbuduj i zainstaluj wszystko
Jeśli instalujesz z repozytorium Git Zabbix, najpierw należy uruchomić:
$ make dbschema
make install
Ten krok należy uruchomić jako użytkownik z wystarczającymi uprawnieniami (zwykle
root lub przy użyciu sudo).
Uruchomienie make install domyślnie zainstaluje pliki binarne demona
(zabbix_server, zabbix_agentd, zabbix_proxy) w /usr/local/sbin oraz
pliki binarne klienta (zabbix_get, zabbix_sender) w /usr/local/bin.
Aby określić inną lokalizację niż /usr/local, użyj klucza --prefix w poprzednim kroku konfiguracji źródeł, na przykład --prefix=/home/zabbix. W takim przypadku pliki binarne demona zostaną zainstalowane w <prefix>/sbin, natomiast narzędzia w <prefix>/bin. Strony podręcznika zostaną zainstalowane w <prefix>/share.
6 Przejrzyj i edytuj pliki konfiguracyjne
- edytuj plik konfiguracyjny agenta Zabbixa /usr/local/etc/zabbix_agentd.conf
Musisz skonfigurować ten plik dla każdego hosta z zabbix_agentd zainstalowanym.
Musisz podać w pliku adres IP serwera Zabbixa. Połączenia z innych hostów będą odrzucane.
- edytuj plik konfiguracyjny serwera Zabbixa /usr/local/etc/zabbix_server.conf
Musisz podać nazwę bazy danych, użytkownika i hasło (jeśli jest używane).
Pozostałe parametry będą odpowiednie z wartościami domyślnymi, jeśli masz małą instalację (do dziesięciu monitorowanych hostów). Powinieneś jednak zmienić domyślne parametry, jeśli chcesz zmaksymalizować wydajność serwera Zabbixa (lub proxy).
- jeśli zainstalowałeś proxy Zabbixa, edytuj plik konfiguracyjny proxy /usr/local/etc/zabbix_proxy.conf
Musisz podać adres IP serwera i nazwę hosta proxy (musi być znana serwerowi), a także nazwę bazy danych, użytkownika i hasło (jeśli jest używane).
W przypadku SQLite należy podać pełną ścieżkę do pliku bazy danych; użytkownik DB i hasło nie są wymagane.
7 Uruchamianie demonów
Uruchom zabbix_server po stronie serwera.
zabbix_server
Upewnij się, że system umożliwia przydzielenie 36 MB (lub nieco więcej) pamięci współdzielonej, w przeciwnym razie serwer może się nie uruchomić i w pliku dziennika serwera pojawi się komunikat "Cannot allocate shared memory for <type of cache>.". Może się to zdarzyć w systemach FreeBSD, Solaris 8.
Uruchom zabbix_agentd na wszystkich monitorowanych maszynach.
zabbix_agentd
Upewnij się, że system umożliwia przydzielenie 2 MB pamięci współdzielonej, w przeciwnym razie agent może się nie uruchomić i w pliku dziennika agenta pojawi się komunikat "Cannot allocate shared memory for collector.". Może się to zdarzyć w systemie Solaris 8.
Jeśli zainstalowano proxy Zabbix, uruchom zabbix_proxy.
zabbix_proxy
Instalowanie interfejsu webowego Zabbix
Kopiowanie plików PHP
frontend Zabbixa jest napisany w PHP, więc do jego uruchomienia potrzebny jest serwer WWW obsługujący PHP. Instalacja polega po prostu na skopiowaniu plików PHP z katalogu ui do katalogu dokumentów HTML serwera WWW.
Typowe lokalizacje katalogów dokumentów HTML dla serwerów WWW Apache obejmują:
- /usr/local/apache2/htdocs (domyślny katalog podczas instalacji Apache ze źródeł)
- /srv/www/htdocs (OpenSUSE, SLES)
- /var/www/html (Debian, Ubuntu, Fedora, RHEL)
Zaleca się użycie podkatalogu zamiast katalogu głównego HTML. Aby utworzyć podkatalog i skopiować do niego pliki frontend Zabbixa, wykonaj następujące polecenia, zastępując <htdocs> rzeczywistym katalogiem:
mkdir <htdocs>/zabbix
cd ui
cp -a . <htdocs>/zabbix
Jeśli planujesz używać innego języka niż angielski, zobacz Instalacja dodatkowych języków frontend, aby uzyskać instrukcje.
Instalacja frontend
Informacje o kreatorze instalacji frontend Zabbix znajdziesz na stronie Instalacja interfejsu WWW.
Instalowanie ładowalnych wtyczek Zabbix agent 2
Instalacja ładowalnych wtyczek Zabbix agent 2 jest wymagana tylko wtedy, gdy chcesz monitorować cele nieobsługiwane przez wbudowane wtyczki (np. serwery lub klastry MongoDB, PostgreSQL i jego forki itp.). Zobacz pełną listę ładowalnych wtyczek oraz wbudowanych wtyczek.
Przed zainstalowaniem wtyczki sprawdź jej plik README. Może on zawierać szczegółowe wymagania i instrukcje instalacji.
Aby zainstalować ze źródeł, najpierw pobierz i rozpakuj archiwum źródłowe ładowalnej wtyczki.
Aby skompilować wtyczkę, przejdź do rozpakowanego katalogu wtyczki i uruchom make:
make
Do zbudowania ładowalnych wtyczek Zabbix agent 2 musi być zainstalowana obsługiwana wersja Go.
Plik wykonywalny wtyczki może znajdować się w dowolnym miejscu, o ile jest możliwy do załadowania przez Zabbix agent 2. Określ ścieżkę do binarnego pliku wtyczki w pliku konfiguracyjnym wtyczki, np. w postgresql.conf dla wtyczki PostgreSQL:
Plugins.PostgreSQL.System.Path=/path/to/executable/zabbix-agent2-plugin-postgresql
Ścieżka do pliku konfiguracyjnego wtyczki musi być określona w parametrze Include pliku konfiguracyjnego Zabbix agent 2:
Include=/path/to/plugin/configuration/file/postgresql.conf
Przejdź do sekcji konfiguracja, aby uzyskać więcej informacji na temat konfigurowania wtyczek.
Ładowalne wtyczki dostarczane przez Zabbix używają prostych plików makefile z następującymi celami kompilacji:
make- zbuduj wtyczkęmake clean- usuń wszystkie pliki utworzone podczas budowania wtyczkimake check- uruchom testy własne (wymaga rzeczywistego celu monitorowania, np. bazy danych PostgreSQL)make style- sprawdź styl kodu Go za pomocągolangci-lintmake format- sformatuj kod Go za pomocągo fmtmake dist- utwórz archiwum źródłowe zawierające wszystkie zależności
Instalowanie Java gateway
Instalacja Java gateway jest wymagana tylko wtedy, gdy chcesz monitorować aplikacje JMX. Java gateway jest lekki i nie wymaga bazy danych.
Aby zainstalować ze źródeł, najpierw pobierz i rozpakuj archiwum źródłowe.
Aby skompilować Java gateway, uruchom skrypt ./configure z opcją
--enable-java. Zaleca się określenie opcji --prefix, aby wskazać
ścieżkę instalacji inną niż domyślna /usr/local, ponieważ instalacja
Java gateway utworzy całe drzewo katalogów, a nie tylko pojedynczy plik
wykonywalny.
./configure --enable-java --prefix=$PREFIX
Aby skompilować i spakować Java gateway do pliku JAR, uruchom make.
Pamiętaj, że na tym etapie będziesz potrzebować plików wykonywalnych
javac i jar w swojej ścieżce.
make
Teraz masz plik zabbix-java-gateway-$VERSION.jar w
src/zabbix_java/bin. Jeśli chcesz uruchamiać Java gateway z katalogu
src/zabbix_java w katalogu dystrybucyjnym, możesz przejść do instrukcji
konfiguracji i uruchamiania Java
gateway.
W przeciwnym razie upewnij się, że masz wystarczające uprawnienia i
uruchom make install.
make install
Przejdź do konfiguracji, aby uzyskać więcej informacji na temat konfigurowania i uruchamiania Java gateway.
Instalacja usługi webowej Zabbix
Instalacja usługi webowej Zabbix jest wymagana tylko wtedy, gdy chcesz używać raportów zaplanowanych.
Aby zainstalować z kodu źródłowego, najpierw pobierz i rozpakuj archiwum źródłowe.
Aby skompilować usługę webową Zabbix, uruchom skrypt ./configure z
opcją --enable-webservice.
Do zbudowania usługi webowej Zabbix musi być zainstalowana obsługiwana wersja Go.
Uruchom zabbix_web_service na maszynie, na której usługa webowa jest zainstalowana:
zabbix_web_service
Przejdź do konfiguracji, aby uzyskać więcej informacji na temat konfigurowania generowania raportów zaplanowanych.