Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

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

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

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

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

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

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

$ tar -zxvf zabbix-5.0.0.tar.gz
Copy
✔ Copied

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

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

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

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

groupadd --system zabbix
       useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
Copy
✔ Copied

На системах на основе Debian, выполните:

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

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

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

На системах на основе Debian, выполните:

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

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

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

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

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

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

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

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

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

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

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

./configure --help
Copy
✔ Copied

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

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

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

./configure --enable-server --with-postgresql --with-net-snmp
Copy
✔ Copied

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

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

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

./configure --enable-agent
Copy
✔ Copied

Или, для Zabbix агента 2:

./configure --enable-agent2
Copy
✔ Copied

Примечания по параметрам компиляции:

  • Утилиты командной строки zabbix_get и zabbix_sender компилируются, если использована опция --enable-agent.
  • Опции конфигурации --with-libxml2 и --with-libxml2 требуются для мониторинга виртуальных машин. Опция конфигурации --with-libcurl также требуется для SMTP аутентификации и элементов данных Zabbix агента web.page.*.Обратите внимание, что для параметра конфигурации -with-libcurl </ nowiki> [[:ru/manual/Installation/needs|требуется]] cURL 7.20.0 или выше. * Zabbix всегда компилируется с PCRE библиотекой (начиная с версии 3.4). Её установка не опциональна. %%--with-libpcre=[DIR]%% позволяет указать расположение базовой директории установки, вместо поиска в нескольких стандартных местах расположения libpcre файлов. * Имеется возможность использования флага <nowiki>--enable-static для статической линковки библиотек. Если вы планируете распространять скомпилированные исполняемые файлы на другие сервера, вы должны использовать этот флаг, чтобы приложения могли работать без требуемых библиотек. Флаг --enable-static не работает под ОС Solaris.
  • Использование опции --enable-static не рекомендуется при сборке сервера.

    В случае сборки сервера со статической линковкой у вас должны иметься статические версии всех необходимых внешних библиотек.
  • Добавьте опциональный путь к файлу конфигурации MySQL--with-mysql=/<путь_к_файлу>/mysql_config, чтобы выбрать желаемую библиотеку клиента MySQL, когда имеется необходимость использовать библиотеку, которая не расположена в месте установки по умолчанию. Эта опция может быть полезна там, где установлено несколько версий MySQL или MariaDB установлена вместе с MySQL на одной системе.
  • Мы рекомендуем использовать библиотеку MariaDB Connector/C для сборки сервера/прокси независимо от того, используете ли вы сервер баз данных MySQL или MariaDB.
  • Используйте флаг --with-oracle чтобы указать расположение OCI API.
  • Для сборки Zabbix агента 2 требуется Go версии 1.13 или выше.

Если ./configure выполнена неуспешно из-за недостающих библиотек или дргих условия, откройте файл config.log, чтобы получить более подробную информацию об ошибке. Например, если отсутствует libssl, немедленное сообщение об ошибке может вводить в заблуждение:

checking for main in -lmysqlclient... no
       configure: error: Not found mysqlclient library
Copy
✔ Copied

В то время как в config.log будет более подробное описание:

/usr/bin/ld: cannot find -lssl
       /usr/bin/ld: cannot find -lcrypto
Copy
✔ Copied

См. также:

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

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

$ make dbschema

make install
Copy
✔ Copied

Этот шаг должен быть выполнен пользователем с достаточными правами (как правило, '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 Просмотрите и отредактируйте файлы конфигурации
  • отредактируйте файл конфигурации Zabbix агента /usr/local/etc/zabbix_agentd.conf

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

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

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

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

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

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

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

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

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

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

shell> zabbix_server
Copy
✔ Copied

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

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

shell> zabbix_agentd
Copy
✔ Copied

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

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

shell> zabbix_proxy
Copy
✔ Copied

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

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

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

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

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

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

mkdir <htdocs>/zabbix
       cd ui
       cp -a . <htdocs>/zabbix
Copy
✔ Copied

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

locale/make_mo.sh
Copy
✔ Copied

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

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

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

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

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

To toggle search highlight, press Ctrl+Alt+H
Have an improvement suggestion for this page? Select the text that could be improved and press Ctrl+Enter to send it to the editors.