Обзор развертывания Splunk Enterprise (бесплатная пробная версия) на сервере¶
Предварительные требования и базовые условия¶
-
Операционная система: Сервер на базе Linux с установленными Docker и Docker Compose.
-
Привилегии: Для создания директорий и управления контейнерами Docker требуется доступ с правами
rootили черезsudo. -
Конфигурация домена: Сервер должен быть настроен для обработки трафика зоны
hostkey.in. -
Порты: Порты
80,443и8000должны быть открыты и доступны в межсетевом экране (firewall) сервера.
FQDN конечной панели¶
Приложение доступно по следующему полностью указанному доменному имени (FQDN):
-
splunk<ServerID>.hostkey.in -
Путь по умолчанию —
/. -
Безопасный доступ предоставляется через HTTPS на порту
443.
Структура файлов и директорий¶
Развертывание использует следующую структуру директорий на хост-сервере:
-
/root/splunk: Основная директория, содержащая файл конфигурации Docker Compose. -
/root/splunk/compose.yml: Файл определения Docker Compose. -
/data/nginx/user_conf.d: Директория, монтируемая для пользовательских конфигураций Nginx. -
/etc/letsencrypt: Директория, монтируемая как том Docker (nginx_secrets) для хранения SSL-сертификатов.
Процесс установки приложения¶
Приложение развертывается с использованием Docker Compose. Установка включает в себя генерацию файла конфигурации и запуск контейнеров.
-
Версия программного обеспечения: Развертывание использует последнюю доступную версию Splunk (
splunk/splunk:latest) и прокси Nginx Certbot (jonasal/nginx-certbot:latest). -
Метод развертывания: Система использует файл
docker compose, расположенный в директории/root/splunk, для оркестрации сервисов. -
Команда выполнения:
Эта команда выполняется из директории/root/splunk.
Контейнеры Docker и их развертывание¶
В файле compose.yml развертываются два основных контейнера:
-
Nginx (Certbot)
-
Образ:
jonasal/nginx-certbot:latest -
Функция: Выступает в роли обратного прокси, обрабатывает генерацию SSL-сертификатов через Let's Encrypt и завершает HTTPS-соединения.
-
Политика перезапуска:
unless-stopped -
Переменные окружения:
-
CERTBOT_EMAIL: Установлено значениеhkadm@hostkey.com
-
-
Splunk
-
Образ:
splunk/splunk:latest -
Функция: Хостит приложение Splunk Enterprise.
-
Политика перезапуска:
unless-stopped -
Переменные окружения:
-
SPLUNK_START_ARGS: Установлено значение--accept-licenseдля автоматического принятия лицензионного соглашения. -
SPLUNK_PASSWORD: Конфигурируется динамически через скрипт установки.
-
Прокси-серверы¶
Контейнер Nginx служит точкой входа для всего внешнего трафика.
-
SSL/TLS: Включен через Let's Encrypt посредством интеграции Certbot внутри образа Nginx.
-
Маршрутизация: Контейнер Nginx сопоставляет внешние порты с внутренним сервисом Splunk.
-
Монтирование томов:
-
nginx_secrets: Сопоставляется с/etc/letsencryptдля хранения сертификатов. -
/data/nginx/user_conf.d: Сопоставляется с/etc/nginx/user_conf.dдля пользовательских конфигураций Nginx. -
Зависимости: Сервис Nginx настроен с зависимостью от сервиса Splunk, что гарантирует готовность Splunk перед началом маршрутизации трафика прокси.
Расположение файлов конфигурации и данных¶
| Конфигурация/Ресурс | Расположение | Описание |
|---|---|---|
| Файл Docker Compose | /root/splunk/compose.yml | Определяет сервисы, сети и тома для развертывания. |
| Корневая директория приложения | /root/splunk | Рабочая директория для проекта Docker Compose. |
| SSL-сертификаты | nginx_secrets (том Docker) | Управляет сертификатами Let's Encrypt, монтируемыми в контейнер Nginx. |
| Пользовательские конфигурации Nginx | /data/nginx/user_conf.d | Директория хоста для дополнительных файлов конфигурации Nginx. |
Доступные порты для подключения¶
На сервере открыты и сопоставлены следующие порты:
-
Порт 80: HTTP-трафик для валидации Let's Encrypt.
-
Порт 443: HTTPS-трафик для безопасного доступа пользователей к веб-интерфейсу Splunk.
-
Порт 8000: Внутренний порт, используемый контейнером Splunk, сопоставлен для прямого взаимодействия между контейнерами.
Запуск, остановка и обновление¶
Все операции управления сервисами выполняются с помощью команд Docker Compose, исполняемых внутри директории /root/splunk.
-
Запуск сервисов:
-
Остановка сервисов:
-
Перезапуск сервисов:
-
Обновление образов: Для загрузки последних версий контейнеров, определенных в тегах образов:
После чего: