Официальные пакеты Zabbix доступны для RHEL 7, Oracle Linux 7 и CentOS 7. В этой документации мы будем ссылаться на все 3, используя термин 'RHEL'.
Пакеты агента и прокси доступны также и для RHEL 6 и RHEL 5.
Установите пакет конфигурации репозитория. Этот пакет содержит файлы конфигурации 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 агента.
Создайте базу данных, используя имеющиеся скрипты по созданию базы данных для 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_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 сервера:
# systemctl start zabbix-server
и добавить его в автозагрузку:
RHEL 7 и более новые версии:
# systemctl enable zabbix-server
RHEL до версии 7:
# chkconfig --level 12345 zabbix-server on
Замените 'zabbix-server' на 'zabbix-proxy', если вы установили 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.
Если состояние 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 не поддерживается из-за версии 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
:
Вам придётся сделать еще немного ручной настройки. Потому что мы не можем определить версию Apache необходимую для вашего PHP, что делает невозможным для нас предоставить необходимую конфигурацию Apache для веб-интерфейса Zabbix. Мы поставляем 2 конфигурационных файла Apache в пакете Zabbix веб-интерфейса один для Apache 2.2, другой для 2.4, какой вам необходимо использовать с Apache выбирайте сами:
Для получения полного пути к файлам выполните:
$ rpm -ql zabbix-web | grep example.conf