Установка Zabbix во FreeBSD
Рассмотрим одну из вариаций установки сервера мониторинга Zabbix версии 6.4, в качестве Web сервера для Frontend будет использоваться Apache, хранилищем баз данных будет MySQL.
- Установка необходимого софта
- Настройка Web сервера Apache
- Настройка MySQL сервера
- Настройка сервера Zabbix
- Настройка Zabbix Frontend
- Настройка агента Zabbix
Установка необходимого софта
Установка с помощью менеджера пакетов.
Устанавливаем из пакетов Web сервер и MySQL сервер.
# pkg install mysql80-server # pkg install apache24
Проверяем какие пакеты Zabbix есть в репозитории.
# pkg search zabbix64 zabbix64-agent-6.4.3 Enterprise-class open source distributed monitoring (agent) zabbix64-frontend-php80-6.4.3_1 Enterprise-class open source distributed monitoring (frontend-php80) zabbix64-frontend-php81-6.4.3_1 Enterprise-class open source distributed monitoring (frontend-php81) zabbix64-frontend-php82-6.4.3_1 Enterprise-class open source distributed monitoring (frontend-php82) zabbix64-frontend-php83-6.4.3_1 Enterprise-class open source distributed monitoring (frontend-php83) zabbix64-java-6.4.3 Enterprise-class open source distributed monitoring (java) zabbix64-proxy-6.4.3 Enterprise-class open source distributed monitoring (proxy) zabbix64-server-6.4.3 Enterprise-class open source distributed monitoring (server)
Устанавливаем Zabbix server и Zabbix agent.
# pkg install zabbix64-server # pkg install zabbix64-agent
Frontend выбираем либо под уже имеющуюся версию PHP, либо на свой вкус и цвет, т.к. от этого зависит какую версию пакета mod_php
необходимо будет устанавливать. Я устанавливал под последнюю на данный момент версию PHP 8.3, соответственно версия mod_php
тоже будет под 8.3. Все необходимые зависимости менеджер пакетов должен будет притянуть сам.
# pkg install zabbix64-frontend-php83 # pkg install mod_php83
Установка из портов.
# cd /usr/ports/databases/mysql80-server/ # make install clean # cd /usr/ports/www/apache24/ # make install clean
Установим PHP 8.3, чтобы Frontend собирался с этой версией PHP, на версии Zabbix 6.4 по умолчанию Frontend устанавливает и собирается с версией PHP 8.2.
# cd /usr/ports/lang/php83 # make install clean # cd /usr/ports/www/mod_php83 # make install clean
Устанавливаем Zabbix Server, Agent и Frontend, зависимости будут установлены автоматически.
# cd /usr/ports/net-mgmt/zabbix64-server/ # make install clean # cd /usr/ports/net-mgmt/zabbix64-agent/ # make install clean # cd /usr/ports/net-mgmt/zabbix64-frontend/ # make install clean
Настройка Web сервера Apache
Для настройки Apache правим файл /usr/local/etc/apache24/httpd.conf
# vi /usr/local/etc/apache24/httpd.conf
В примере ниже указаны настройки для домена stupidhouse.local
ServerAdmin zabbix@stupidhouse.local ServerName zabbix.stupidhouse.local <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch>
Включаем автоматическую загрузку Apache при старте системы и запускаем его.
# /usr/local/etc/rc.d/apache24 enable # /usr/local/etc/rc.d/apache24 start
Если сервер будет использоваться только для Zabbix и на Web сервере других ресурсов не предвидится, то сделаем символическую ссылку для папки zabbix на папку data, это позволит нам не писать в Apache дополнительные настройки для папки zabbix и при открытии сервера в Web браузере будет сразу открываться наш сервис.
# mv /usr/local/www/apache24/data/ /usr/local/www/apache24/data_ # ln -s /usr/local/www/zabbix64/ /usr/local/www/apache24/data
Настройка MySQL сервера
Включаем автоматическую загрузку MySQL сервера при старте системы и запускаем его.
# /usr/local/etc/rc.d/mysql-server enable # /usr/local/etc/rc.d/mysql-server start
Первый запуск может занять некоторое время.
Прогоняем скрипт позволяющий выполнить некоторые настройки безопасности.
# mysql_secure_installation
Создаем базу данных Zabbix и пользователя для доступа к ней (Поля password
меняем на свои пароли).
# mysql -u root -p password mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin; mysql> create user zabbix@localhost identified by 'password'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> set global log_bin_trust_function_creators = 1; mysql> quit;
Запускаем скрипты импорта структуры БД и предварительно заполнения данными.
# mysql --default-character-set=utf8mb4 -u root -p zabbix < /usr/local/share/zabbix64/server/database/mysql/schema.sql # mysql --default-character-set=utf8mb4 -u root -p zabbix < /usr/local/share/zabbix64/server/database/mysql/images.sql # mysql --default-character-set=utf8mb4 -u root -p zabbix < /usr/local/share/zabbix64/server/database/mysql/data.sql # mysql --default-character-set=utf8mb4 -u root -p zabbix < /usr/local/share/zabbix64/server/database/mysql/double.sql
После успешного импорта схемы БД отключаем функцию log_bin_trust_function_creators
.
# mysql -u root -p password mysql> set global log_bin_trust_function_creators = 0; mysql> quit;
Настройка сервера Zabbix
Редактируем файл настроек Zabbix сервера.
# vi /usr/local/etc/zabbix64/zabbix_server.conf
Вносим настройки конфигурации базы данных, некоторые настройки необходимо будет раскомментировать.
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=password
DBHost - имя или IP адрес компьютера (сервера) в сети, где расположена база данных. Если база данных расположена на этом же компьютере, но оставляем значение по умолчанию (localhost).
DBName - имя БД для хранения данных Zabbix.
DBUser - имя пользователя для доступа к БД, мы его создавали на стадии конфигурации MySQL, по умолчанию zabbix.
DBPassword - пароль доступа к БД, задается при создании пользователя БД.
Увеличим размер кэша, по умолчанию значение установлено в 32 мегабайта.
CacheSize=128M
Включаем автоматическую загрузку Zabbix сервера при старте системы и запускаем его.
# /usr/local/etc/rc.d/zabbix_server enable # /usr/local/etc/rc.d/zabbix_server start
Настройка Zabbix Frontend
Прописываем в DNS адрес Zabbix сервера (например, для zabbix.stupidhouse.local
), после чего открываем Web браузером страницу нашего сервера:
http://<strong>IP_ZABBIX_SERVER</strong> или http://zabbix.stupidhouse.local/<img alt="zabbix server frontend setup language" src="/content/83/files/zabbix_frontend_01.png" style="width: 100%; max-width: 900px;" />
Выбираем язык интерфейса и переходим к следующей странице.
Проверяем требования системы, после внесения изменений в файл php.ini
не забываем перезапустить apache и уже после обновить страницу. Если ошибок нет переходим на следующую страницу настройки.
Устанавливаем настройки подключения к базе данных и переходим к следующей странице.
Указываем имя Zabbix сервера, часовой пояс и тему по умолчанию, переходим к следующей странице.
Проверяем настройки, переходим на следующую страницу.
При успешном сохранении конфигурации появляется соответствующее сообщение. Переходим на страницу Zabbix, пользователь по умолчанию Admin
(первая буква с большой буквы), пароль zabbix
. Не забываем поменять пароль администратора Users -> Users -> Admin -> Change password
.
Настройка агента Zabbix
В принципе особых настроек для агента на Zabbix сервере не требуется, включаем автоматическую загрузку Zabbix агента при старте системы и запускаем его.
# /usr/local/etc/rc.d/zabbix_agentd enable # /usr/local/etc/rc.d/zabbix_agentd start