1. Red Hat Enterprise Linux

Обзор

Официальные пакеты Zabbix 6.0 LTS для Red Hat Enterprise Linux и Oracle Linux доступны на веб-сайте Zabbix.

Пакеты доступны с базой данных MySQL/PostgreSQL и поддержкой веб-сервера Apache/Nginx.

Пакеты и утилиты Zabbix agent, Zabbix get и Zabbix sender доступны в официальном репозитории Zabbix для RHEL 9, RHEL 8, RHEL 7, RHEL 6 и RHEL 5.

Официальный репозиторий 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.sql | sudo -u zabbix psql zabbix

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

PHP 7.2

Zabbix веб-интерфейсу требуется PHP версии 7.2 или новее.

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

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

Включив статус SELinux в принудительном режиме, вам необходимо выполнить следующие команды для разрешения коммуникаций между веб-интерфейсом Zabbix и сервером:

RHEL 7 и более поздние версии:

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:

service httpd restart

Кроме того, Zabbix предоставляет пакет zabbix-selinux-policy как часть исходных пакетов RPM для RHEL 8 и RHEL 7. Этот пакет предоставляет базовую политику по умолчанию для 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_proxy.conf:

# vi /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 прокси и добавить его в автозагрузку при загрузке системы, выполните следующие команды:

service zabbix-proxy start
       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 в настоящее время доступны только для RHE версий 7, 6 и 5.

Чтобы включить 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/5.5/rhel/7/$basearch/debuginfo/
       enabled=0
       gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
       gpgcheck=1

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

yum install zabbix-debuginfo

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