Включение функций, мониторинг и отладка
Как включать и отключать функции
Есть два способа управлять конфигурацией DataLens:
- Флаги для
./init.sh: например,--export,--files. Удобно для быстрой проверки или разового запуска. - Файл
values.yaml: декларативный способ для промышленной эксплуатации. Вся конфигурация хранится в одном месте, ее легко версионировать и переиспользовать. Файлvalues.yamlприоритетнее, чем параметры из аргументов./init.sh.
Совет
Всегда используйте кастомный values.yaml для управления конфигурацией при промышленной эксплуатации.
Обзор ключевых функций
Большинство функций включаются в файле values.yaml в блоке features.
Посмотрите на структуру values.yaml и изучите, как включать основные функции. Процесс происходит преимущественно в секции features, иногда необходима секция infra.
# ... (начало файла: registry, ingress, infra, application, secrets, и т. д.)
#
# Секция, управляющая видимостью коннекторов в интерфейсе
#
visible_connectors:
- clickhouse
- postgres
- chyt
- ydb
- mysql
- greenplum
- mssql
- oracle
- trino
#
# КЛЮЧЕВАЯ СЕКЦИЯ ДЛЯ УПРАВЛЕНИЯ ФУНКЦИЯМИ
#
features:
auth:
enabled: true
local: true
meta_manager:
enabled: false
ui_api:
enabled: false
demo:
enabled: true # <-- Чтобы отключить демодашборды, установите false
hc:
enabled: true
endpoint: ''
protocol: ''
yandex_map:
enabled: false # <-- Для включения Яндекс Карт установите true и укажите токен
token: ''
editor:
enabled: false # <-- Для включения Chart Editor установите true
export:
enabled: false # <-- Для включения экспорта/импорта воркбуков установите true
# Это развернет доп. сервисы: temporal, meta_manager, ui_api
compeng_sidecar:
enabled: false
usage_tracking:
enabled: false # <-- Для включения сбора статистики использования установите true
# Потребуется работающая СУБД ClickHouse
files:
enabled: false # <-- Для включения файловых коннекторов установите true
# Потребуются работающие ClickHouse, Valkey и S3
infra:
postgres:
enabled: true
clickhouse:
enabled: false
temporal:
enabled: false
# ... (конец файла: config, checksum)
Совет
Если настройки ресурсов для сервисов в секции infra не изменяются, то в собственном values.yaml достаточно задать только enable. Секция resources будет взята из ./helm/values.yaml. Это также позволит имплементировать изменение настроек ресурсов при обновлениях. Файл ./helm/values.yaml перезаписывается при обновлении.
Функции и зависимости инфраструктуры
Некоторые функции зависят от дополнительных сервисов:
- При использовании аргумента командной строки функции включаются автоматически.
- При настройке через файл
values.yamlфункции нужно включать самостоятельно. - Для работы функции экспорта/импорта должны быть включены
meta-manager,ui-apiв секцииfeaturesиtemporalв секцииinfra.
Расскажем подробнее про функции.
Отслеживание использования — usage_tracking
Включает сбор событий о действиях пользователей (просмотры дашбордов, выполнение запросов) и их запись в ClickHouse®. Это позволяет анализировать использование DataLens.
Использует:
infra.clickhouse.enabled— базу данных ClickHouse® для хранения метрик использования;infra.fluent_bit.enabled— Fluent Bit для сбора и пересылки логов;infra.temporal.enabled— движок рабочих процессов Temporal для асинхронной обработки.
Флаг для ./init.sh: --usage-tracking.
Загрузка файлов и управление ими — files
Позволяет пользователям загружать файлы CSV и XLS и создавать на их основе датасеты.
Использует:
infra.clickhouse.enabled— ClickHouse® для метаданных файлов;infra.redis.enabled— Redis для кеширования сессий и управления ими;infra.s3.enabled— S3-совместимое хранилище для хранения файлов.
Флаг для ./init.sh: --files.
Эта функция требует работающих систем:
- ClickHouse® — для хранения данных из файлов;
- Redis — для кешей;
- S3 — для хранения файлов.
Если вы не настроили внешние сервисы, дистрибутив развернет встроенные — MinIO в качестве S3.
Фоновый экспорт — background_exports
Позволит выгружать полный файл с данными из чарта таблицы с включенной пагинацией.
Использует:
infra.redis.enabled— Redis для очереди задач и управления состоянием;infra.s3.enabled— S3 для хранения экспортированных файлов.
Флаг для ./init.sh: --background-exports.
Кеширование — cache
Позволяет кешировать запросы из баз данных для повторных запросов.
Использует infra.redis.enabled — Redis для слоя кеширования.
Флаг для ./init.sh: --cache.
Функциональность экспорта — export
Эта функция позволяет переносить объекты (воркбуки, дашборды, чарты) между разными инсталляциями DataLens. Она полезна при переносе объектов между инстансами, а также используется в CI/CD-процессах.
Использует:
features.meta_manager.enabled— Meta Manager для обработки метаданных;features.ui_api.enabled— UI API для интерфейса экспорта;infra.temporal.enabled— Temporal для асинхронных рабочих процессов экспорта.
Флаг для ./init.sh: --export.
Кастомные чарты Editor — editor
Открывает возможность создавать кастомные визуализации с помощью JavaScript, HTML и библиотеки D3.js.
Флаг для ./init.sh: --editor.
Важно
Развертывание дополнительных сервисов увеличивает потребление ресурсов.
Компоненты инфраструктуры
Расскажем о компонентах инфраструктуры, которые используются при работе функций: PostgreSQL, ClickHouse®, Redis, S3, Temporal и Fluent Bit.
PostgreSQL — infra.postgres
Это основная база данных для всех сервисов. По умолчанию enabled: true.
Базы данных:
pg-auth-db— сервис аутентификации;pg-compeng-db— вычислительный движок;pg-us-db— сервис пользователей;pg-meta-manager-db— Meta Manager;pg-demo-db— демоданные;pg-temporal-db— рабочие процессы Temporal;pg-temporal-visibility-db— видимость Temporal.
ClickHouse® — infra.clickhouse
Это аналитическая база данных для метаданных файлов и отслеживания использования DataLens. По умолчанию enabled: false. Используется функциями usage_tracking и files.
Redis — infra.redis
Система для кеширования, очередей задач, управления сессиями. По умолчанию enabled: false. Используется функциями files, background_exports и cache.
Базы данных:
0— кеш данных;1— кеш мутаций;9— file API;11— file worker;14— экспорт.
S3 — infra.s3
Это объектное хранилище для файлов и экспорта. По умолчанию enabled: false. Используется функциями files и background_exports.
Бакеты:
dl-file-uploader-tmp— временные файлы;dl-file-uploader— постоянные файлы.
Temporal — infra.temporal
Платформа для оркестрации рабочих процессов в асинхронных операциях. По умолчанию enabled: false. Используется функциями usage_tracking и export. Требует базу данных PostgreSQL.
Fluent Bit — infra.fluent_bit
Агент для сбора и пересылки логов. По умолчанию enabled: false. Используется функцией usage_tracking.
Краткое описание и характеристики инфраструктурных компонентов:

Граф зависимостей
usage_tracking
├── clickhouse
├── fluent_bit
└── temporal
files
├── clickhouse
├── redis
└── s3
background_exports
├── redis
└── s3
cache
└── redis
export
├── meta_manager
├── ui_api
└── temporal
Особенности настройки при использовании внешних сервисов
Для промышленной эксплуатации рекомендуется использовать внешние инфраструктурные сервисы. Как это настроить на примере ClickHouse®:
-
Отключите встроенный сервис в
values.yaml:infra: clickhouse: enabled: false -
Если используется TLS, то включите его поддержку и добавьте сертификат в свой файл
values.yamlявно:infra: clickhouse: ... tls: enabled: true secret: ref: null ca: |- -----BEGIN CERTIFICATE----- # ... (остальной сертификат) -----END CERTIFICATE-----Или через секрет:
ref: my-existing-secret.Подробнее о секретах читайте в статье «Секреты DataLens On-premises».
-
Укажите параметры подключения к внешнему сервису:
clickhouse: CLICKHOUSE_HOST: 'your-ch.db.internal' CLICKHOUSE_PORT: '9440' # Часто используется для TLS-соединений CLICKHOUSE_USER: 'datalens-user' # Пароль задается в блоке secrets файла values.yaml #... secrets: CLICKHOUSE_PASSWORD: '12345678'
Аналогичный подход используется и для S3-хранилища. Нужно отключить
infra.s3.enabled: false и прописать эндпоинт и креды для S3, например Yandex Object Storage.
Итоги
Вы научились управлять функциями DataLens через values.yaml. Теперь вы знаете, как включить экспорт, работу с файлами и какие зависимости это за собой тянет.