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

Обзор развертывания Splunk Enterprise (free trial) на сервере

Предварительные требования и базовые условия

Для развертывания Splunk Enterprise на сервере необходимо выполнение следующих условий:

  • Операционная система: Система на базе Linux с установленными Docker и Docker Compose.

  • Привилегии: Для создания директорий, управления контейнерами Docker и настройки прокси требуется доступ root или права sudo.

  • Домен: Сервер должен быть связан с зоной hostkey.in.

  • Порты: Порты 80, 443 и 8000 должны быть доступны для внешнего и внутреннего взаимодействия.

FQDN конечной панели

Приложение доступно по следующему полному доменному имени (FQDN) в домене hostkey.in:

  • splunk<Server ID>.hostkey.in:443

Примечание: Замените <Server ID> на конкретный идентификатор, назначенный экземпляру сервера. Приложение обслуживается через HTTPS на порту 443.

Структура файлов и директорий

Развертывание использует следующую структуру директорий на хост-системе:

  • /root/splunk: Основная директория, содержащая конфигурацию Docker Compose и связанные файлы.

  • /root/splunk/compose.yml: Файл Docker Compose, определяющий сервисы и их конфигурации.

  • /data/nginx/user_conf.d: Директория, содержащая пользовательские файлы конфигурации Nginx для прокси.

  • /etc/letsencrypt: Точка монтирования для сертификатов SSL/TLS, управляемых Certbot внутри контейнера Nginx.

Процесс установки приложения

Приложение развертывается с использованием Docker Compose. Процесс установки включает следующие шаги:

  1. Создается директория /root/splunk с владельцем root и правами доступа 0644.

  2. Внутри /root/splunk генерируется файл compose.yml, определяющий сервисы Splunk и Nginx.

  3. Стек Docker Compose запускается с помощью команды docker compose up -d, которая запускает контейнеры в отсоединенном режиме (detached mode).

  4. Контейнер Splunk использует образ splunk/splunk:latest.

  5. Контейнер Nginx использует образ jonasal/nginx-certbot:latest для обработки завершения SSL и работы в качестве обратного прокси.

Контейнеры Docker и их развертывание

Развертывание состоит из двух основных контейнеров Docker, определенных в файле compose.yml:

  • splunk:

  • Образ: splunk/splunk:latest

  • Политика перезапуска: unless-stopped

  • Внутренний порт: 8000

  • Переменные окружения:

    • SPLUNK_START_ARGS: Установлено значение --accept-license для автоматического принятия лицензионного соглашения.

    • SPLUNK_PASSWORD: Конфигурируется динамически на основе пароля SSH, используемого для подключения к хосту.

  • nginx:

  • Образ: jonasal/nginx-certbot:latest

  • Политика перезапуска: unless-stopped

  • Порты: 80 и 443 открыты для хоста.

  • Переменные окружения:

    • CERTBOT_EMAIL: Установлено значение hkadm@hostkey.com для уведомлений о сертификатах SSL.
  • Тома (Volumes):

    • nginx_secrets: Монтируется в /etc/letsencrypt для хранения сертификатов.

    • /data/nginx/user_conf.d: Монтируется в /etc/nginx/user_conf.d для пользовательских конфигураций.

  • Зависимости: Зависит от сервиса splunk.

Прокси-серверы

Развертывание включает обратный прокси Nginx, настроенный с Certbot для управления SSL/TLS:

  • Конфигурация Nginx: Образ jonasal/nginx-certbot обрабатывает обратную прокси-переадресацию трафика с портов 80 и 443 на внутренний сервис Splunk на порту 8000.

  • SSL/TLS: Certbot интегрирован для автоматического получения и продления SSL-сертификатов для домена splunk<Server ID>.hostkey.in.

  • Пользовательский домен: Прокси настроен для обслуживания приложения в зоне hostkey.in с конкретным префиксом splunk.

  • Конфигурация пути: Внешний путь установлен как /, а внутренний путь пуст, что маршрутизирует весь трафик напрямую в интерфейс Splunk.

Настройки прав доступа

К директориям развертывания применяются следующие настройки прав доступа:

  • /root/splunk:

  • Владелец: root

  • Группа: root

  • Режим: 0644

  • /root/splunk/compose.yml:

  • Владелец: root

  • Группа: root

  • Режим: 0644

Расположение файлов конфигурации и данных

  • Файл Docker Compose: /root/splunk/compose.yml

  • Пользовательские конфигурации Nginx: /data/nginx/user_conf.d

  • SSL-сертификаты: Хранятся внутри тома nginx_secrets, отображенного в /etc/letsencrypt внутри контейнера Nginx.

  • Данные Splunk: Сохраняются во внутреннем хранилище контейнера Docker; в предоставленной конфигурации не определено явное отображение тома хоста для данных Splunk.

Доступные порты для подключения

Следующие порты настроены для внешнего и внутреннего доступа:

  • Порт 80: HTTP-трафик для первоначальной валидации SSL-сертификата Certbot.

  • Порт 443: HTTPS-трафик для безопасного доступа к веб-интерфейсу Splunk.

  • Порт 8000: Внутренний порт, используемый контейнером Splunk; не открыт напрямую в публичный интернет, но доступен через прокси Nginx.

Запуск, остановка и обновление

Стек Docker Compose управляется с помощью следующих команд, выполняемых из директории /root/splunk:

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

    docker compose up -d
    

  • Остановка сервисов:

    docker compose down
    

  • Обновление сервисов: Для обновления контейнеров до последних версий образов, загрузите новые образы и перезапустите стек:

    docker compose pull
    docker compose up -d
    

  • Просмотр логов:

    docker compose logs -f
    

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