Мониторинг логов 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 с помощью регулярных выражений для извлечения структурированных полей (
pid,role,timestamp,log_level,message) - Добавляет атрибут
source: redis, который можно использовать для фильтрации в HyperDX - Передаёт логи в экспортёр ClickHouse через отдельный конвейер
- В пользовательской конфигурации вы определяете только новые приёмники и конвейеры
- Процессоры (
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, события безопасности)