Перейти к основному содержанию
КраткоСобирайте и визуализируйте логи доступа Nginx (в формате JSON) в ClickStack с помощью приёмника OTel filelog. Включает демо-набор данных и преднастроенную панель мониторинга.

Интеграция с существующим Nginx

В этом разделе описано, как настроить существующую установку Nginx для отправки журналов в ClickStack, изменив конфигурацию коллектора ClickStack OTel. Если вы хотите протестировать интеграцию перед настройкой собственной среды, воспользуйтесь нашей предварительно настроенной средой и тестовыми данными из следующего раздела.
Необходимые условия
  • Работающий экземпляр ClickStack
  • Уже установленный Nginx
  • Доступ для изменения файлов конфигурации Nginx
1

Настройте формат логирования Nginx

Сначала настройте Nginx так, чтобы он выводил логи в формате JSON для более удобного парсинга. Добавьте это определение формата логирования в файл nginx.conf:Файл nginx.conf обычно находится по одному из следующих путей:
  • Linux (apt/yum): /etc/nginx/nginx.conf
  • macOS (Homebrew): /usr/local/etc/nginx/nginx.conf или /opt/homebrew/etc/nginx/nginx.conf
  • Docker: конфигурация обычно монтируется как том
Добавьте это определение формата логирования в блок http:
После внесения этого изменения перезагрузите Nginx.
2

Создайте пользовательскую конфигурацию OTel collector

ClickStack позволяет расширить базовую конфигурацию OpenTelemetry Collector, подключив собственный файл конфигурации и задав переменную окружения. Эта конфигурация объединяется с базовой конфигурацией, которой HyperDX управляет через OpAMP.Создайте файл nginx-monitoring.yaml со следующей конфигурацией:
Эта конфигурация:
  • Считывает журналы Nginx из стандартных мест
  • Разбирает JSON-записи журнала
  • Извлекает и сохраняет исходные временные метки журналов
  • Добавляет атрибут source: Nginx для фильтрации в HyperDX
  • Направляет журналы в экспортёр ClickHouse через выделенный конвейер
  • В пользовательской конфигурации вы определяете только новые приёмники и конвейеры
  • Процессоры (memory_limiter, transform, batch) и экспортёры (clickhouse) уже определены в базовой конфигурации ClickStack — вы просто ссылаетесь на них по имени
  • Оператор time_parser извлекает временные метки из поля time_local в логах Nginx, чтобы сохранить исходное время журналирования
  • Конвейеры направляют данные из ваших приёмников в экспортёр ClickHouse через существующие процессоры
3

Настройка ClickStack для загрузки пользовательской конфигурации

Чтобы включить пользовательскую конфигурацию collector в существующем развертывании ClickStack, необходимо:
  1. Смонтировать пользовательский файл конфигурации по пути /etc/otelcol-contrib/custom.config.yaml
  2. Задать переменную окружения CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml
  3. Смонтировать каталоги с логами Nginx, чтобы collector мог их читать
Вариант 1: Docker Compose
Обновите конфигурацию развертывания ClickStack:
Вариант 2: Docker Run (универсальный образ)
Если вы используете универсальный образ с docker run:
Убедитесь, что у коллектора ClickStack есть необходимые разрешения на чтение файлов журнала nginx. В продакшне используйте монтирование только для чтения (:ro) и придерживайтесь принципа наименьших привилегий.
4

Проверка журналов в HyperDX

После настройки войдите в HyperDX и убедитесь, что журналы поступают:
  1. Перейдите в представление Search
  2. В поле source выберите Logs и убедитесь, что видите записи журнала с такими полями, как request, request_time, upstream_response_time и т. д.
Вот пример того, что вы должны увидеть:

Демо-набор данных

Для пользователей, которые хотят протестировать интеграцию nginx перед настройкой своих систем в продакшне, мы предоставляем пример набора данных с заранее сгенерированными журналами доступа nginx, имитирующими реалистичный трафик.
1

Загрузите пример набора данных

Набор данных включает:
  • Записи журнала с реалистичным характером трафика
  • Различные конечные точки и HTTP-методы
  • Сочетание успешных запросов и ошибок
  • Реалистичное время ответа и количество переданных байтов
2

Создайте тестовую конфигурацию коллектора

Создайте файл с именем nginx-demo.yaml со следующей конфигурацией:
3

Запустите ClickStack с демо-конфигурацией

Запустите ClickStack с демо-журналами и этой конфигурацией:
4

Проверьте журналы в HyperDX

После запуска ClickStack:
  1. Откройте HyperDX и войдите в свою учётную запись (возможно, сначала потребуется создать аккаунт)
  2. Перейдите в представление Search и установите источник Logs
  3. Установите временной диапазон 2025-10-19 11:00:00 - 2025-10-22 11:00:00
Вот что вы должны увидеть в представлении Search:
Отображение часового поясаHyperDX отображает временные метки в локальном часовом поясе вашего браузера. Демо-данные охватывают период 2025-10-20 11:00:00 - 2025-10-21 11:00:00 UTC. Широкий временной диапазон гарантирует, что вы увидите демо-журналы независимо от своего местоположения. После этого можно сузить диапазон до 24 часов для более наглядных визуализаций.

Панели мониторинга и визуализация

Чтобы вам было проще начать мониторинг Nginx с ClickStack, мы подготовили основные визуализации для журналов Nginx.
1

конфигурацию панели мониторинга

2

Импортируйте преднастроенную панель мониторинга

  1. Откройте HyperDX и перейдите в раздел Dashboards.
  2. Нажмите “Import Dashboard” в правом верхнем углу в меню с многоточием.
  1. Загрузите файл nginx-logs-dashboard.json и нажмите “Finish Import”.
3

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

Для демо-набора данных установите временной диапазон 2025-10-20 11:00:00 - 2025-10-21 11:00:00 (UTC) (скорректируйте его в соответствии с вашим местным часовым поясом). По умолчанию для импортированной панели мониторинга временной диапазон не задан.

Устранение неполадок

Пользовательская конфигурация не загружается

  • Убедитесь, что переменная среды CUSTOM_OTELCOL_CONFIG_FILE задана корректно
  • Убедитесь, что файл пользовательской конфигурации смонтирован по пути /etc/otelcol-contrib/custom.config.yaml
  • Просмотрите содержимое пользовательской конфигурации, чтобы убедиться, что его можно прочитать

В HyperDX не отображаются журналы

  • Убедитесь, что nginx записывает журналы в формате JSON
  • Проверьте, что коллектор может читать журналы
  • Убедитесь, что действующая конфигурация включает ваш ресивер filelog
  • Проверьте журналы collector на наличие ошибок

Следующие шаги

  • Настройте оповещения для критически важных метрик (частота ошибок, пороги задержки)
  • Создайте дополнительные панели мониторинга для конкретных сценариев использования (мониторинг API, события безопасности)

Переход в продакшн

В этом руководстве для быстрой настройки используется встроенный в ClickStack OpenTelemetry Collector. Для развертываний в продакшне мы рекомендуем запускать собственный OTel collector и отправлять данные в конечную точку OTLP ClickStack. Сведения о конфигурации для продакшна см. в разделе Отправка данных OpenTelemetry.
Последнее изменение 19 июня 2026 г.