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

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

Есть два способа управлять конфигурацией 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. Теперь вы знаете, как включить экспорт, работу с файлами и какие зависимости это за собой тянет.