4. Установка из пакетов

Обзор

Официальные пакеты Zabbix 7.0 доступны на веб-сайте Zabbix, где вы можете выбрать свою операционную систему и компонент Zabbix для генерации инструкций по установке, подходящих для вашей среды.

Также смотрите замечания по установке пакетов на этой странице для получения важной дополнительной информации.

Пакеты доступны для следующих дистрибутивов Linux:

  • Red Hat Enterprise Linux и производные от него: AlmaLinux, Amazon Linux 2023, CentOS Stream, CentOS, Oracle Linux, Rocky Linux
  • Debian, Ubuntu, Raspberry Pi OS, Raspbian
  • SUSE Linux Enterprise Server, openSUSE Leap

Некоторые дистрибутивы ОС (в частности, дистрибутивы на основе Debian) предоставляют собственные пакеты Zabbix. Эти пакеты не поддерживаются компанией Zabbix и могут быть устаревшими или не содержать последних функций и исправлений ошибок. Рекомендуется использовать только официальные пакеты из официального репозитория Zabbix. Если вы ранее устанавливали Zabbix из репозитория вашей операционной системы, смотрите шаги по обновлению пакетов Zabbix из репозиториев ОС.

Пакеты поддерживают базу данных MySQL/PostgreSQL и веб-сервер Apache/Nginx. Обратите внимание, что Zabbix сервер и прокси не могут использовать одну и ту же базу данных; используйте разные имена баз данных, если они установлены на одном хосте.

При необходимости отдельные пакеты для Zabbix агента/агента 2, утилит Zabbix get и Zabbix sender доступны в официальном репозитории Zabbix.

Начиная с Zabbix 7.0.5, пакеты Zabbix агента 2 больше не доступны для RHEL 6 из-за несовместимости Go 1.22 (и более новых версий) с GCC 4.4.7, предоставляемым RHEL 6, что приводит к ошибкам компиляции. Однако следует отметить, что пакеты Zabbix агента по-прежнему поддерживаются.

Zabbix также предоставляет готовые исполняемые файлы агента Zabbix для операционных систем, отличных от Linux; смотрите:

Замечания по установке пакетов

Следующие замечания применимы ко всем системам:

  • При использовании PostgreSQL, параметр DBHost=localhost (или IP-адрес) в настройках Zabbix сервера/прокси заставляет PostgreSQL использовать сетевой сокет вместо локального сокета UNIX; смотрите Настройка SELinux для получения соответствующих инструкций по настройке.
  • При использовании TimescaleDB смотрите дополнительные сведения о настройке TimescaleDB.
  • При установке Zabbix Java gateway (для мониторинга приложений JMX) смотрите дополнительные инструкции по настройке для систем на базе RHEL и систем на базе Debian.
  • Информацию о запуске агента Zabbix от имени root смотрите в разделе Запуск агента от имени root.

Следующие замечания применимы к RHEL и производным от него дистрибутивам:

Настройка SELinux

Zabbix использует межпроцессное взаимодействие на основе сокетов. В системах с включённым Security-Enhanced Linux (SELinux) может потребоваться добавить правила SELinux, чтобы разрешить Zabbix создавать/использовать доменные сокеты UNIX в каталоге SocketDir. Файлы сокетов используются сервером Zabbix (оповещение, предобработка, IPMI) и прокси-сервером Zabbix (IPMI) и присутствуют во время работы процесса.

При включенном SELinux в принудительном режиме (enforcing mode) выполните следующие команды для включения связи между веб-интерфейсом Zabbix и сервером:

Для RHEL 7 (и более поздних версий), AlmaLinux, CentOS Stream, Oracle Linux, Rocky Linux 8 (и более поздних версий):

setsebool -P httpd_can_connect_zabbix on

Если доступ к базе данных осуществляется по сети (в том числе через localhost для PostgreSQL), также разрешите веб-интерфейсу Zabbix подключение к базе данных:

setsebool -P httpd_can_network_connect_db on

Для RHEL до версии 7:

setsebool -P httpd_can_network_connect on
       setsebool -P zabbix_can_network on

После применения настроек SELinux перезапустите Apache:

systemctl restart httpd

При желании можно установить пакет zabbix-selinux-policy из официального репозитория Zabbix. Это пакет предоставляется для всех поддерживаемых версий операционных систем, чтобы упростить развёртывание Zabbix и предотвратить отключение SELinux пользователями из-за сложности настройки.

Для максимальной безопасности рекомендуется задать пользовательские настройки SELinux.

Пакет zabbix-selinux-policy содержит базовую политику SELinux, позволяющую Zabbix создавать и использовать сокеты и разрешающую подключение HTTPd к PostgreSQL (используется веб-интерфейсом).

Исходный файл zabbix_policy.te содержит следующие правила:

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;

Пакеты Debuginfo

Пакеты Debuginfo содержат отладочные символы для исполняемых файлов Zabbix. Они не требуются для обычной установки или работы, но полезны для углублённого устранения неполадок.

Чтобы включить репозиторий zabbix-debuginfo:

  • В RHEL 6 или 7 отредактируйте /etc/yum.repos.d/zabbix.repo и установите enabled=1 для раздела zabbix-debuginfo:
[zabbix-debuginfo]
       name=Zabbix Official Repository Debuginfo - $basearch
       baseurl=http://repo.zabbix.com/zabbix/7.0/stable/rhel/7/$basearch/debuginfo/
       enabled=1
       gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
       gpgcheck=1
  • В SUSE отредактируйте /etc/zypp/repos.d/zabbix.repo и установите enabled=1 для раздела zabbix-debuginfo:
[zabbix-debuginfo]
       name=Zabbix Official Repository debuginfo
       type=rpm-md
       baseurl=https://repo.zabbix.com/zabbix/7.0/stable/sles/15/x86_64/debuginfo/
       gpgcheck=1
       gpgkey=https://repo.zabbix.com/zabbix/7.0/stable/sles/15/x86_64/debuginfo/repodata/repomd.xml.key
       enabled=0
       update=1

После включения установите пакеты:

  • В RHEL установите один пакет с отладочной информацией для всех компонентов Zabbix:
dnf install zabbix-debuginfo
  • В SUSE установите пакеты debuginfo для отдельных компонентов:
zypper install zabbix-<компонент>-debuginfo