Установка GMonitML
Инструкция по установке экземпляра GMonitML
Заголовок раздела «Инструкция по установке экземпляра GMonitML»Системные требования
Заголовок раздела «Системные требования»Минимальные требования к серверу
Заголовок раздела «Минимальные требования к серверу»Для успешной установки и работы GMonitML необходимо обеспечить следующие минимальные системные требования:
- Операционная система: Linux Kernel 3.15 и новее (Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, Debian 10, Debian 11, CentOS Stream 8 и новее)
- Программное обеспечение: Docker 20.10+ с плагином Compose
- Процессор: 8 ядер минимум
- Оперативная память: 8 ГБ минимум
- Дисковое пространство: 300 ГБ минимум
Сетевые требования
Заголовок раздела «Сетевые требования»- Два доменных имени с валидными SSL-сертификатами:
gmonit.domain.ru- для пользовательского интерфейсаcollector.gmonit.domain.ru- для коллектора данных
- HTTPS доступ (порт 443) для агентов к серверу GMonitML
- DNS разрешение доменов или настройка hosts файлов для тестирования
Все взаимодействие агентов с коллектором должно строиться по защищенному HTTPS протоколу.
Подготовка к установке
Заголовок раздела «Подготовка к установке»1. Получение и распаковка дистрибутива
Заголовок раздела «1. Получение и распаковка дистрибутива»- Получите архив с дистрибутивом GMonitML от поставщика
- Распакуйте архив в целевую директорию на сервере:
cd /path/to/destinationtar -xzf gmonitml-archive.tar.gz- Загрузите Docker образы из tar-файлов:
for tarfile in *.tar; do docker load -i "$tarfile"done2. Установка Docker и Docker Compose
Заголовок раздела «2. Установка Docker и Docker Compose»Проверьте наличие Docker и Docker Compose:
docker compose versionЕсли Docker не установлен, выполните следующие шаги:
# Подготовить системуsudo apt-get updatesudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release
# Добавить GPG-ключ Dockercurl -fsSL https://download.docker.com/linux/ubuntu/gpg \ | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Добавить репозиторий Dockerecho \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" \ | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Установить Docker Enginesudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io
# Добавить пользователя в группу dockersudo usermod -aG docker $USER
# Перезагрузить сессию или выполнить: newgrp dockerНастройка окружения
Заголовок раздела «Настройка окружения»1. Создание файла .env
Заголовок раздела «1. Создание файла .env»Создайте файл .env в корневой директории GMonitML и настройте следующие параметры:
# Версия GMonitML (актуальную версию см. в release notes)TAG=v4-latest
# Лицензионный ключ (запросить у поставщика после установки)LICENSE_KEY=your-license-key-here
# Секретный токен (32-значный алфавитно-цифровой токен)SECRET_TOKEN=your-random-32-char-token-here
# Пароль администратора GrafanaGRAFANA_ADMIN_PASSWORD=your-admin-password
# Пароли для баз данныхCLICKHOUSE_PASSWORD=your-clickhouse-passwordPOSTGRES_PASSWORD=your-postgres-passwordCOLLECTOR_DATASOURCE_PASSWORD=your-collector-password
# Доменные именаGRAFANA_DOMAIN=gmonit.domain.ruCOLLECTOR_DOMAIN=collector.gmonit.domain.ru2. Настройка доменов
Заголовок раздела «2. Настройка доменов»Через DNS
Заголовок раздела «Через DNS»Убедитесь, что DNS записи созданы для обоих доменов и указывают на IP-адрес сервера.
Через hosts файл (для тестирования)
Заголовок раздела «Через hosts файл (для тестирования)»На Linux сервере:
sudo nano /etc/hostsДобавьте строки:
192.168.1.100 gmonit.domain.ru192.168.1.100 collector.gmonit.domain.ruНа Windows клиентах добавьте в C:\Windows\System32\drivers\etc\hosts:
192.168.1.100 gmonit.domain.ru192.168.1.100 collector.gmonit.domain.ru3. Настройка SSL-сертификатов
Заголовок раздела «3. Настройка SSL-сертификатов»Вариант 1: Использование существующих сертификатов
Заголовок раздела «Вариант 1: Использование существующих сертификатов»Если у вас есть валидные SSL-сертификаты от доверенного CA, разместите их в директориях:
gmonit/ssl/(для основного приложения)nginx/ssl/(для веб-сервера)
Вариант 2: Создание самоподписанных сертификатов
Заголовок раздела «Вариант 2: Создание самоподписанных сертификатов»- Создайте директорию для сертификатов:
mkdir ~/certificatescd ~/certificates- Выпустите корневой сертификат (Root CA):
# Приватный ключ RootCAopenssl genrsa -out rootCA.key 4096
# Самоподписанный сертификат RootCA (10 лет)openssl req -x509 -new -nodes -key rootCA.key \ -sha256 -days 3650 \ -subj "/C=RU/ST=Moscow/L=Moscow/O=GMonitML/CN=GMonitML Local Root CA" \ -out rootCA.crt- Создайте конфигурацию для серверного сертификата:
nano server.confСодержимое файла server.conf:
[req]default_bits = 4096default_md = sha256distinguished_name = req_distinguished_namereq_extensions = v3_reqprompt = no
[req_distinguished_name]C = RUST = MoscowL = MoscowO = GMonitMLCN = gmonit.domain.ru
[v3_req]basicConstraints = CA:FALSEkeyUsage = digitalSignature, keyEncipherment, dataEnciphermentextendedKeyUsage = serverAuth, clientAuthsubjectAltName = @alt_names
[alt_names]DNS.1 = gmonit.domain.ruDNS.2 = collector.gmonit.domain.ru- Выпустите серверный сертификат:
# Приватный ключ сервераopenssl genrsa -out server.key 4096
# Создать CSRopenssl req -new -key server.key -out server.csr -config server.conf
# Подписать у RootCAopenssl x509 -req -in server.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial \ -out server.crt -days 1095 -sha256 \ -extfile server.conf -extensions req_ext -copy_extensions none- Проверьте корректность сертификата:
openssl x509 -in server.crt -noout -text | grep -A1 "Subject Alternative Name"- Скопируйте сертификаты в нужные директории:
cp rootCA.crt server.crt server.key gmonit/ssl/cp rootCA.crt server.crt server.key nginx/ssl/- Добавьте пути к сертификатам в файл
.env:
CA_FILE=/gmonit/ssl/rootCA.crtCERT_FILE=/gmonit/ssl/server.crtKEY_FILE=/gmonit/ssl/server.keyВажно: Файл
rootCA.crtнеобходимо добавить в доверенные сертификаты на рабочих местах пользователей и серверах, где будут работать агенты.
Запуск системы
Заголовок раздела «Запуск системы»1. Запуск GMonitML
Заголовок раздела «1. Запуск GMonitML»Перейдите в директорию с GMonitML и выполните запуск:
cd ~/gmonitml
# Обновить образы (опционально)docker compose pull
# Запустить контейнерыdocker compose up --wait2. Проверка работоспособности
Заголовок раздела «2. Проверка работоспособности»- Проверьте статус контейнеров:
docker compose psВсе контейнеры должны быть в состоянии “running” или “healthy”.
-
Проверьте доступность веб-интерфейса: Откройте в браузере:
https://gmonit.domain.ru -
Проверьте API коллектора:
curl -k https://collector.gmonit.domain.ru/aboutДолжен вернуться JSON с информацией о версии.
- Проверьте логи при необходимости:
docker compose logsУстранение неисправностей
Заголовок раздела «Устранение неисправностей»Распространенные проблемы
Заголовок раздела «Распространенные проблемы»Проблема: Контейнеры не запускаются
- Решение: Проверьте логи
docker compose logs - Решение: Убедитесь в корректности файла
.env - Решение: Проверьте доступность портов 80 и 443
Проблема: Недоступен веб-интерфейс
- Решение: Проверьте DNS разрешение доменов
- Решение: Убедитесь в корректности SSL-сертификатов
- Решение: Проверьте настройки firewall
Проблема: Ошибки SSL/TLS
- Решение: Проверьте валидность сертификатов командой
openssl x509 -in server.crt -text -noout - Решение: Убедитесь, что rootCA.crt добавлен в доверенные
- Решение: Проверьте Subject Alternative Names в сертификате
Проблема: Недостаточно ресурсов
- Решение: Проверьте использование CPU, памяти и диска
- Решение: Увеличьте ресурсы сервера согласно требованиям
- Решение: Очистите дисковое пространство
Проверка состояния системы
Заголовок раздела «Проверка состояния системы»# Проверка загруженных образовdocker images | grep -E "(gmonitml|grafana|collector)"
# Детальная проверка контейнеровdocker compose ps -a
# Проверка использования ресурсовdocker stats
# Проверка доступности APIcurl -k -w "%{http_code}" https://collector.gmonit.domain.ru/healthДополнительные ресурсы
Заголовок раздела «Дополнительные ресурсы»После успешной установки можно приступить к настройке агентов сбора данных и интеграции с системами мониторинга.