IJ

3 Установка из исходных кодов

Вы можете получить самую свежую версию IJ, скомпилировав её из исходных кодов.

Здесь представлено пошаговое руководство по установке IJ из исходных кодов.

1 Установка демонов IJ

1 Загрузите архив исходных кодов

Перейдите на страницу загрузки IJ и скачайте архив исходных кодов. Как только он будет загружен, распакуйте исходные коды, выполнив:

$ tar -zxvf zabbix-3.0.0.tar.gz

Укажите корректную версию IJ в команде. Она должна совпадать с именем загруженного архива.

2 Создайте аккаунт пользователя

Все процессы демонов IJ требуют непривилегированного пользователя. Если демон IJ запущен от аккаунта пользователя без привилегий, то он будет работать под этим пользователем.

Однако, если демон запущен из под аккаунта 'root', демон переключится на аккаунт пользователя 'zabbix', который должен существовать. Для создания такого аккаунта пользователя (принадлежащего к своей группе, "zabbix")

в системах на базе RedHat выполните:

groupadd --system zabbix
       useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "IJ Monitoring System" zabbix

в системах на базе Debian выполните:

addgroup --system --quiet zabbix
       adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix

IJ процессам не требуется домашняя директория, поэтому мы не рекомендуем создавать её. Однако, если вы используете некоторый функционал, которому требуется наличие домашней директории (например, учётные данные MySQL хранятся в $HOME/.my.cnf), вы в праве создать домашнюю директорию, используя следующие команды.

в системах на базе RedHat выполните:

mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
       chown zabbix:zabbix /usr/lib/zabbix

в системах на базе Debian выполните:

mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
       chown zabbix:zabbix /var/lib/zabbix

Для установки веб-интерфейса IJ отдельного аккаунта пользователя не требуется.

Если IJ сервер и агент работают на одной машине, то рекомендуется использовать разных пользователей для запуска сервера и для запуска агента. В противном случае, если сервер и агент запущены под одним пользователем, агент будет иметь доступ к файлу конфигурации сервера и любой пользователь с правами Администратора в IJ может с легкостью получить, например, пароль от базы данных.

Запуск IJ из под root, bin или из под любых других аккаунтов со специальными правами является риском для безопасности.

3 Создайте базу данных IJ

Для демонов IJ сервера и прокси, а так же для веб-интерфейса IJ, требуется база данных. Она не требуется для запуска IJ агента.

Для создания схемы базы данных и вставки набора данных предоставляются SQL скрипты. Для базы данных IJ proxy требуется только создание схемы данных, в то время как для IJ сервера помимо схемы необходимо также установить набор данных.

После создания базы данных IJ, перейдите к следующим шагам компиляции IJ.

4 Сконфигурируйте исходный код

При конфигурировании исходного кода IJ сервера или прокси, вы должны указать используемый тип базы данных. Только один тип базы данных может быть скомпилирован для процессов сервера или прокси единовременно.

Для просмотра всех доступных опций конфигурирования, выполните в папке с извлеченным исходным кодом IJ:

./configure --help

Для конфигурирования исходных кодов для IJ сервера и агента, вы можете выполнить нечто вроде:

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

Опция конфигурации --with-libcurl с cURL 7.20.0 или выше требуется для SMTP аутентификации,​ поддерживается начиная с IJ 3.0.0.
Опции конфигурации --with-libxml2 и --with-libxml2 требуются для мониторинга виртуальных машин, поддерживается начиная с IJ 2.2.0.

Для конфигурирования исходных кодов для IJ сервера (с PostgreSQL и т.д.), вы можете выполнить:

./configure --enable-server --with-postgresql --with-net-snmp

Для конфигурирования исходных кодов для IJ прокси (с SQLite и т.д.), вы можете выполнить:

./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2

Для конфигурирования исходных кодов для IJ агента, вы можете выполнить:

./configure --enable-agent

Имеется возможность использования флага --enable-static для статической линковки библиотек. Если вы планируете распространять скомпилированные исполняемые файлы на другие сервера, вы должны использовать этот флаг чтобы приложения могли работать без требуемых библиотек. Флаг --enable-static .

Использование опции --enable-static не рекомендуется при сборке сервера.// //

В случае сборки сервера со статической линковкой у вас должны иметься статические версии всех необходимых внешних библиотек. В скрипте конфигурирования нет проверок этого условия.

Утилиты командной строки zabbix_get и zabbix_sender компилируются, если использована опция --enable-agent.

Добавьте опциональный путь к файлу конфигурации MySQL--with-mysql=/<путь_к_файлу>/mysql_config, чтобы выбрать желаемую библиотеку клиента MySQL, когда имеется необходимость использовать библиотеку, которая не расположена в месте установки по умолчанию.

Бывает полезно там, где установлено несколько версий MySQL или MariaDB установлена вместе с MySQL на одной системе.

Используйте флаг --with-ibm-db2 чтобы указать расположение CLI API.
Используйте флаг --with-oracle чтобы указать расположение OCI API.

Для поддержки шифрования смотрите Компиляция IJ с поддержкой шифрования.

5 Соберите и установите всё

Если устанавливаете код взятый из git, вы должны сначала выполнить:

$ make dbschema

make install

Этот шаг должен быть выполнен пользователем с достаточными правами (как правило 'root', или с помощью sudo).

Выполнение make install установит исполняемые файлы демонов (zabbix_server, zabbix_agentd, zabbix_proxy) в /usr/local/sbin и исполняемые файлы клиентов (zabbix_get, zabbix_sender) в /usr/local/bin.

Для установки в другое место, отличное от /usr/local, используйте ключ --prefix в предыдущем шаге конфигурирования исходных кодов, например --prefix=/home/zabbix. В этом случае исполняемые файлы демонов будут установлены в папку <префикс>/sbin, а утилиты в папку <префикс>/bin. Страницы помощи будут установлены в папку <префикс>/share.

6 Просмотрите и отредактируйте файлы конфигурации
  • отредактируйте файл конфигурации IJ агента /usr/local/etc/zabbix_agentd.conf

Вам нужно сконфигурировать этот файл для каждого хоста на котором установлен zabbix_agentd.

В файле вы должны указать IP адрес IJ сервера. Подключения с остальных хостов будут отклонены.

  • отредактируйте файл конфигурации IJ сервера /usr/local/etc/zabbix_server.conf

Вы должны указать имя базы данных, пользователя и пароль (если он используется).

В случае в SQLite должен быть указан путь к файлу базы данных; пользователь БД и пароль не требуются.

Остальные параметры подойдут со значениями по умолчанию, если у вас небольшая установка (до десятка наблюдаемых узлов сети). Вы должны изменить параметры по умолчанию, если вы хотите увеличить производительность IJ сервера (или прокси). Обратитесь к разделу Оптимизация производительности для получения подробных сведений.

  • если вы установили IJ прокси, то отредактируйте файл конфигурации IJ прокси /usr/local/etc/zabbix_proxy.conf

Вы должны указать IP адрес сервера и имя прокси (должно быть известно серверу), а также имя базы данных, пользователя и пароль (если он используется).

В случае в SQLite должен быть указан путь к файлу базы данных; пользователь БД и пароль не требуются.

7 Запустите демоны

Запустите zabbix_server на стороне сервера.

shell> zabbix_server

Удостоверьтесь, что в вашей системе разрешено выделение 36МБ (или немногим больше) разделяемой памяти, в противном случае сервер может не запуститься и вы увидите "Cannot allocate shared memory for <type of cache>." в файле журнала сервера. Это может случится в FreeBSD, Solaris 8.
Обратитесь к разделу "Смотрите также" в нижней части этой страницы, чтобы узнать как настроить разделяемую память.

Запустите zabbix_agentd на всех наблюдаемых машинах.

shell> zabbix_agentd

Убедитесь, что ваша система позволяет выделить 2 МБ разделяемой памяти (shared memory), в противном случае агент может не запуститься и вы увидите сообщение “Cannot allocate shared memory for collector.” в журнале агента. Это может произойти в Solaris 8.

Если вы установили IJ прокси, запустите zabbix_proxy.

shell> zabbix_proxy

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

Копирование файлов PHP

Веб-интерфейс IJ написан на языке PHP, поэтому чтобы его запустить вам потребуется веб-сервер с поддержкой PHP. Установка производится путем простого копирования PHP файлов в папку HTML веб-сервера.

Общепринятые места размещения папки HTML документов для веб-сервера Apache включают:

  • /usr/local/apache2/htdocs (каталог по умолчанию при установке Apache из исходных кодов)
  • /srv/www/htdocs (OpenSUSE, SLES)
  • /var/www/html (Fedora, RHEL, CentOS)
  • /var/www (Debian, Ubuntu)

Рекомендуется использовать подпапку вместо корневой папки HTML. Чтобы создать подпапку и скопировать файлы веб-интерфейса IJ, выполните следующие команды, заменив <htdocs> на корректный путь для вашего случая:

mkdir <htdocs>/zabbix
       cd frontends/php
       cp -a . <htdocs>/zabbix

Если устанавливаете из git и планируете использовать любой другой язык, кроме английского, то вы должны сгенерировать файлы переводов. Для этого выполните:

locale/make_mo.sh

Требуется утилита msgfmt из пакета gettext.

Кроме того, для использования любого другого языка отличного от английского, этот язык должен быть установлен на веб-сервере. Обратитесь к разделу "Смотрите также" страницы "Профиль пользователя", чтобы узнать как установить дополнительные языки, если они потребуются.

Установка веб-интерфейса
Шаг 1

Откройте URL IJ: http://<ip_или_имя_сервера>/zabbix, в вашем браузере.

Вы должны увидеть первую страницу помощника установки веб-интерфейса.

Шаг 2

Убедитесь, что все требования к программному обеспечению выполнены.

Требование Минимальное значение Описание
Версия PHP 5.4.0
PHP опция memory_limit 128МБ В php.ini:
memory_limit = 128M
PHP опция post_max_size 16МБ В php.ini:
post_max_size = 16M
PHP опция upload_max_filesize 2МБ В php.ini:
upload_max_filesize = 2M
PHP опция max_execution_time 300 секунд (значения 0 и -1 разрешены) В php.ini:
max_execution_time = 300
PHP опция max_input_time 300 секунд (значения 0 и -1 разрешены) В php.ini:
max_input_time = 300
PHP опция session.auto_start должна быть отключена В php.ini:
session.auto_start = 0
Поддержка баз данных Одна из: IBM DB2, MySQL, Oracle, PostgreSQL, SQLite Один из следующих модулей должен быть установлен:
ibm_db2, mysql, oci8, pgsql, sqlite3
bcmath php-bcmath
mbstring php-mbstring
PHP опция mbstring.func_overload должна быть отключена В php.ini:
mbstring.func_overload = 0.
PHP опция always_populate_raw_post_data должна быть отключена Требуется только для версий PHP 5.6.0 и новее.
В php.ini:
always_populate_raw_post_data = -1
sockets php-net-socket. Требуется для поддержки пользовательских скриптов.
gd 2.0 или выше php-gd. Расширение PHP GD должно поддерживать PNG изображения (--with-png-dir), JPEG (--with-jpeg-dir) изображения и FreeType 2 (--with-freetype-dir).
libxml 2.6.15 php-xml или php5-dom
xmlwriter php-xmlwriter
xmlreader php-xmlreader
ctype php-ctype
session php-session
gettext php-gettext
Начиная с IJ 2.2.1, расширение PHP gettext более не является обязательным для установки IJ. Если gettext не установлен, веб-интерфейс будет работать как обычно, однако, переводы будут недоступны.

В списке могут также присутствовать необязательные требования. Если необязательное требование не удовлетворено, то оно отображается оранжевым цветом и имеет состояние Предупреждение (Warning). Установка может продолжаться, если необязательные требования не удовлетворены.

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

Шаг 3

Укажите информацию для подключения к базе данных. База данных IJ должна быть уже создана.

Шаг 4

Введите подробные сведения о сервере IJ.

Ввод имени IJ сервера опционален, однако, если задан, оно будет отображаться в полосе меню и в заголовках страниц.

Шаг 5

Просмотрите результат настроек.

Шаг 6

Скачайте файл конфигурации и поместите его в каталог conf/.

В случае, если веб-сервер имеет право на запись в каталог conf/, файл конфигурации будет сохранен автоматически и можно будет сразу же перейти к следующему шагу.

Шаг 7

Завершение установки.

Шаг 8

Веб-интерфейс IJ готов! По умолчанию имя пользователя Admin, пароль zabbix.

Перейти к началу работы с IJ.

Смотрите также