Мониторинг логов Redis с помощью ClickStack
В этом руководстве показано, как мониторить Redis с помощью ClickStack, настроив OTel collector для приёма серверных логов Redis. Вы узнаете, как:
- Настроить OTel collector для разбора формата логов Redis
- Развернуть ClickStack с вашей пользовательской конфигурацией
- Использовать готовую панель мониторинга для визуализации метрик Redis (соединения, команды, память, ошибки)
Демонстрационный набор данных с примерами логов доступен, если вы хотите протестировать интеграцию до настройки вашего боевого Redis.
Требуемое время: 5–10 минут
Интеграция с существующим Redis
В этом разделе описывается настройка вашей существующей установки Redis для отправки логов в ClickStack путём изменения конфигурации OTel collector в ClickStack. Если вы хотите протестировать интеграцию с Redis прежде чем настраивать собственную среду, вы можете воспользоваться нашей предварительно настроенной средой и демонстрационным набором данных в разделе "Demo dataset".
Предварительные требования
- Развернутый экземпляр ClickStack
- Установленный Redis версии 3.0 или новее
- Доступ к файлам журналов Redis
Проверка конфигурации логирования Redis
Сначала проверьте конфигурацию логирования Redis. Подключитесь к Redis и проверьте расположение лог-файла:
Типичные расположения логов Redis:
- Linux (apt/yum):
/var/log/redis/redis-server.log - macOS (Homebrew):
/usr/local/var/log/redis.log - Docker: Обычно пишет логи в stdout, но может быть настроен на запись в
/data/redis.log
Если Redis записывает логи в stdout, настройте запись в файл, обновив redis.conf:
После изменения конфигурации перезапустите Redis:
Создайте пользовательскую конфигурацию OTel collector
ClickStack позволяет расширить базовую конфигурацию OpenTelemetry Collector путём монтирования пользовательского конфигурационного файла и установки переменной окружения. Пользовательская конфигурация объединяется с базовой конфигурацией, управляемой HyperDX через OpAMP.
Создайте файл redis-monitoring.yaml со следующей конфигурацией:
Данная конфигурация:
- Считывает логи Redis из стандартного расположения
- Анализирует формат журналов Redis с использованием регулярных выражений (regex) для извлечения структурированных полей (
pid,role,timestamp,log_level,message) - Добавляет атрибут
source: redisдля последующей фильтрации в HyperDX - Направляет логи в экспортёр ClickHouse по выделенному конвейеру
- В пользовательской конфигурации вы задаёте только новые receivers и pipelines
- Процессоры (
memory_limiter,transform,batch) и экспортёры (clickhouse) уже определены в базовой конфигурации ClickStack — их достаточно указать по имени - Оператор
time_parserизвлекает временные метки из логов Redis, чтобы сохранить их исходное время - Эта конфигурация использует
start_at: beginningдля чтения всех существующих логов при запуске коллектора, что позволяет сразу увидеть логи. Для продакшн-развёртываний, где вы хотите избежать повторного приёма логов при перезапуске коллектора, измените значение наstart_at: end.
Настройте ClickStack для загрузки пользовательской конфигурации
Чтобы включить пользовательскую конфигурацию коллектора в существующем развертывании ClickStack, необходимо:
- Смонтируйте файл пользовательской конфигурации по пути
/etc/otelcol-contrib/custom.config.yaml - Задайте значение переменной окружения
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Смонтируйте каталог логов Redis, чтобы коллектор смог их считывать
Вариант 1: Docker Compose
Обновите конфигурацию развертывания ClickStack:
Вариант 2: Docker Run (образ «всё в одном»)
Если вы используете универсальный образ с Docker, выполните:
Убедитесь, что коллектор ClickStack имеет необходимые права для чтения файлов журналов Redis. В производственной среде используйте монтирование только для чтения (:ro) и следуйте принципу минимальных привилегий.
Демонстрационный набор данных
Для пользователей, которые хотят протестировать интеграцию Redis до настройки своих продуктивных систем, мы предоставляем демонстрационный набор данных с предварительно сгенерированными журналами Redis, имитирующими реалистичные сценарии.
Создание тестовой конфигурации коллектора
Создайте файл с именем redis-demo.yaml со следующей конфигурацией:
Запуск ClickStack с демонстрационной конфигурацией
Запустите ClickStack с демонстрационными логами и конфигурацией:
При этом файл журнала монтируется непосредственно в контейнер. Это делается для целей тестирования со статическими демонстрационными данными.
Проверка логов в HyperDX
После запуска ClickStack:
- Откройте HyperDX и войдите в свою учетную запись (при необходимости сначала создайте её)
- Перейдите в представление Search и установите источник
Logs - Установите диапазон времени на 2025-10-26 10:00:00 - 2025-10-29 10:00:00
HyperDX отображает временные метки в локальном часовом поясе вашего браузера. Демонстрационные данные охватывают период 2025-10-27 10:00:00 - 2025-10-28 10:00:00 (UTC). Широкий диапазон времени гарантирует, что вы увидите демонстрационные логи независимо от вашего местоположения. После того как вы увидите логи, вы можете сузить диапазон до 24 часов для более наглядной визуализации.


Дашборды и визуализация
Чтобы помочь вам начать мониторинг Redis с помощью ClickStack, мы предоставляем основные визуализации для логов Redis.
Импорт готового дашборда
- Откройте HyperDX и перейдите в раздел Dashboards.
- Нажмите «Import Dashboard» в правом верхнем углу под значком с многоточием.

- Загрузите файл redis-logs-dashboard.json и нажмите «Finish Import».

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

Устранение неполадок
Пользовательская конфигурация не загружается
Убедитесь, что переменная окружения задана корректно:
Проверьте, что пользовательский конфигурационный файл примонтирован:
Просмотрите содержимое пользовательской конфигурации:
Убедитесь, что в эффективной конфигурации указан ваш приёмник filelog:
В HyperDX не отображаются логи
Убедитесь, что Redis записывает логи в файл:
Проверьте, что Redis активно ведёт логирование:
Убедитесь, что коллектор может читать логи:
Проверьте наличие ошибок в логах коллектора:
Если используете docker-compose, проверьте общие тома:
Логи разбираются некорректно
Убедитесь, что формат логов Redis соответствует ожидаемому формату:
Если формат логов Redis отличается, возможно, потребуется скорректировать шаблон регулярного выражения в операторе regex_parser. Стандартный формат следующий:
pid:role timestamp level message- Пример:
12345:M 28 Oct 2024 14:23:45.123 * Server started
Дальнейшие шаги
Если вы хотите продолжить изучение, вот несколько идей для экспериментов с вашей панелью мониторинга:
- Настройте оповещения для критически важных метрик (уровни ошибок, пороги задержки)
- Создайте дополнительные дашборды для конкретных сценариев (мониторинг API, события безопасности)