1. Red Hat Enterprise Linux и производные

Обзор

Официальные пакеты Zabbix 7.0 для Red Hat Enterprise Linux версий 6, 7, 8 и 9, а также для AlmaLinux версий 8 и 9, CentOS Stream, Oracle Linux и Rocky Linux доступны на веб-сайте Zabbix.

Пакеты Zabbix для систем Red Hat Enterprise Linux предназначены только для систем RHEL. В альтернативных средах, таких как Универсальный базовый образ Red Hat (Red Hat Universal Base Image) [en], могут отсутствовать необходимые для успешной установки зависимости и требования по доступу к репозиторию. Чтобы решить такие проблемы, прежде чем продолжить установку Zabbix из пакетов, проверьте совместимость с целевой средой и обеспечьте доступ к необходимым репозиториям и зависимостям. Для получения дополнительной информации смотрите Известные проблемы.

Доступны пакеты с:

  • базой данных MySQL или PostgreSQL
  • поддержкой веб-сервера Apache или Nginx.

Пакеты Zabbix агента, как и утилиты Zabbix get и Zabbix sender, также доступны в официальном репозитории Zabbix для следующих ОС:

  • RHEL 6, 7, 8 и 9
  • AlmaLinux 8 и 9
  • CentOS Stream 8 и 9
  • Oracle Linux 8 и 9
  • Rocky Linux 8 и 9 /x86_64/)

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

Официальный репозиторий Zabbix также предоставляет пакеты fping, iksemel и libssh2. Эти пакеты расположены в папке non-supported.

Репозиторий EPEL для EL9 также предоставляет пакеты Zabbix. Если установлены и официальный репозиторий Zabbix, и репозитории EPEL, то пакеты Zabbix в EPEL должны быть исключены путём добавления следующего пункта в файл конфигурации репозитория EPEL в /etc/yum.repos.d/:

[epel]
       ...
       excludepkgs=zabbix*

Смотрите также: Непреднамеренная установка пакетов EPEL Zabbix

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

Обратитесь к инструкциям по установке по каждой платформе на странице загрузки, чтобы:

  • установить репозиторий
  • установить сервер/агент/веб-интерфейс
  • создать начальную базу данных, импортировать начальные данные
  • настроить базу данных для работы с Zabbix сервером
  • настроить PHP для работы с веб-интерфейсом Zabbix
  • запустить процессы сервера/агента
  • настроить веб-интерфейс Zabbix

Если вы хотите запускать Zabbix агента с правами root, смотрите Запуск агента с правами root.

Для процесса веб-сервиса Zabbix, который используется для генерации отчётов по расписанию, требуется браузер Google Chrome. Этот браузер не включён в пакеты, и его нужно установить вручную отдельно.

Импорт данных при использовании Timescale DB

При использовании TimescaleDB в дополнение к команде импорта для базы данных PostgreSQL также выполните:

cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb/schema.sql | sudo -u zabbix psql zabbix

TimescaleDB поддерживается только Zabbix сервером.

Конфигурация SELinux

Zabbix использует межпроцессное взаимодействие на основе сокетов. В системах, где включён SELinux, может потребоваться добавить правила SELinux, чтобы позволить Zabbix создавать/использовать доменные сокеты UNIX в каталоге SocketDir. В настоящее время файлы сокетов используются сервером (оповещение, предварительная обработка, IPMI) и прокси (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 предоставляет пакет zabbix-selinux-policy как часть исходных пакетов RPM для следующих ОС:

  • RHEL 7, 8, and 9
  • AlmaLinux 8 and 9
  • CentOS Stream 8 and 9
  • Oracle Linux 8 and 9
  • Rocky Linux 8 and 9

Этот пакет предоставляет базовую политику по умолчанию для SELinux и позволяет компонентам zabbix работать «из коробки», позволяя 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;

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

Установка прокси

После добавления требуемого репозитория вы можете установить Zabbix прокси, выполнив следующую команду:

dnf install zabbix-proxy-mysql zabbix-sql-scripts

Замените «mysql» в команде на «pgsql», чтобы использовать PostgreSQL, или на «sqlite3» чтобы использовать SQLite3 (только прокси).

Пакет «zabbix-sql-scripts» содержит схемы базы данных для всех поддерживаемых систем управления базами данных как для Zabbix сервера, так и для Zabbix прокси. Этот пакет используется для импорта данных.

Создание базы данных

Создайте отдельную базу данных для Zabbix прокси.

Zabbix сервер и Zabbix прокси не могут использовать одну и ту же базу данных. Если они установлены на одном хосте, тогда имя базы данных прокси должно отличаться.

Импорт данных

Импортируйте начальную схему:

cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql -uzabbix -p zabbix

Для прокси с PostgreSQL (или SQLite):

cat /usr/share/zabbix-sql-scripts/postgresql/proxy.sql | sudo -u zabbix psql zabbix
       cat /usr/share/zabbix-sql-scripts/sqlite3/proxy.sql | sqlite3 zabbix.db
Настройка базы данных для Zabbix прокси

Отредактируйте файл конфигурации Zabbix прокси (/etc/zabbix/zabbix_proxy.conf):

DBHost=localhost
       DBName=zabbix
       DBUser=zabbix
       DBPassword=<пароль>

В DBName для Zabbix прокси используйте базу данных, отличную от базы данных Zabbix сервера.

В DBPassword используйте пароль к базе данных Zabbix для MySQL; пароль к PostgreSQL пользователю для PosgreSQL.

Используйте DBHost= с PostgreSQL. Возможно, вы захотите оставить настройку по умолчанию DBHost=localhost (или IP адрес), но в этом случае PostgreSQL будет использовать сетевой сокет для подключения к Zabbix. Смотрите инструкции по настройке SELinux.

Запуск процесса Zabbix прокси

Чтобы запустить процесс Zabbix прокси и добавить его в автозагрузку при загрузке системы, выполните следующие команды:

systemctl start zabbix-proxy
       systemctl enable zabbix-proxy
Настройка веб-интерфейса

Zabbix прокси не имеет веб-интерфейса; прокси обменивается информацией только с Zabbix сервером.

Установка Java gateway

Java gateway необходимо устанавливать, только если вы хотите мониторить JMX приложения. Java gateway легковесный и не требует наличия базы данных.

После добавления требуемого репозитория вы можете установить Zabbix Java gateway, выполнив следующую команду:

dnf install zabbix-java-gateway

Перейдите к разделу настройки для получения более подробных сведений касательно настройки и запуска Java gateway.

Установка debuginfo пакетов

Пакеты Debuginfo в настоящее время доступны только для версий RHEL 7 и 6.

Чтобы включить debuginfo репозиторий, отредактируйте файл /etc/yum.repos.d/zabbix.repo. Измените enabled=0 на enabled=1 у репозитория zabbix-debuginfo.

[zabbix-debuginfo]
       name=Zabbix Official Repository debuginfo - $basearch
       baseurl=http://repo.zabbix.com/zabbix/7.0/rhel/7/$basearch/debuginfo/
       enabled=0
       gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
       gpgcheck=1

Это изменение позволит вам установить пакет zabbix-debuginfo.

dnf install zabbix-debuginfo

Этот единственный пакет содержит отладочную информацию по всем бинарным файлам компонентов Zabbix.