4 Installation from packages
Przegląd
Oficjalne pakiety Zabbix 7.0 są dostępne na stronie Zabbix, gdzie można wybrać system operacyjny i komponent Zabbix, aby wygenerować niezbędne instrukcje instalacji oraz polecenia. Należy koniecznie zapoznać się z poniższymi uwagami dotyczącymi instalacji pakietów oraz stroną Instalacja i konfiguracja.
Pakiety są dostępne dla następujących dystrybucji Linux:
- Red Hat Enterprise Linux i jego pochodnych: AlmaLinux, Amazon Linux 2023, CentOS Stream, CentOS, Oracle Linux, Rocky Linux
- Debian, Ubuntu, Raspberry Pi OS, Raspbian
- SUSE Linux Enterprise Server, openSUSE Leap
Niektóre dystrybucje systemu operacyjnego (w szczególności dystrybucje oparte na Debianie) udostępniają własne pakiety Zabbix. Pakiety te nie są wspierane przez Zabbix i mogą być nieaktualne lub nie zawierać najnowszych funkcji oraz poprawek błędów. Zaleca się korzystanie wyłącznie z oficjalnych pakietów z Oficjalnego repozytorium Zabbix. Jeśli Zabbix został wcześniej zainstalowany z repozytorium systemu operacyjnego, zobacz kroki dotyczące aktualizacji pakietów Zabbix z repozytoriów systemu operacyjnego.
Pakiety obsługują bazę danych MySQL/PostgreSQL oraz serwer WWW Apache/Nginx. Należy pamiętać, że serwer Zabbix i proxy nie mogą korzystać z tej samej bazy danych; należy użyć różnych nazw baz danych, jeśli oba są zainstalowane na tym samym host.
W razie potrzeby oddzielne pakiety dla agent/agent 2 Zabbix, Zabbix get i Zabbix sender są dostępne w Oficjalnym repozytorium Zabbix.
Od Zabbix 7.0.5 pakiety Zabbix agent 2 nie są już dostępne dla RHEL 6 z powodu niezgodności Go 1.22 (i nowszych) z GCC 4.4.7 dostarczanym przez RHEL 6, co powoduje błędy kompilacji. Należy jednak pamiętać, że pakiety Zabbix agent są nadal wspierane.
Zabbix udostępnia również wstępnie skompilowane binaria Zabbix agent dla systemów innych niż Linux; zobacz:
- Instalacja agenta Windows z MSI
- Instalacja agenta macOS z PKG
- Starsze binaria (dla starszych/rzadziej spotykanych systemów, takich jak HP-UX, NetBSD, Tru64 oraz starsze wersje SLES)
Uwagi dotyczące instalacji pakietów
Poniższe uwagi dotyczą wszystkich systemów:
- Jeśli używasz PostgreSQL,
DBHost=localhost(lub adresu IP) w konfiguracji Zabbix serwer/proxy powoduje, że PostgreSQL używa gniazda sieciowego zamiast lokalnego gniazda UNIX; zobacz Konfiguracja SELinux, aby zapoznać się z powiązanymi instrukcjami konfiguracji. - Jeśli używasz TimescaleDB, zobacz dodatkowe informacje dotyczące konfiguracji TimescaleDB.
- Jeśli instalujesz Zabbix Java gateway (do monitorowania aplikacji JMX), zobacz dodatkowe instrukcje konfiguracji dla systemów opartych na RHEL oraz opartych na Debianie.
- Aby uruchamiać Zabbix agent jako root, zobacz Uruchamianie agenta jako root.
Poniższe uwagi dotyczą RHEL i jego pochodnych:
- Jeśli włączyłeś repozytorium EPEL dla EL9, które również udostępnia pakiety Zabbix, należy je wykluczyć z rozwiązywania zależności pakietów przed instalacją oficjalnych pakietów Zabbix; zobacz Przypadkowa instalacja pakietów Zabbix z EPEL.
- Informacje dotyczące instalowania pakietów Zabbix w środowiskach Red Hat UBI znajdziesz w sekcji Pakiety Zabbix dla RHEL w środowiskach Red Hat UBI.
- W przypadku korzystania z pozycji ICMP ping pakiety dla
fpingsą również dostępne w Oficjalnym repozytorium Zabbix.
Konfiguracja SELinux
Zabbix korzysta z komunikacji międzyprocesowej opartej na gniazdach. W systemach, w których Security-Enhanced Linux (SELinux) jest włączony, może być konieczne dodanie reguł SELinux, aby zezwolić Zabbix na tworzenie/używanie gniazd domeny UNIX w katalogu SocketDir. Pliki gniazd są używane przez serwer Zabbix (alerter, preprocessing, IPMI) oraz proxy Zabbix (IPMI) i są obecne, dopóki proces jest uruchomiony.
Przy włączonym SELinux w trybie enforcing wykonaj następujące polecenia, aby umożliwić komunikację między frontend Zabbix a serwerem:
Dla RHEL 7 (i nowszych), AlmaLinux, CentOS Stream, Oracle Linux, Rocky Linux 8 (i nowszych):
setsebool -P httpd_can_connect_zabbix on
Jeśli baza danych jest dostępna przez sieć (w tym localhost dla PostgreSQL), zezwól również frontend Zabbix na połączenie z bazą danych:
setsebool -P httpd_can_network_connect_db on
Dla RHEL wcześniejszych niż 7:
setsebool -P httpd_can_network_connect on
setsebool -P zabbix_can_network on
Po zastosowaniu ustawień SELinux uruchom ponownie Apache:
systemctl restart httpd
Opcjonalnie możesz zainstalować gotowy pakiet zabbix-selinux-policy z Oficjalnego repozytorium Zabbix.
Pakiet ten jest dostarczany dla wszystkich obsługiwanych wersji systemów operacyjnych, aby uprościć wdrożenie Zabbix i zapobiec wyłączaniu SELinux przez użytkowników z powodu złożoności konfiguracji.
Dla maksymalnego bezpieczeństwa zaleca się ustawienie niestandardowych ustawień SELinux.
Pakiet zabbix-selinux-policy zawiera podstawową politykę SELinux, która umożliwia Zabbix tworzenie i używanie gniazd oraz zezwala HTTPd na połączenie z PostgreSQL (używanym przez frontend).
Plik źródłowy zabbix_policy.te zawiera następujące reguły:
module zabbix_policy 1.2;
require {
type zabbix_t;
type zabbix_port_t;
type zabbix_var_run_t;
type postgresql_port_t;
type httpd_t;
class tcp_socket name_connect;
class sock_file { create unlink };
class unix_stream_socket connectto;
}
#============= zabbix_t ==============
allow zabbix_t self:unix_stream_socket connectto;
allow zabbix_t zabbix_port_t:tcp_socket name_connect;
allow zabbix_t zabbix_var_run_t:sock_file create;
allow zabbix_t zabbix_var_run_t:sock_file unlink;
allow httpd_t zabbix_port_t:tcp_socket name_connect;
#============= httpd_t ==============
allow httpd_t postgresql_port_t:tcp_socket name_connect;
Pakiety debuginfo
Pakiety Debuginfo zawierają symbole debugowania dla binariów Zabbixa.
Nie są wymagane do standardowej instalacji ani działania, ale są przydatne podczas zaawansowanego rozwiązywania problemów.
Należy pamiętać, że pakiety Debuginfo są dostępne dla następujących wersji: Red Hat Enterprise Linux 7 i wcześniejszych (w tym pochodnych) oraz SUSE Linux Enterprise Server 15 i wcześniejszych (w tym pochodnych).
Aby włączyć repozytorium zabbix-debuginfo:
- W systemach RHEL 6 lub 7 edytuj
/etc/yum.repos.d/zabbix.repoi ustawenabled=1dla sekcjizabbix-debuginfo:
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=https://repo.zabbix.com/zabbix/7.0/rhel/7/$basearch/debuginfo/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
- W systemach SUSE edytuj
/etc/zypp/repos.d/zabbix.repoi ustawenabled=1dla sekcjizabbix-debuginfo:
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo
type=rpm-md
baseurl=https://repo.zabbix.com/zabbix/7.0/sles/15/$basearch/debuginfo/
gpgcheck=1
gpgkey=https://repo.zabbix.com/zabbix/7.0/sles/15/$basearch/debuginfo/repodata/repomd.xml.key
enabled=0
update=1
Po włączeniu zainstaluj pakiety:
- W systemach RHEL zainstaluj pojedynczy pakiet z informacjami debugowania dla wszystkich komponentów Zabbixa:
dnf install zabbix-debuginfo
- W systemach SUSE zainstaluj pakiety debuginfo dla poszczególnych komponentów:
zypper install zabbix-<component>-debuginfo