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:

Uwagi dotyczące instalacji pakietów

Poniższe uwagi dotyczą wszystkich systemów:

Poniższe uwagi dotyczą RHEL i jego pochodnych:

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.repo i ustaw enabled=1 dla sekcji zabbix-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.repo i ustaw enabled=1 dla sekcji zabbix-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