Интеграция с существующим Redis
В этом разделе описано, как настроить существующую установку Redis для отправки журналов в ClickStack, изменив конфигурацию коллектора ClickStack OTel. Если вы хотите протестировать интеграцию с Redis перед настройкой собственной среды, вы можете воспользоваться нашей предварительно настроенной средой и примерами данных в разделе "Демо-набор данных".
Предварительные требования
- Запущенный экземпляр ClickStack
- Установленный Redis (версии 3.0 или новее)
- Доступ к файлам журнала Redis
Проверьте настройки логирования Redis
Сначала проверьте настройки логирования Redis. Подключитесь к Redis и проверьте расположение файла журнала:
redis-cli CONFIG GET logfileРаспространённые пути к журналам 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:
# Log to file instead of stdout
logfile /var/log/redis/redis-server.log
# Set log level (options: debug, verbose, notice, warning)
loglevel noticeПосле изменения конфигурации перезапустите Redis:
# For systemd
sudo systemctl restart redis
# For Docker
docker restart <redis-container>Создайте пользовательскую конфигурацию OTel collector
ClickStack позволяет расширить базовую конфигурацию OpenTelemetry Collector, смонтировав пользовательский файл конфигурации и задав переменную окружения. Пользовательская конфигурация объединяется с базовой конфигурацией, которой HyperDX управляет через OpAMP.
Создайте файл redis-monitoring.yaml со следующей конфигурацией:
receivers:
filelog/redis:
include:
- /var/log/redis/redis-server.log
start_at: beginning
operators:
- type: regex_parser
regex: '^(?P\d+):(?P\w+) (?P\d{2} \w+ \d{4} \d{2}:\d{2}:\d{2})\.\d+ (?P[.\-*#]) (?P.*)$'
parse_from: body
parse_to: attributes
- type: time_parser
parse_from: attributes.timestamp
layout: '%d %b %Y %H:%M:%S'
- type: add
field: attributes.source
value: "redis"
- type: add
field: resource["service.name"]
value: "redis-production"
service:
pipelines:
logs/redis:
receivers: [filelog/redis]
processors:
- memory_limiter
- transform
- batch
exporters:
- clickhouseЭта конфигурация:
- Считывает журналы Redis из стандартного расположения
- Разбирает формат логирования Redis с помощью регулярного выражения, чтобы извлечь структурированные поля (
pid,role,timestamp,log_level,message) - Добавляет атрибут
source: redisдля фильтрации в HyperDX - Направляет журналы в экспортёр ClickHouse через выделенный конвейер
Настройте ClickStack для загрузки пользовательской конфигурации
Чтобы включить пользовательскую конфигурацию коллектора в существующем развертывании ClickStack, необходимо:
- Смонтировать пользовательский файл конфигурации в
/etc/otelcol-contrib/custom.config.yaml - Установить переменную среды
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Смонтировать каталог логов Redis, чтобы коллектор мог их читать
Вариант 1: Docker Compose
Обновите конфигурацию развертывания ClickStack:
services:
clickstack:
# ... existing configuration ...
environment:
- CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml
# ... other environment variables ...
volumes:
- ./redis-monitoring.yaml:/etc/otelcol-contrib/custom.config.yaml:ro
- /var/log/redis:/var/log/redis:ro
# ... other volumes ...Вариант 2: Docker Run (образ «всё в одном»)
Если вы используете образ «всё в одном» с Docker, выполните:
docker run --name clickstack \
-p 8080:8080 -p 4317:4317 -p 4318:4318 \
-e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
-v "$(pwd)/redis-monitoring.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
-v /var/log/redis:/var/log/redis:ro \
clickhouse/clickstack-all-in-one:latestПроверка журналов в HyperDX
После настройки войдите в HyperDX и убедитесь, что журналы поступают:


Демо-набор данных
Для пользователей, которые хотят протестировать интеграцию Redis перед настройкой своих систем в продакшне, мы предоставляем образец данных с заранее сгенерированными журналами Redis, имитирующими реальные паттерны.
Скачайте образец данных
Скачайте образец файла журнала:
curl -O https://datasets-documentation.s3.eu-west-3.amazonaws.com/clickstack-integrations/redis/redis-server.logСоздайте тестовую конфигурацию коллектора
Создайте файл с именем redis-demo.yaml со следующей конфигурацией:
cat > redis-demo.yaml << 'EOF'
receivers:
filelog/redis:
include:
- /tmp/redis-demo/redis-server.log
start_at: beginning # Читать с начала для демонстрационных данных
operators:
- type: regex_parser
regex: '^(?P<pid>\d+):(?P<role>\w+) (?P<timestamp>\d{2} \w+ \d{4} \d{2}:\d{2}:\d{2})\.\d+ (?P<log_level>[.\-*#]) (?P<message>.*)$'
parse_from: body
parse_to: attributes
- type: time_parser
parse_from: attributes.timestamp
layout: '%d %b %Y %H:%M:%S'
- type: add
field: attributes.source
value: "redis-demo"
- type: add
field: resource["service.name"]
value: "redis-demo"
service:
pipelines:
logs/redis-demo:
receivers: [filelog/redis]
processors:
- memory_limiter
- transform
- batch
exporters:
- clickhouse
EOFЗапустите ClickStack с демонстрационной конфигурацией
Запустите ClickStack с демо-журналами и этой конфигурацией:
docker run --name clickstack-demo \
-p 8080:8080 -p 4317:4317 -p 4318:4318 \
-e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
-v "$(pwd)/redis-demo.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
-v "$(pwd)/redis-server.log:/tmp/redis-demo/redis-server.log:ro" \
clickhouse/clickstack-all-in-one:latestПроверьте журналы в HyperDX
После запуска ClickStack:
- Откройте HyperDX и войдите в свою учётную запись (возможно, сначала потребуется её создать)
- Перейдите в представление Search и выберите
Logsв качестве source - Установите временной диапазон 2025-10-26 10:00:00 - 2025-10-29 10:00:00


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

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

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

Устранение неполадок
Пользовательский config не загружается
Убедитесь, что переменная окружения задана правильно:
docker exec <container-name> printenv CUSTOM_OTELCOL_CONFIG_FILE
# Ожидаемый результат: /etc/otelcol-contrib/custom.config.yamlПроверьте, что пользовательский файл конфигурации смонтирован:
docker exec <container-name> ls -lh /etc/otelcol-contrib/custom.config.yaml
# Ожидаемый вывод: должен отображать размер файла и разрешенияПросмотрите содержимое пользовательской конфигурации:
docker exec <container-name> cat /etc/otelcol-contrib/custom.config.yaml
# Должен отобразить содержимое файла redis-monitoring.yamlПроверьте, что эффективная конфигурация содержит ваш ресивер filelog:
docker exec <container> cat /etc/otel/supervisor-data/effective.yaml | grep -A 10 filelog
# Должна отображаться конфигурация приёмника filelog/redisВ HyperDX не отображаются журналы
Убедитесь, что Redis записывает журналы в файл:
redis-cli CONFIG GET logfile
# Ожидаемый вывод: должен отображаться путь к файлу, а не пустая строка
# Example: 1) "logfile" 2) "/var/log/redis/redis-server.log"Проверьте, что Redis активно ведёт логирование:
tail -f /var/log/redis/redis-server.log
# Должны отображаться последние записи журнала в формате RedisУбедитесь, что коллектор может считывать журналы:
docker exec <container> cat /var/log/redis/redis-server.log
# Должен отображать записи журнала RedisПроверьте журналы коллектора на наличие ошибок:
docker exec <container> cat /etc/otel/supervisor-data/agent.log
# Ищите сообщения об ошибках, связанных с filelog или RedisЕсли вы используете docker-compose, проверьте тома общего доступа:
# Убедитесь, что оба контейнера используют один и тот же том
docker volume inspect <volume-name>
# Убедитесь, что том подключён в обоих контейнерахЖурналы разбираются некорректно
Убедитесь, что формат логирования Redis соответствует ожидаемому шаблону:
# Redis Logs должны выглядеть так:
# 12345:M 28 Oct 2024 14:23:45.123 * Server started
tail -5 /var/log/redis/redis-server.logЕсли ваши логи Redis имеют другой формат, вам может потребоваться скорректировать шаблон регулярного выражения в операторе regex_parser. Стандартный формат:
pid:role timestamp level message- Пример:
12345:M 28 Oct 2024 14:23:45.123 * Server started
Следующие шаги
- Настройте оповещения для критически важных метрик (уровень ошибок, пороговые значения задержки)
- Создайте дополнительные панели мониторинга для конкретных сценариев использования (мониторинг API, события безопасности)
Переход в продакшн
В этом руководстве для быстрой настройки используется встроенный в ClickStack OpenTelemetry Collector. Для развертываний в продакшн мы рекомендуем запускать собственный OTel Collector и отправлять данные в конечную точку OTLP ClickStack. См. Отправка данных OpenTelemetry, чтобы настроить конфигурацию для продакшн.