Перейти к содержанию

Обзор развертывания 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 и скриптов инициализации базы данных.

  1. Скачивание и установка репозитория Zabbix версии 7.0:

  2. Файл пакета: zabbix-release_latest+ubuntu22.04_all.deb.

  3. Путь загрузки: /root.

  4. Установка необходимых пакетов:

  5. zabbix-server-mysql

  6. zabbix-frontend-php

  7. zabbix-apache-conf

  8. zabbix-sql-scripts

  9. zabbix-agent

  10. python3-mysqldb

  11. mariadb-server

  12. locales

  13. Настройка базы данных:

  14. Создание базы данных zabbix с кодировкой utf8mb4.

  15. Создание пользователя zabbix с правами на базу данных.

  16. Импорт схемы базы данных из файла /usr/share/zabbix-sql-scripts/mysql/server.sql.gz.

  17. Настройка конфигурационных файлов:

  18. Установка пароля в /etc/zabbix/zabbix_server.conf.

  19. Изменение порта прослушивания Apache с 80 на 8080 в файле /etc/apache2/ports.conf.

  20. Запуск сервисов:

  21. zabbix-server

  22. zabbix-agent

  23. apache2

  24. mariadb

Контейнеры Docker и их запуск

Для обеспечения работы прокси-сервера и получения SSL-сертификатов используется Docker.

  • Изображение: jonasal/nginx-certbot:latest.

  • Режим сети: host.

  • Файл конфигурации: /root/nginx/compose.yml.

  • Команда запуска:

    docker compose up -d
    
    Команда выполняется из директории /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.

  • Запуск и включение автозагрузки сервисов:

    systemctl start zabbix-server
    systemctl enable zabbix-server
    systemctl start zabbix-agent
    systemctl enable zabbix-agent
    systemctl start apache2
    systemctl enable apache2
    systemctl start mariadb
    systemctl enable mariadb
    

  • Перезапуск сервисов (выполняется после настройки):

    systemctl restart zabbix-server
    systemctl restart zabbix-agent
    systemctl restart apache2
    

  • Управление контейнером Nginx:

    cd /root/nginx
    docker compose up -d
    

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×