Хранилища данных
На странице Хранилища данных находится список серверов ClickHouse.
Чтобы добавить новое подключение, нажмите + Добавить в правом верхнем углу и введите:
- Название
- Кластерный режим (Вкл/Выкл)
- Хост
- Порт
- Имя пользователя
- Пароль
- SSL (Вкл/Выкл)
В хранилище данных могут быть добавлены как валидные, так и невалидные соединения. Чтобы проверить соединение, перейдите в его профиль и кликните Проверить подключение. Если проверка завершится неудачно, появится сообщение об ошибке.
Первое подключенное хранилище используется для синхронизации данных, собранных агентом мониторинга. Чтобы выбрать новое хранилище на ОС Windows, в конфигурационном файле com.infomaximum.subsystem.monitoring.json в значении параметра storage_guid
укажите идентификатор интересующего подключения, а затем перезапустите контейнер. Чтобы изменить GUID хранилища на ОС Linux, при обновлении или перезапуске контейнера передайте новое значение переменной окружения MN_STORAGE_GUID
.
Доступ к списку серверов, возможности добавления и редактирования новых подключений регламентируются привилегией Хранилища.
Профиль сервера ClickHouse
Чтобы зайти в профиль сервера ClickHouse, кликните по его названию или нажмите значок контекстного меню и выберите пункт Редактировать.
Вкладка Основное
Во вкладке Основное можно настроить параметры сервера:
- Название соединения
- Хост
- Порт
- Имя пользователя
- Пароль
- SSL
- Аутентификация:
- Стандартная (по умолчанию)
- Сквозная (логин/пароль)
- Память на один запрос (МБ)
- Количество одновременных подключений
- Размер очереди на выполнение
- Время сессии (в минутах)
Во вкладке также возможно Проверить подключение.
Сохранение подключения доступно по кнопке в левом нижнем углу, когда заполнены все обязательные поля.
После сохранения автоматически проводится проверка подключения.
Невозможно удалить подключение, которое используется.
Сквозная аутентификация
Эта функция доступна в бета-версии. Попробуйте ее в работе и поделитесь своим мнением — обратная связь помогает нам развивать продукт.
Сквозная аутентификация — это вид аутентификации, с помощью которого для пользователей настраивается построчный доступ к данным в модуле «Бизнес-аналитика». Сквозная аутентификация связывает между собой ClickHouse и Proceset, позволяя создавать и синхронизировать права доступа для каждой учетной записи Proceset и ClickHouse. Таким образом происходит проверка и сопоставление учетных записей, а также отображение только доступной пользователю информации из базы данных.
В режиме стандартной аутентификации обращение к ClickHouse для всех пользователей происходит под технической учетной записью. При сквозной аутентификации обращение к ClickHouse происходит от имени соответствующей учетной записи security-пользователя. Учетная запись security-пользователя необходима для создания пользователей и настройки доступов.
- Чтобы автоматически массово синхронизировать доступы Proceset, в ClickHouse добавлена проверка подключения сквозной аутентификации и наличия пространств, использующих это подключение. Если пространства уже существуют, переключиться на сквозную аутентификацию невозможно.
- Для работы сквозной аутентификации требуется отдельное хранилище ClickHouse, отличное от используемого в режиме стандартной аутентификации.
Построчный доступ
Построчный доступ представляет из себя настройку доступов на основе атрибутов пользователей. Получение атрибутов происходит через системные таблицы Proceset. Данные из системы синхронизируются каждые 5 минут. Атрибуты включают:
- Доступы к сотрудникам
- Роли доступа
- Логин
- Пользовательские поля
Также можно добавить атрибуты из загруженного в базу данных справочника.
Построчные доступы для пользователей предоставляются через Инструмент раздачи построчного доступа, доступный в Маркетплейсе.
Перед использованием в продакшн-среде обязательно включите функционал построчного доступа (RLS) в тестовой копии базы данных ClickHouse. Это поможет заранее выявить и устранить возможные ошибки при чтении данных и построении отчетов.
Пример использования построчного доступа
В BI-системе можно настроить отчеты так, чтобы каждый пользователь видел только доступные ему данные на уровне определенной БД. Это особенно важно при работе с конфиденциальной информацией: отчетами по эффективности сотрудников, задачам, продажам и т.д.
Для настройки построчного доступа необходимо:
- Настроить таблицу прав доступа, где права доступа будут распределены, например, по логину, роли или отделу.
- Связать эту таблицу с основными данными через BI-систему или на уровне источника данных.
- Ограничить доступ к таблицам. Убедитесь, что пользователи имеют доступ только к тем источникам данных, с которыми они должны работать.
Система автоматически определяет пользователя, открывшего отчет, и применяет необходимый фильтр. Например:
- Сотрудник — отображаются только свои данные
- Руководитель отдела — отображаются данные своей команды
- HR или руководство — отображаются данные сотрудников всей компании
Все пользователи работают с одним и тем же отчетом, но содержимое подстраивается под их роль.
Преимущества использования построчного доступа:
- Безопасность — никто не увидит чужие данные
- Гибкость — несколько видов доступа для одного отчета
- Простота поддержки — не требуется создавать отдельные отчеты для каждого отдела или роли
- Масштабируемость — простой процесс добавления новых сотрудников и ролей
Вкладка Доступы
Во вкладке Доступы назначается доступ для пользователей на взаимодействие с пространствами, которые относятся к выбранному серверу.
Чтобы предоставить пользователям доступ к серверу, нажмите + Добавить, выберите сотрудников из списка и нажмите Сохранить. Чтобы запретить сотруднику доступ к серверу, нажмите иконку корзины.
Кластерный режим
Кластерный режим позволяет указать несколько серверов ClickHouse в одном подключении. Это помогает распределить нагрузку с одного сервера на несколько.
Чтобы создать подключение с кластерным режимом, необходимо при добавлении подключения включить соответствующий переключатель и указать:
- Название подключения
- Имя кластера
Во вкладке Основное отображается:
- Название сервера
- Имя кластера
- Кворум
- Соединения
- Аутентификация
- Время сессии (в минутах)
В параметре Соединения отображается список подключенных серверов. Каждое соединение настраивается отдельно через кнопку + Добавить.
Соединения удаляются без ограничений.
При выборе режима аутентификации Сквозная (логин/пароль) доступны следующие настройки:
- Управление пользователями (только автоматически)
- Security-пользователь
- Имя security-пользователя
- Пароль security-пользователя
Во вкладке Доступ назначается доступ для пользователей к хранилищу данных (к серверам). При настроенном доступе пользователь может взаимодействовать с пространствами, которые относятся к этому хранилищу. Настройка доступа аналогична той, которая применяется для обычных подключений. При использовании сквозной аутентификации для выбранных пользователей из списка можно разрешить просматривать базу данных пространства, отметив галочкой соответствующий пункт внизу страницы.
Рекомендации по работе с ClickHouse в кластерном режиме
Чтобы данные дублировались по всем нодам ClickHouse, используйте в кластерном режиме 1 шард и много реплик.
Также необходимо использовать движки семейства Replicated.
В кластерном режиме много соединений в рамках одного подключения, и при запросе на дашборд запросы будут распределяться по этим соединениям. Поэтому при создании, удалении, переименовании таблицы через SQL-запрос необходимо прописывать в тексте запроса «ON CLUSTER cluster_name».
Пример:
CREATE TABLE table_name ON CLUSTER cluster_name
DROP TABLE table_name ON CLUSTER cluster_name
RENAME TO table_name ON CLUSTER cluster_name
TRUNCATE TABLE table_name ON CLUSTER cluster_name
Если не прописать данный параметр, то запрос выполнится в отдельно взятой ноде, на других нодах изменения не применятся.
При пересоздании ранее удаленной таблицы на движке ReplicatedReplacingMergeTree может возникнуть ошибка. Ее можно обойти с помощью передачи дополнительных параметров для zookeeper: zoo_path — путь до таблицы в ClickHouse Keeper.
Пример:
ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/{database}/table_name_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', '{replica}')
Proceset не поддерживает подключение к кластерному ClickHouse через балансировщики. При настройке подключения к кластерному ClickHouse в свойствах хранилища (во вкладке Основное) необходимо указать все ноды в рамках кластера. Proceset будет распределять запросы к этим нодам самостоятельно.
Подключение к ClickHouse в пространстве
О подключении ClickHouse в пространстве смотрите на странице Подключения.
Была ли статья полезна?