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