1 Red Hat Enterprise Linux/CentOS

Обзор

Официальные пакеты Zabbix доступны для RHEL 7, Oracle Linux 7 и CentOS 7. В этой документации мы будем ссылаться на все 3, используя термин 'RHEL'.

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

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

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

RHEL 7:

# rpm -ivh https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

RHEL 6:

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

RHEL 5:

# rpm -ivh https://repo.zabbix.com/zabbix/3.4/rhel/5/x86_64/zabbix-release-3.4-1.noarch.rpm

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

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

RHEL 7:

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

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

Для установки сервера (пакеты доступны для RHEL 7, устарело для RHEL 6) с MySQL:

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

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

# yum install zabbix-proxy-mysql

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

# yum install zabbix-web-mysql

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

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

Для 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

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

# 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 сервера:

# systemctl start zabbix-server

и добавить его в автозагрузку:

RHEL 7 и более новые версии:

# systemctl enable zabbix-server

RHEL до версии 7:

# chkconfig --level 12345 zabbix-server on

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

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

Для RHEL 7 и поздних версий файл конфигурации Apache для Zabbix веб-интерфейса располагается в /etc/httpd/conf.d/zabbix.conf.

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

Некоторые настройки 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 always_populate_raw_post_data -1
       # php_value date.timezone Europe/Riga

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

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

Настройка 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

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

Для установки агента выполните

# yum install zabbix-agent

Для запуска агента выполните:

# service zabbix-agent start

Веб-интерфейс и сервер 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