Настройка конфигурации и включение функций

Как включать и отключать функции

Есть два способа управлять конфигурацией DataLens:

  • Флаги для init.sh: например, --export, --files. Удобно для быстрой проверки или разового запуска.

  • Файл values.yaml: декларативный способ для промышленной эксплуатации. Вся конфигурация хранится в одном месте, ее легко версионировать и переиспользовать. values.yaml приоритетнее, чем параметры из аргументов init.sh.

Совет

Всегда используйте кастомный values.yaml для управления конфигурацией production-окружения. Флаги в init.sh при этом будут проигнорированы, единственной точкой истины будет выступать файл values.yaml.

Обзор ключевых функций

Все функции включаются в файле values.yaml в блоке features.

Посмотрите на структуру values.yaml и изучите, как включать основные функции. Весь процесс происходит в секции features.

# ... (начало файла: 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

# ... (конец файла: config, checksum)

Экспорт и импорт воркбуков

Эта функция позволяет переносить объекты (воркбуки, дашборды, чарты) между разными инсталляциями DataLens. Она полезна при переносе объектов между инстансами, а также используется в CI/CD-процессах.

features:
  export:
    enabled: true

Примечание

Включение экспорта/импорта автоматически разворачивает дополнительные сервисы: meta-manager, ui-api и temporal. Это увеличит потребление ресурсов.

Файловые коннекторы

Позволяет пользователям загружать CSV- и XLS-файлы и создавать на их основе датасеты.

features:
  files:
    enabled: true

Примечание

Эта функция требует работающих ClickHouse (для хранения данных из файлов), Valkey (для кешей) и S3 (для хранения файлов). Если вы не настроили внешние сервисы, дистрибутив развернет встроенные (MinIO в качестве S3).

Включение файлового коннектора автоматически разворачивает дополнительные сервисы: file-uploader, file-worker и file-secure-reader. Это увеличит потребление ресурсов.

Chart Editor

Открывает возможность создавать кастомные визуализации с помощью JavaScript, HTML и библиотеки D3.js.

features:
  editor:
    enabled: true

Отслеживание использования

Включает сбор событий о действиях пользователей (просмотры дашбордов, выполнение запросов) и их запись в ClickHouse. Это позволяет анализировать использование DataLens.

features:
  usage_tracking:
    enabled: true

Особенности настройки при использовании внешних ClickHouse и S3

Для production рекомендуется использовать внешние инфраструктурные сервисы. Как это настроить на примере ClickHouse:

  1. Отключите встроенный сервис в values.yaml:
infra:
  clickhouse:
    enabled: false
  1. Укажите параметры подключения к внешнему сервису:
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.

Примечание

Если нужно частичное переопределение, то с параметром --valuesнужно указывать флаг --values-merge.

Включение или выключение функции — это просто изменение enabled: false на enabled: true. После сохранения файла достаточно применить его командой ./init.sh --values <имя_вашего_файла>.yaml.

Инструменты для мониторинга и отладки

Мониторинг с Prometheus

DataLens может интегрироваться с системой мониторинга Prometheus. Для этого необходимо настроить Prometheus на сбор метрик с подов DataLens. Это делается через аннотации сервисов, чтобы Prometheus автоматически обнаружил цели для скрапинга метрик (автоматического сбора данных о показателях работы систем, сервисов или приложений с помощью специального инструмента или программы).

Отладка c Freelens

Freelens — это графический клиент для Kubernetes. Он позволяет:

  • смотреть статус подов;
  • просматривать логи каждого пода в реальном времени;
  • проверять потребление CPU и RAM;
  • подключаться к командной строке пода для выполнения диагностических команд.
Интерфейс Freelens

image

Отладка c k9s

Это встроенный аналог Freelens прямо в терминале.

Запускается так:

./init.sh --k9s
Выглядит так:

image

Кейс

Вы включили файловые коннекторы (features.files.enabled: true) без настройки внешних сервисов. Какие три встроенных инфраструктурных компонента из перечисленных ниже будут автоматически развернуты, если они не были включены?

  • PostgreSQL, Kubernetes, nginx
  • ClickHouse, Valkey, S3 (MinIO)
  • temporal, meta-manager, ui-api
  • Prometheus, Grafana, Alertmanager
Узнать ответ
  • PostgreSQL, Kubernetes, Nginx

    Неверно. PostgreSQL нужна всегда, но Kubernetes и nginx (Ingress) — это среда исполнения, а не компонент функции.

  • ClickHouse, Valkey, S3 (MinIO)

    Верно! ClickHouse используется для хранения данных из файлов, S3 (в дистрибутиве это MinIO) — для хранения самих файлов, а Valkey — для кеширования.

  • temporal, meta-manager, ui-api

    Неверно. Этот набор сервисов разворачивается при включении функции экспорта/импорта.

  • Prometheus, Grafana, Alertmanager

    Неверно. Это компоненты системы мониторинга, они не входят в дистрибутив DataLens и настраиваются отдельно.

Практика: включение функции экспорта

Модифицируйте prod-config.yaml из статьи «Установка для промышленной эксплуатации», чтобы включить функцию экспорта.

  1. Откройте в папке с дистрибутивом файл prod-config.yaml или создайте его копию.

  2. Найдите секцию features. Внутри нее найдите блок export.

  3. Измените значение enabled на true.

# ...
features:
  # ...
  export:
    enabled: true
  # ...

Если применить этот файл с помощью ./init.sh --values prod-config.yaml, Helm увидит изменения и установит недостающие сервисы: temporal, meta-manager, ui-api. Вы увидите это в выводе команды.

Итоги

Вы научились управлять функциями DataLens через values.yaml. Теперь вы знаете, как включить экспорт, работу с файлами и какие зависимости это за собой тянет.