Подключение данных
Общий принцип: сетевая доступность
Прежде чем создавать подключение в интерфейсе DataLens, всегда задавайте себе один вопрос: «Может ли сервер, на котором работает DataLens, увидеть сервер с базой данных по сети?».
В 90% случаев проблемы с подключениями сводятся к сетевым ограничениям:
-
Firewall: блокирует порт на сервере с БД или на сетевом оборудовании.
-
Security Groups: в облачных средах правила группы безопасности не разрешают входящий трафик от ВМ с DataLens.
-
Неправильный хост или порт: банальная опечатка в реквизитах.
Как диагностировать проблемы
С пода control-api можно проверить доступность с помощью curl или telnet:
# Подключитесь к поду control-api
./init.sh --kubectl exec -it <имя-пода-control-api> -- /bin/bash
# Проверьте доступность хоста и порта
curl -v telnet://my-postgres-db.internal:5432
Проверяйте логи для пода — там будет информация про Connection timeout. Для этого можно использовать такую команду:
./init.sh --stern --tail 100 --no-follow pod/<имя-пода-control-api>
Создание простого подключения
Это базовый сценарий. Пользователь с ролью Editor или Admin может создать подключение.

-
В интерфейсе DataLens перейдите в раздел Подключения и нажмите Создать подключение.
-
Выберите тип источника, например PostgreSQL.
-
Заполните поля: имя хоста, порт, имя БД, имя пользователя и пароль.
-
Нажмите Проверить подключение. Если проверка прошла успешно, сохраняйте.
Пароли и токены, которые вы вводите в поля, шифруются с помощью ключа CONTROL_API_CRYPTO_KEY — одного из двух типов ключей в DataLens. Используется для шифрования чувствительных данных в полях подключений: паролей или токенов. Он также генерируется и сохраняется автоматически.
Подключение к БД с TLS-шифрованием
Для безопасной передачи данных в корпоративной среде часто используется TLS. Если база данных использует сертификат, подписанный внутренним центром сертификации (CA), DataLens по умолчанию не будет ему доверять.
Чтобы это исправить, нужно добавить корневой сертификат (CA) в хранилище доверенных сертификатов DataLens. Этот процесс выполняется на уровне конфигурации Kubernetes и требует обновления values.yaml для добавления CA в системный trust store.
Примечание
Это задача администратора, а не пользователя.
В самом подключении после настройки доверия можно выбрать опцию TLS и указать нужные параметры.
Настройка и использование файловых подключений
Для работы с файлами нужно включить функцию files в values.yaml.
Процесс для пользователя:
-
Создает подключение типа Файл.
-
Загружает CSV- или XLS-файл.
-
Файл попадает во внутреннее хранилище S3 (MinIO), а затем его содержимое загружается в ClickHouse.
-
DataLens создает датасет поверх этой таблицы в ClickHouse.
Примечание
Задача администратора — убедиться, что все компоненты (S3, ClickHouse, Valkey) работают и для них достаточно места.
Особенности коннекторов
JSON API
Позволяет подключаться к источникам данных, которые отдают данные в формате JSON по HTTP. Используется в связке с Chart Editor для быстрого создания чартов из программных источников.
Примечание
Подробнее про использование API-коннектора можно прочитать в документации.
Trino (ранее PrestoSQL)
Это не база данных, а федеративный движок запросов. Trino позволяет выполнять единый SQL-запрос к данным, которые физически лежат в разных системах, например объединять данные из PostgreSQL и S3 в одном запросе. DataLens подключается к Trino, а тот — к конечным источникам.
Примечание
Подробнее про использование Trino-коннектора можно прочитать в документации.
Кейс
Пользователь жалуется, что не может подключиться к Greenplum. Ошибка Connection timed out. Каким будет первый шаг в диагностике проблемы?
- Перезапустить под
control-api - Проверить пароль пользователя
- Проверить сетевую доступность от пода
control-apiдо хоста и порта Greenplum - Попросить пользователя проверить его SQL-запрос
Узнать ответ
-
Перезапустить под
data-apiПерезапуск может помочь, если под завис, но это не первый шаг. Сначала нужно понять причину.
-
Проверить пароль пользователя
Неверный пароль дает ошибку Authentication failed, а не Connection timed out.
-
Проверить сетевую доступность от пода
data-apiдо хоста и порта GreenplumВерно. Connection timed out — классический симптом сетевой проблемы (firewall, security group).
-
Попросить пользователя проверить его SQL-запрос
На этапе создания подключения SQL-запросов еще нет. Проблема на более низком уровне.
Практика: создание файлового подключения
- Убедитесь, что в вашем
values.yamlвключена функцияfiles:
features:
files:
enabled: true
Если нет, включите и примените конфигурацию: ./init.sh --values <ваш_файл>.yaml.
- Создайте на локальном компьютере простой CSV-файл с именем
sales.csv:
City,Sales
Moscow,1500
Paris,1200
London,1800
-
В интерфейсе DataLens создайте новое подключение типа Файл.
-
Загрузите файл
sales.csv. Дождитесь окончания обработки. -
После успешной загрузки вы увидите предпросмотр данных. Нажмите Создать в правом верхнем углу.
Итоги
Вы разобрали одну из самых частых задач администратора — обеспечение подключения к данным. Теперь вы умеете создавать простые и файловые подключения и понимаете, как подходить к настройке TLS.