Мониторинг логов MongoDB с ClickStack
Собирайте и визуализируйте логи сервера MongoDB (JSON-формат 4.4+) в ClickStack с помощью OTel-приёмника filelog. Включает демо-набор данных и готовую панель мониторинга.
Интеграция с существующей MongoDB
В этом разделе описано, как настроить существующую установку MongoDB для отправки логов в ClickStack, изменив конфигурацию OTel collector ClickStack. Если вы хотите протестировать интеграцию MongoDB перед настройкой собственной среды, воспользуйтесь нашей предварительно настроенной конфигурацией и образцами данных в разделе "Демо-набор данных".
Предварительные требования
- Запущенный экземпляр ClickStack
- Существующая самоуправляемая установка MongoDB (версии 4.4 или новее)
- Доступ к файлам логов MongoDB
Проверка конфигурации логирования MongoDB
MongoDB 4.4+ по умолчанию выводит структурированные JSON-логи. Проверьте расположение лог-файла:
Стандартные расположения журналов MongoDB:
- Linux (apt/yum):
/var/log/mongodb/mongod.log - macOS (Homebrew):
/usr/local/var/log/mongodb/mongo.log - Docker: Логи часто выводятся в stdout, но можно настроить запись в
/var/log/mongodb/mongod.log
Если MongoDB выводит журналы в stdout, настройте запись в файл, обновив mongod.conf:
После изменения конфигурации перезапустите MongoDB:
Создание пользовательской конфигурации OTel collector для MongoDB
ClickStack позволяет расширить базовую конфигурацию OpenTelemetry Collector, подключив пользовательский файл конфигурации и задав переменную окружения. Пользовательская конфигурация объединяется с базовой конфигурацией, управляемой HyperDX через OpAMP.
Создайте файл с именем mongodb-monitoring.yaml со следующей конфигурацией:
- В пользовательской конфигурации вы определяете только новые получатели и конвейеры. Процессоры (
memory_limiter,transform,batch) и экспортеры (clickhouse) уже определены в базовой конфигурации ClickStack — вам нужно лишь ссылаться на них по имени. - Эта конфигурация использует
start_at: beginning, чтобы считывать все существующие логи при запуске коллектора. Для рабочих развертываний измените значение наstart_at: end, чтобы избежать повторного приёма логов при перезапуске коллектора.
Настройка ClickStack для загрузки пользовательской конфигурации
Чтобы включить пользовательскую конфигурацию коллектора в существующем развертывании ClickStack, необходимо:
- Смонтируйте пользовательский файл конфигурации по пути
/etc/otelcol-contrib/custom.config.yaml - Задайте переменную окружения
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Смонтируйте каталог логов MongoDB, чтобы коллектор мог их читать
- Docker Compose
- Docker Run (образ all-in-one)
Обновите конфигурацию развертывания ClickStack:
Если вы используете образ all-in-one с Docker, выполните:
Убедитесь, что коллектор ClickStack имеет необходимые права доступа для чтения файлов журналов MongoDB. В производственной среде используйте монтирование в режиме только для чтения (:ro) и соблюдайте принцип минимальных привилегий.
Демо-набор данных
Протестируйте интеграцию MongoDB на предварительно подготовленном демонстрационном наборе данных, прежде чем настраивать продуктивные системы.
Создайте тестовую конфигурацию коллектора
Создайте файл mongodb-demo.yaml со следующей конфигурацией:
Запустите ClickStack с демо-конфигурацией
Запустите ClickStack с демо-логами и этой конфигурацией:
Проверьте логи в HyperDX
После запуска ClickStack:
- Откройте HyperDX и войдите в свою учетную запись (при необходимости сначала создайте ее)
- Перейдите в представление Search и выберите источник
Logs - Установите временной диапазон, включающий 2026-03-09 00:00:00 - 2026-03-10 00:00:00 (UTC)


Панели мониторинга и визуализации
Импорт готовой панели мониторинга
- Откройте HyperDX и перейдите в раздел Dashboards.
- В правом верхнем углу откройте меню с многоточием и нажмите "Import Dashboard".

- Загрузите файл mongodb-logs-dashboard.json и нажмите Finish import.

Панель мониторинга будет создана со всеми заранее настроенными визуализациями
Для демо-набора данных установите временной диапазон, включающий 2026-03-09 00:00:00 - 2026-03-10 00:00:00 (UTC).

Устранение неполадок
Убедитесь, что в итоговую конфигурацию включён ваш приёмник filelog:
Проверьте наличие ошибок коллектора:
Убедитесь, что MongoDB выводит логи в формате JSON (4.4+):
Если вывод не является корректным JSON, возможно, в вашей версии MongoDB используется устаревший текстовый формат лога (до 4.4). Вам нужно заменить оператор json_parser на regex_parser или обновить MongoDB до версии 4.4+.
Следующие шаги
- Настройте оповещения для критических событий (всплески ошибок, пороговые значения для медленных запросов)
- Создайте дополнительные панели мониторинга для конкретных сценариев использования (мониторинг набора реплик, отслеживание соединений)
Переход к промышленной эксплуатации
В этом руководстве для быстрой настройки используется встроенный в ClickStack OpenTelemetry Collector. Для развертываний в промышленной эксплуатации мы рекомендуем запускать собственный OTel Collector и отправлять данные в OTLP-эндпоинт ClickStack. См. раздел Отправка данных OpenTelemetry с конфигурацией для промышленной эксплуатации.