Обзор развертывания Zabbix на сервере¶
Предварительные требования¶
Для корректной работы системы должны быть соблюдены следующие условия:
-
Операционная система: Ubuntu (версия определяется автоматически в процессе установки).
-
Доступ к репозиториям пакетов через интернет.
-
Наличие установленного Docker и Docker Compose.
-
Открытые порты:
8080(внутренний для веб-интерфейса) и443(внешний HTTPS).
FQDN итоговой панели на домене hostkey.in¶
| Параметр | Значение |
|---|---|
| Префикс | |
| Домен | hostkey.in |
| Полный шаблон | {{ prefix }}{Server_ID_from_Invapi}.hostkey.in/zabbix |
Структура файлов и каталогов¶
Основные компоненты системы расположены по следующим путям:
-
/etc/zabbix/— конфигурационные файлы сервера Zabbix. -
/etc/apache2/— конфигурации веб-сервера Apache. -
/root/nginx/— рабочая директория для контейнера Nginx с поддержкой SSL. -
/data/nginx/user_conf.d— пользовательские конфигурации Nginx. -
/data/nginx/nginx-certbot.env— файл переменных окружения для Certbot.
Процесс установки приложения¶
Установка выполняется в несколько этапов:
-
Подготовка системы:
-
Загрузка и установка официального репозитория Zabbix.
-
Обновление кэша пакетов
apt. -
Установка локалей (en_US.UTF-8).
-
Установка компонентов:
-
Установка основного программного обеспечения:
zabbix-server-mysql,zabbix-frontend-php,zabbix-apache-conf,zabbix-sql-scripts,zabbix-agentиpython3-mysqldb. -
Установка серверной части базы данных MariaDB.
-
Настройка базы данных:
-
Создание базы данных
zabbixс кодировкойutf8mb4. -
Создание пользователя
zabbixс полными правами на базу данных. -
Импорт начальной схемы данных из файла
/usr/share/zabbix-sql-scripts/mysql/server.sql.gz. -
Конфигурация веб-сервера и сервисов:
-
Настройка Apache для прослушивания порта
8080. -
Редактирование конфигурации Zabbix Server для установки пароля к базе данных.
-
Развертывание SSL-прокси:
-
Создание директории
/root/nginxи развертывание контейнера Nginx с Certbot через Docker Compose.
Права доступа и безопасность¶
-
База данных защищена путем удаления анонимных пользователей и тестовых баз данных.
-
Пользователь базы данных
zabbixимеет доступ только к своей базе данных. -
Сервисы работают под системными пользователями, установленными пакетами Zabbix.
-
Для работы SSL используется изолированный контейнер Nginx.
Базы данных¶
В качестве системы управления база данных используется MariaDB.
| Параметр | Значение |
|---|---|
| Имя базы данных | zabbix |
| Пользователь | zabbix |
| Кодировка | utf8mb4 |
| Хранение | Локально на сервере |
Контейнеры Docker и их запуск¶
Для обеспечения работы веб-интерфейса по защищенному протоколу HTTPS используется следующий контейнер:
Nginx Certbot
-
Образ:
jonasal/nginx-certbot:latest -
Порты: Использует сетевой режим
host. -
Тома (volumes):
-
nginx_secrets:/etc/letsencrypt— для хранения SSL-сертификатов. -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d— пользовательские конфиги. -
Переменные окружения:
-
CERTBOT_EMAIL=hkadm@hostkey.com -
Политика перезапуска:
unless-stopped.
Инструкция по обновлению приложения¶
Для обновления основного программного обеспечения Zabbix необходимо выполнить обновление системных пакетов:
Если используется контейнер Nginx, для его обновления выполните:
Расположение конфигурационных файлов и данных¶
| Тип | Путь |
|---|---|
| Конфигурация сервера Zabbix | /etc/zabbix/zabbix_server.conf |
| Конфигурация Apache | /etc/apache2/ports.conf |
| Данные базы данных MariaDB | Стандартное расположение MariaDB (обычно /var/lib/mysql) |
Доступные порты для подключения¶
-
443— внешний доступ к веб-интерфейсу через HTTPS. -
8080— внутренний порт веб-сервера Apache.
Запуск, остановка приложения¶
Управление основными сервисами выполняется следующими командами:
Запуск всех компонентов:
Остановка компонентов: