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.0.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 są uruchamiane przez nieuprzywilejowanych użytkowników systemowych.
Jeśli demon Zabbix zostanie uruchomiony z konta nieuprzywilejowanego 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 Debian:
addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix
Nie ma potrzeby tworzenia osobnego 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 pod oddzielnymi kontami użytkowników.
Uruchamianie obu 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 administratora 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ć, używając 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 Debian 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.
Udostępniono skrypty SQL do tworzenia schematu bazy danych i wstawiania zestawu danych. Baza danych proxy Zabbix wymaga tylko schematu, natomiast baza danych serwera Zabbix wymaga dodatkowo zestawu danych oprócz schematu.
Po utworzeniu bazy danych Zabbix przejdź do kolejnych kroków kompilacji Zabbix.
4 Konfigurowanie źródeł
Do zbudowania serwera Zabbix, proxy Zabbix lub agenta Zabbix wymagany jest C99 z rozszerzeniami GNU. Tę wersję można jawnie określić, ustawiając CFLAGS="-std=gnu99":
export CFLAGS="-std=gnu99"
Jeśli instalujesz z repozytorium Git Zabbix, najpierw należy uruchomić:
./bootstrap.sh
Podczas konfigurowania źródeł dla serwera Zabbix lub proxy musisz określić typ bazy danych, który ma być używany. Tylko jeden typ bazy danych może być skompilowany jednocześnie z procesem serwera 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 serwera Zabbix i agenta, 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 serwera Zabbix (z PostgreSQL itp.), możesz uruchomić:
./configure --enable-server --with-postgresql --with-net-snmp
Aby skonfigurować źródła dla proxy Zabbix (z SQLite itp.), możesz uruchomić:
./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2
Aby skonfigurować źródła dla agenta Zabbix, możesz uruchomić:
./configure --enable-agent
lub dla agenta Zabbix 2:
./configure --enable-agent2
Do zbudowania agenta Zabbix 2 musi być zainstalowana obsługiwana wersja Go.
Uwagi dotyczące opcji kompilacji:
--enable-agent- kompiluje agenta Zabbix, a także narzędzia wiersza poleceń Zabbix get i Zabbix sender.--with-libcurl- wymagane do monitorowania maszyn wirtualnych, uwierzytelniania SMTP oraz pozycjiweb.page.*agenta Zabbix. Zobacz także: Wymagania (libcurl).--with-libxml2- wymagane do monitorowania maszyn wirtualnych.--with-libpcre[=DIR]- Zabbix zawsze kompiluje się z biblioteką PCRE; ta opcja pozwala jedynie określić niestandardową ścieżkę instalacji PCRE.--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.--with-oracle- określa lokalizację interfejsu Oracle Call Interface (OCI) API.--enable-static- statycznie linkuje biblioteki (nieobsługiwane w Solaris). Użyj tej opcji, jeśli planujesz dystrybuować skompilowane binaria do systemów bez wymaganych bibliotek. Nie jest zalecane podczas budowania serwera Zabbix. Aby zbudować serwer statycznie, 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 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 Zabbix Git, najpierw należy uruchomić:
$ make dbschema
make install
Ten krok należy wykonać 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 Zabbix /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 Zabbix. Połączenia z innych hostów będą odrzucane.
- edytuj plik konfiguracyjny serwera Zabbix /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 Zabbix (lub proxy).
- jeśli zainstalowałeś proxy Zabbix, edytuj plik konfiguracyjny proxy /usr/local/etc/zabbix_proxy.conf
Musisz podać adres IP serwera oraz 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 Zabbix 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 Zabbix, 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 frontendu
Informacje na temat kreatora instalacji frontendu Zabbix można znaleźć 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 nieobjęte wbudowanymi wtyczkami (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 pliku binarnego wtyczki w pliku konfiguracyjnym wtyczki, np. w pliku 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 konfiguracji, 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 jeden 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 katalogu 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ć zaplanowanych raportów.
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 zainstalowana jest usługa webowa:
zabbix_web_service
Przejdź do konfiguracji, aby uzyskać więcej informacji na temat konfiguracji generowania zaplanowanych raportów.