Обзор развертывания Zabbix на сервере¶
Предварительные требования¶
Для успешного развертывания приложения необходимо наличие следующего:
-
Операционная система: Ubuntu 22.04.
-
Права доступа: доступ к серверу с правами
rootили возможность использованияsudo. -
Домен: зона
hostkey.in. -
Локаль:
en_US.UTF-8. -
Сетевые порты:
-
Внутренний порт приложения:
8080. -
Внешний порт для доступа:
443.
FQDN итоговой панели¶
Полный доменное имя для доступа к панели управления формируется по следующему шаблону:
<prefix><ID сервера>.hostkey.in:443
Где:
-
<prefix>: пустая строка (не используется). -
<ID сервера>: уникальный идентификатор сервера. -
Порт:
443.
Пример адреса: 12345.hostkey.in:443.
Структура файлов и каталогов¶
Основные директории и файлы конфигурации расположены в следующих местах:
-
Конфигурация Nginx и сертификаты:
/root/nginx. -
Файл конфигурации Docker Compose:
/root/nginx/compose.yml. -
Конфигурация сервера Zabbix:
/etc/zabbix/zabbix_server.conf. -
Конфигурация Apache:
/etc/apache2/ports.conf. -
Данные Nginx и пользовательские конфиги:
/data/nginx/user_conf.d. -
Секреты Let's Encrypt:
/etc/letsencrypt(монтируется в контейнер).
Процесс установки приложения¶
Установка выполняется вручную с использованием пакетного менеджера apt и скриптов инициализации базы данных.
-
Скачивание и установка репозитория Zabbix версии 7.0:
-
Файл пакета:
zabbix-release_latest+ubuntu22.04_all.deb. -
Путь загрузки:
/root. -
Установка необходимых пакетов:
-
zabbix-server-mysql -
zabbix-frontend-php -
zabbix-apache-conf -
zabbix-sql-scripts -
zabbix-agent -
python3-mysqldb -
mariadb-server -
locales -
Настройка базы данных:
-
Создание базы данных
zabbixс кодировкойutf8mb4. -
Создание пользователя
zabbixс правами на базу данных. -
Импорт схемы базы данных из файла
/usr/share/zabbix-sql-scripts/mysql/server.sql.gz. -
Настройка конфигурационных файлов:
-
Установка пароля в
/etc/zabbix/zabbix_server.conf. -
Изменение порта прослушивания Apache с
80на8080в файле/etc/apache2/ports.conf. -
Запуск сервисов:
-
zabbix-server -
zabbix-agent -
apache2 -
mariadb
Контейнеры Docker и их запуск¶
Для обеспечения работы прокси-сервера и получения SSL-сертификатов используется Docker.
-
Изображение:
jonasal/nginx-certbot:latest. -
Режим сети:
host. -
Файл конфигурации:
/root/nginx/compose.yml. -
Команда запуска:
Команда выполняется из директории/root/nginx.
Контейнер настроен на автоматический перезапуск (restart: unless-stopped).
Прокси серверы¶
В качестве прокси-сервера используется контейнер Nginx с поддержкой Certbot.
-
Домен:
hostkey.in. -
Внутренний путь приложения:
/zabbix. -
Внешний путь доступа:
/zabbix. -
Электронная почта для Certbot:
hkadm@hostkey.com. -
Переменные окружения загружаются из файла:
/data/nginx/nginx-certbot.env. -
Монтирование томов:
-
nginx_secretsв/etc/letsencrypt. -
/data/nginx/user_conf.dв/etc/nginx/user_conf.d.
Базы данных¶
Приложение использует базу данных MariaDB.
-
Имя базы данных:
zabbix. -
Кодировка:
utf8mb4. -
Колляция:
utf8mb4_bin. -
Пользователь базы данных:
zabbix. -
Хост подключения:
localhost. -
Пароль: совпадает с паролем пользователя SSH (
ansible_ssh_pass). -
Настройка
log_bin_trust_function_creatorsвременно включается для импорта схемы и отключается после завершения.
Доступные порты для подключения¶
Система использует следующие порты:
| Тип порта | Номер порта | Описание |
|---|---|---|
| Внутренний | 8080 | Порт прослушивания веб-сервера Apache |
| Внешний | 443 | Порт для HTTPS-подключения через Nginx |
Запуск, остановка и обновление¶
Управление основными сервисами осуществляется через systemd.
-
Запуск и включение автозагрузки сервисов:
-
Перезапуск сервисов (выполняется после настройки):
-
Управление контейнером Nginx: