1 Red Hat Enterprise Linux/CentOS

Обзор

Официальные пакеты Zabbix доступны для:

  • RHEL 8, CentOS 8 и Oracle Linux 8
  • RHEL 7, CentOS 7 и Oracle Linux 7

В этой документации мы будем ссылаться на все 3, используя термин RHEL.

Пакеты агента и прокси доступны также и для RHEL 6 и RHEL 5.

Добавление Zabbix репозитория

Установите пакет конфигурации репозитория. Этот пакет содержит файлы конфигурации yum (менеджера пакетов приложений).

RHEL 8:

# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm

RHEL 7:

# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

RHEL 6:

# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/6/x86_64/zabbix-release-4.4-1.el6.noarch.rpm

RHEL 5:

# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/5/x86_64/zabbix-release-4.4-1.el5.noarch.rpm

Предварительные условия установки веб-интерфейса

Веб-интерфейс Zabbix требует дополнительные пакеты, которые отсутствуют в базовой установке. Вам необходимо активировать репозиторий опциональных rpm пакетов в системе, где вы запускаете веб-интерфейс Zabbix:

RHEL 7:

 # yum-config-manager --enable rhel-7-server-optional-rpms

Установка сервера/прокси/веб-интерфейса

Для установки сервера на RHEL 7/8 (устарело для RHEL 6) с поддержкой MySQL:

# yum install zabbix-server-mysql zabbix-web-mysql

Для установки Zabbix прокси с MySQL:

# yum install zabbix-proxy-mysql

Замените 'mysql' на 'pgsql' в командах для использования PostgreSQL, или на 'sqlite' для использования SQLite3 (только прокси).

Для установки Zabbix веб-интерфейса на RHEL 8 с поддержкой MySQL/Apache:

# yum install zabbix-web-mysql zabbix-apache-conf

Для установки Zabbix веб-интерфейса на RHEL 7 (устарело для RHEL 6) с поддержкой MySQL/Apache:

# yum install zabbix-web-mysql

Для установки Zabbix веб-интерфейса на RHEL 7/8 с поддержкой MySQL/Nginx:

# yum install epel-release
       # yum install zabbix-web-mysql zabbix-nginx-conf

Обратите внимание, что Nginx для RHEL доступен только в EPEL.

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

Для Zabbix сервера и прокси демонов требуется база данных. Она не требуется для работы Zabbix агента.

Для Zabbix сервер и прокси требуются раздельные базы данных; они не могут использовать одну и ту же базу данных. Таким образом, если сервер и прокси установлены на один хост, их базы данных необходимо создавать с разными именами!

Создайте базу данных, используя имеющиеся скрипты по созданию базы данных для MySQL или PostgreSQL.

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

Теперь импортируйте изначальную схему и данные сервера на MySQL:

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Вам будет предложено ввести пароль от недавно созданной базы данных.

На PostgreSQL:

# zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u <имя_пользователя> psql zabbix

При наличии TimescaleDB, в дополнение к предыдущей команде, также выполните:

# zcat /usr/share/doc/zabbix-server-pgsql*/timescaledb.sql.gz | sudo -u <имя_пользователя> psql zabbix

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

Для прокси импортируйте изначальную схему:

# zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix

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

# zcat /usr/share/doc/zabbix-proxy-pgsql*/schema.sql.gz | sudo -u <имя_пользователя> psql zabbix
       # zcat /usr/share/doc/zabbix-proxy-sqlite3*/schema.sql.gz | sqlite3 zabbix.db

Настройка базы данных для Zabbix сервера/прокси

Измените zabbix_server.conf (или zabbix_proxy.conf) для использования соответствующей им базы данных. Например:

# vi /etc/zabbix/zabbix_server.conf
       DBHost=localhost
       DBName=zabbix
       DBUser=zabbix
       DBPassword=<пароль>

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

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

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

Для запуска процесса Zabbix сервера на RHEL8:

# service zabbix-server httpd php-fpm start

На RHEL 7:

# service zabbix-server httpd start

На RHEL 7/8 с Nginx:

# service zabbix-server nginx php-fpm start

Чтобы включить автоматический запуск при старте системы на RHEL 8:

# systemctl enable zabbix-server httpd php-fpm

На RHEL 7:

# systemctl enable zabbix-server httpd

На RHEL 7/8 с Nginx:

# systemctl enable zabbix-server nginx php-fpm

RHEL до версии 7:

# chkconfig --level 12345 zabbix-server on

Замените 'zabbix-server' на 'zabbix-proxy', если вы установили Zabbix прокси.

Настройка Zabbix веб-интерфейса

В зависимости от используемого веб-сервера (Apache/Nginx) измените соответствующий файл конфигурации у Zabbix веб-интерфейса:

  • Для Apache файл конфигурации расположен в /etc/httpd/conf.d/zabbix.conf. Некоторые настройки PHP уже выполнены. Обратите внимание, в RHEL 7 (но не в RHEL 8) необходимо раскомментировать и указать корректное значение date.timezone настройки для вас.
php_value max_execution_time 300
       php_value memory_limit 128M
       php_value post_max_size 16M
       php_value upload_max_filesize 2M
       php_value max_input_time 300
       php_value max_input_vars 10000
       php_value always_populate_raw_post_data -1
       # php_value date.timezone Europe/Riga
  • Пакет zabbix-nginx-conf устанавливает отдельный Nginx сервер для Zabbix веб-интерфейса. Его файл конфигурации расположен в /etc/zabbix/nginx.conf. Чтобы Zabbix веб-интерфейс заработал, нужно раскомментировать и задать директивы listen и/или server_name.
# listen 80;
       # server_name example.com;
  • Zabbix использует свой собственный выделенный php-fpm пул соединений:
    • В RHEL 8 как с Apache, так и с Nginx
    • В RHEL 7 только с Nginx

Его файл конфигурации расположен в /etc/zabbix/php-fpm.conf. Некоторые настройки PHP уже выполнены. Однако, в этой файле необходимо указать корректное значение date.timezone настройки для вас.

php_value[max_execution_time] = 300
       php_value[memory_limit] = 128M
       php_value[post_max_size] = 16M
       php_value[upload_max_filesize] = 2M
       php_value[max_input_time] = 300
       php_value[max_input_vars] = 10000
       ; php_value[date.timezone] = Europe/Riga

Теперь вы готовы приступить к выполнению шагов по установке веб-интерфейса, которые позволят вам получить доступ к недавно установленному Zabbix.

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

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

Если вы используете RHEL 6, пожалуйста, прочитайте инструкции об использовании Zabbix веб-интерфейса на RHEL 6 о том как настроить веб-интерфейс.

Настройка SELinux

Если состояние 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 на RHEL 6

Веб-интерфес Zabbix на RHEL 6 не поддерживается из-за версии PHP. Начиная с версии Zabbix 3.0, требуется PHP версии 5.4.0 и выше, тогда как в RHEL 6 самая последняя версия 5.3.3.

В большинстве случаев Zabbix сервер и веб-интерфейс устанавливается на одной машине. При обновлении с 2.2 на 3.0 Zabbix сервер выполняет обновление базы данных и веб-интерфейс перестает работать. В этом случае нет возможности откатить изменения в базе данных поэтому пользователи должны обновить PHP используя сторонние пакеты. Это причина по которой Zabbix сервер также считается устаревшим на RHEL 6.

Если вам всё же необходимо использовать Zabbix веб-интерфейс на RHEL 6 и вы уже обновили версию PHP используя сторонние пакеты, тогда вам необходимо сначала активировать репозиторий zabbix-deprecated:

  • откройте файл /etc/yum.repos.d/zabbix.repo
  • найдите раздел [zabbix-deprecated]
  • измените enabled=1
  • сохраните файл

Вам придётся сделать еще немного ручной настройки. Потому что мы не можем определить версию Apache необходимую для вашего PHP, что делает невозможным для нас предоставить необходимую конфигурацию Apache для веб-интерфейса Zabbix. Мы поставляем 2 конфигурационных файла Apache в пакете Zabbix веб-интерфейса один для Apache 2.2, другой для 2.4, какой вам необходимо использовать с Apache выбирайте сами:

  • httpd22-example.conf
  • httpd24-example.conf

Для получения полного пути к файлам выполните:

$ rpm -ql zabbix-web | grep example.conf

Установка агента

Чтобы установить агента, выполните

# yum install zabbix-agent

Чтобы запустить агента, выполните:

# service zabbix-agent start

Замените 'zabbix-agent' на 'zabbix-agent2' в этих командах, если используете Zabbix агент 2 (только в RHEL/CentOS 8).

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

Установка Java gateway

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

Как только требуемый репозиторий будет добавлен, вы сможете установить Zabbix Java gateway выполнив команду:

# yum install zabbix-java-gateway

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

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

::: noteclassic Пакеты debuginfo в настоящий момент доступны для RHEL/CentOS версий 7, 6 and 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/4.4/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.