4 Установка из исходных кодов
Обзор
Вы можете загрузить последнюю версию Zabbix для его компиляции из исходных кодов.
Здесь представлено пошаговое руководство по установке Zabbix из исходных кодов.
- Установка демонов Zabbix
1 Загрузите архив исходных кодов
Перейдите на страницу загрузки Zabbix и скачайте архив исходных кодов. Как только он будет загружен, извлеките исходные коды, выполнив:
$ tar -zxvf zabbix-2.0.0.tar.gz
Введите корректную версию Zabbix в команде. Она должна совпадать с именем загруженного архива.
2 Создайте аккаунт пользователя
Все демоны Zabbix процессов требуют непривилегированного пользователя. Если демон Zabbix запущен от аккаунта пользователя без привилегий, то он будет работать под этим пользователем.
Если Zabbix сервер и агент работают на одной машине, то рекомендуется использовать разных пользователей для запуска сервера и для запуска агента. В противном случае, если сервер и агент запущены под одним пользователем, агент будет иметь доступ к файлу конфигурации сервера и любой пользователь с правами Администратора в Zabbix может с легкостью получить, например, пароль от базы данных.
Однако, если демон запущен из под аккаунта 'root', демон переключится на аккаунт пользователя 'zabbix', который должен существовать. Для создания аккаунта пользователя (в своей группе, "zabbix") на системах Linux, выполните:
groupadd zabbix
useradd -g zabbix zabbix
Для установки веб интерфейса Zabbix отдельного аккаунта пользователя не требуется.
Запуск Zabbix из под root, bin, или из под
любых других аккаунтов со специальными правами, вляется риском для
безопасности.
3 Создайте базу данных Zabbix
Для демонов Zabbix сервера и прокси, а так же для веб-интерфейса Zabbix, требуется база данных. Она не требуется для работы Zabbix агента.
Все SQL скрипты поставляются в архиве Zabbix для создания схемы базы данных, а также первоначальный набор данных. Для базы данных Zabbix прокси требуется только схема, тогда как для базы данных Zabbix сервера потребуется как схема, так и набор данных для этой схемы.
После создания базы данных Zabbix, перейдите к следующим шагам компиляции Zabbix.
4 Сконфигурируйте исходные коды
При конфигурировании исходных кодов Zabbix сервера или прокси, вы должны указать используемый тип базы данных. Только один тип базы данных может быть скомпилирован для процессов сервера или прокси единовременно.
Для просмотра всех доступных опция конфигурирования, выполните в папке извлеченных исходных кодов Zabbix:
./configure --help
Для конфигурирования исходных кодов для Zabbix сервера и агента, вы можете выполнить нечто вроде:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
Для конфигурирования исходных кодов для Zabbix сервера (с PostgreSQL и т.д.), вы можете выполнить:
./configure --enable-server --with-postgresql --with-net-snmp
Для конфигурирования исходных кодов для Zabbix прокси (с SQLite и т.д.), вы можете выполнить:
./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2
Для конфигурирования исходных кодов для Zabbix агента, вы можете выполнить:
./configure --enable-agent
Имеется возможность использования флага --enable-static для статической линковки библиотек. Если вы планируете распространять скомпилированные исполняемые файлы на другие сервера, вы должны использовать этот флаг чтобы приложения могли работать без требуемых библиотек. Флаг --enable-static не работает под ОС Solaris.
Использование опции --enable-static не рекомендуется при сборке сервера.// //
В случае сборки сервера со статической линковкой у вас должны иметься статически собранные все необходимые внешние библиотеки. В скрипте конфигурирования нет никаких проверок на это условие.
Утилиты командной строки zabbix_get и zabbix_sender компилируются, если использована опция --enable-agent.
Используйте флаг --with-ibm-db2 чтобы указать расположение
CLI API.
Используйте флаг --with-oracle чтобы указать расположение OCI
API.
Флаг --with-ucd-snmp может быть использован вместо флага --with-net-snmp. Если поддержка SNMP не требуется, оба флага --with-net-snmp и --with-ucd-snmp можно пропустить.
5 Соберите и установите всё
Если устанавливаете с SVN, вы должны сначала выполнить:
$ 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. Man pages будут установлены в папку <префикс>/share.
6 Просмотрите и отредактируйте файлы конфигурации
- отредактируйте файл конфигурации Zabbix агента /usr/local/etc/zabbix_agentd.conf
Вам нужно сконфигурировать это файл для каждого хоста на котором установлен zabbix_agentd.
В файле вы должны указать IP адрес Zabbix сервера. Подключения с остальных хостов будут отклонены.
- отредактируйте файл конфигурации Zabbix сервера /usr/local/etc/zabbix_server.conf
Вы должны указать имя базы данных, пользователя и пароль (если он используется).
В случае в SQLite должен быть указан путь до файла базы данных; пользователь БД и пароль не требуются.
Остальные параметры подойдут вам по умолчанию, если у вас небольшая установка (до десяти наблюдаемых хостов). Вы должны изменить параметры по умолчанию, если вы хотите увеличить производительность Zabbix сервера (или прокси). Смотрите раздел [Оптимизация производительности] для получения подробных сведений.
- если у вас установлен Zabbix прокси, то отредактируйте файл конфигурации Zabbix прокси /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.
Если у вас установлен Zabbix прокси, запустите zabbix_proxy.
shell> zabbix_proxy
Установка веб-интерфейса Zabbix
Копирование файлов PHP
Веб-интерфейс Zabbix написан на языке 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. Чтобы создать подпапку и скопировать файлы веб-интерфейса Zabbix, выполните следующие команды, заменив <htdocs> на корректный путь для вашего случая:
mkdir <htdocs>/zabbix
cd frontends/php
cp -a . <htdocs>/zabbix
Если устанавливаете из SVN и планируете использовать любой другой язык отличный от English, то вы должны сгенерировать файлы переводов. Для этого выполните:
locale/make_mo.sh
Требуется утилита msgfmt из пакета gettext.
Кроме того, для использования любого другого языка отличного от Английского эти языки должны буть установлены на веб сервере. Смотрите раздел "Смотрите также" для страницы "Профиль пользователя", чтобы узнать как установить дополнительные языки, если они потребуются.
Установка веб-интерфейса
Шаг 1
Откройте URL Zabbix: http://<ip_или_имя_сервера>/zabbix, в вашем браузере.
Вы должны увидеть первую страницу помощника установки веб-интерфейса.

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

| Требование | Минимальное значение | Описание |
|---|---|---|
| Версия PHP | 5.1.6 | |
| 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 секунд | В php.ini: max_execution_time = 300 |
| PHP опция max_input_time | 300 секунд | В php.ini: max_input_time = 300 |
| PHP опция session.auto_start | должно быть отключено | В php.ini: session.auto_start = 0. требуется начиная с версии Zabbix 2.0.4. |
| Поддержка баз данных | Одна из: IBM DB2, MySQL, Oracle, PostgreSQL, SQLite | Один из следующих модулей должен быть установлен: ibm_db2, mysql, oci8, pgsql, sqlite3 |
| bcmath | php-bcmath | |
| mbstring | php-mbstring | |
| 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 | |
Шаг 3
Укажите детали для подключения к базе данных. База данных Zabbix должна быть уже создана.

Шаг 4
Введите подробные сведения о сервере Zabbix.

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

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


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

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

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