Запуск Glarus BI на Microsoft Azure¶
В этом руководстве рассматриваются основы запуска Glarus BI в Microsoft Azure с помощью Docker.
Шаг 1: Создайте группу ресурсов¶
В консоли управления Azure щёлкните значок Группы ресурсов в верхней части страницы (или просто найдите группы ресурсов). Если у вас уже есть группа ресурсов, вы можете сразу перейти к Шаг 2.
На странице группы ресурсов нажмите кнопку + Добавить на верхней панели, чтобы создать новую группу ресурсов. Далее выберите действующую подписку Azure, введите имя группы ресурсов и выберите регион.
Нажимайте Далее, пока не появится кнопка Создать, затем нажмите ее.
При выборе региона для Glarus BI вы должны учитывать местоположение ваших пользователей и вашего хранилища данных, а также затраты на инфраструктуру и законы о конфиденциальности, которые могут ограничивать передачу данных.
Шаг 2: Создайте VNET (виртуальную сеть)¶
В центре страницы нажмите кнопку Создать ресурсы. Найдите VNET:
Выберите продукт VNET от Microsoft и нажмите Создать:
Введите имя виртуальной сети и выберите тот же регион, который вы использовали для группы ресурсов. Нажмите кнопку Далее: IP-адреса внизу.
Сейчас мы создадим безопасную сеть, состоящую из общедоступной подсети (сети, доступной в Интернет) и частной сети, которая будет содержать базу данных вашего приложения.
В адресе IPv4 у вас должно быть значение по умолчанию 10.0.0.0/16 (в противном случае добавьте это вручную). Затем добавьте две подсети:
- одна подсеть с именем public с диапазоном адресов подсети 10.0.1.0/24 и
- одна подсеть с именем private с диапазоном подсетей 10.0.2.0/24.
Нажимайте Далее, пока не дойдете до страницы Просмотр и создание, затем нажмите кнопку Создать внизу, чтобы создать свою сеть.
Шаг 3: Создайте базу данных приложения (PostgreSQL)¶
На странице консоли управления Azure создайте новый ресурс. На этот раз выполните поиск База данных Azure для PostgreSQL. Вы также можете найти эту базу данных в меню Marketplace в разделе Базы данных.
На следующей странице вам нужно будет выбрать способ использования сервиса. На данный момент выберите Один сервер, но учтите, что при этом будет создан только один экземпляр PostgreSQL, который станет вашей единственной точкой отказа.
На следующем экране выберите или введите следующее:
- Группа ресурсов: та, в которую вы включите все свои компоненты.
- Имя сервера: уникальное имя для вашей базы данных.
- Источник данных: можно оставить «Нет».
- Местоположение: то же, которое вы использовали для своей группы ресурсов и виртуальной сети.
- Версия: используйте самую последнюю версию.
- Вычисления + хранилище: вы можете изменить размер своей базы данных, но вы должны выбрать
Общее назначение
, так как это единственный вариант, который предоставит вам приватный линк.
Затем выберите имя пользователя и пароль администратора на ваш вкус.
Нажимайте Далее, пока не дойдете до последней страницы, затем нажмите Создать. Потребуется некоторое время, чтобы создать вашу базу данных, после завершения этого процесса нажмите кнопку Перейти к ресурсу.
Шаг 4: Создание подключения к частной точке доступа¶
На странице свойств базы данных Azure для PostgreSQL вы можете управлять параметрами своей базы данных. Вам необходимо создать частной точке доступа для базы данных, чтобы весь трафик из веб-приложения направлялся внутри через сеть Azure.
В меню слева нажмите Подключение к частной точке доступа, которое находится в разделе Безопасность.
Теперь нажмите кнопку на верхней панели со знаком «плюс» с надписью частная точка доступа. На открывшейся странице:
1) Укажите имя для этой ссылки (подойдет любое имя, описывающее контекст, например metabase_link
). Выберите регион, в котором находится база данных, нажмите Далее.
2) В разделе Ресурс убедитесь, что Тип ресурса установлен на Microsoft.DBforPostgreSQL/servers
, это позволит вам выбрать далее сервер, созданный на предыдущем шаге, так же оставьте Целевой подресурс со значением по умолчанию.
3) В разделе Конфигурация нужно изменить только значение Подсеть, где вам нужно выбрать частную подсеть, которую вы создали на первом шаге этого руководства, а все остальное оставить как есть.
Теперь перейдите к последнему шагу и нажмите Создать. После создания конечной точки вам нужно будет ещё сделать два дополнительных действия:
1) На только что созданной странице сервера базы данных перейдите к пункту Безопасность подключения и запретите доступ к общедоступной сети. 2) На странице виртуальной сети, созданной на предыдущем шаге, перейдите к настройке Подключенные устройства, там вы должны увидеть устройство, подключенное к сети. Запишите IP-адрес, так как он понадобится вам на шаге 5 (это IP-адрес, который сеть предоставила серверу базы данных).
Шаг 5: Создайте веб-приложение (установите Glarus BI)¶
Наконец, завершаюший шаг: перейдите в свою группу ресурсов и добавьте новый ресурс или найдите Веб-приложение в Marketplace (значок синего глобуса).
Теперь настройте следующие значения (группа ресурсов должна быть такой же, как и в первом шаге):
- Имя: имя должно быть уникальным, так как субдомен является общим для всех развёртываний Azure.
- Опубликовать: контейнер Docker.
- Операционная система: Linux.
- Регион: используйте тот же регион, что и в предыдущих шагах.
- План обслуживания приложений: если у вас нет плана обслуживания, Azure автоматически создаст новый.
- SKU и размер: установите
production
план с как минимум 200 ACU и 3,5 ГБ памяти и нажмите Применить.
Перейдите к следующему шагу и выберите следующее:
- Опции: Один контейнер.
- Источник образа: DockerHub.
- Тип доступа: Общий.
- Образ и тег: metabase/metabase:latest (или любой другой тег образа докера по вашему выбору, например, нашу корпоративную версию). Чтобы найти последнюю версию, проверьте наш репозиторий Dockerhub версии Community Edition, а также наш репозиторий Dockerhub версии Enterprise.
- Команда запуска: оставьте это поле пустым.
Нажимайте Далее, пока не дойдете до последнего раздела, затем нажмите Создать и подождите, пока ваше приложение инициализируется.
Теперь перейдите на страницу конфигурации приложения и нажмите Настройки -> Сеть в левой части страницы. На следующей странице нажмите Нажмите здесь, чтобы настроить в разделе Интеграция с виртуальной сетью.
Теперь щёлкните знак плюса рядом с Добавить виртуальную сеть и выберите созданную вами виртуальную сеть и общедоступную подсеть. Нажмите ОК.
Вернитесь на страницу конфигурации приложения и нажмите Настройки -> Конфигурация в левой части страницы. Вы должны увидеть несколько уже настроенных параметров приложения.
Вам нужно будет добавить переменные среды для подключения Glarus BI к её базе данных приложений PostgreSQL (документация Metabase, англ.). Убедитесь, что вы используете полный MB_DB_CONNECTION_URI.
Кроме того, примите во внимание, что имя пользователя в Azure PostgreSQL — user@name_of_your_database_engine
, поэтому в этом случае полный URI подключения будет следующим:
postgresql://databasePrivateIPAddress:port/postgres?user=user@name_of_your_database_engine&password=configuredpassword&ssl=true&sslmode=required
@
в имени пользователя в строке подключения.
Например, если ваши значения:
1) частный IP-адрес базы данных: 10.0.2.4 2) порт базы данных: 5432 (в случае Postgres порт MySQL/MariaDB по умолчанию — 3306) 3) имя сервера базы данных: metabase-app-database 4) имя пользователя базы данных: metabase 5) пароль: Password1!
тогда ваша строка подключения будет:
postgresql://10.0.2.4:5432/postgres?user=metabase@metabase-app-database&password=Password1!&ssl=true&sslmode=require
Нажмите Сохранить, и экземпляр перезапустится.
После завершения вы сможете открыть Glarus BI по URL, указанному на вкладке «Обзор» в веб-приложении (в разделе «URL»).
Дополнительные настройки¶
Как включить проверку работоспособности¶
Включение проверки работоспособности в Glarus BI является хорошей практикой. Перейдите в свое веб-приложение -> Мониторинг -> Проверка работоспособности -> Включить проверку работоспособности и укажите в пути /api/health
.
Как обновиться на новую версию¶
Перейдите в созданное вами веб-приложение Glarus BI и нажмите Настройки -> Настройки контейнера.
В текстовом поле контейнера Glarus BI Docker измените версию контейнера на новую версию. Доступные версии см. в Dockerhub.
Важно: всегда проверяйте, что у вас есть резервная копия вашей базы данных перед обновлением версии, особенно при обновлении между основными версиями. Также помните, что Glarus BI официально не поддерживает понижение версий.
Как посмотреть логи¶
Откройте свое веб-приложение в Azure и перейдите к Мониторинг -> Журнал действий.
У вас так же есть возможность просматривать журналы в Glarus BI, выбрав Настройки -> Администратор -> Устранение неполадок -> Журналы.
Настройка производительности¶
- Отключить состояние FTP
- Изменить версию HTTP на 2.0
- Включить веб-сокеты
- Включить ARR Affinity
Пользовательские домены¶
В веб-приложении Azure перейдите в раздел Настройки -> Пользовательские домены, чтобы использовать личный домен с собственными сертификатами.
Масштабирование¶
Azure предоставляет простой способ увеличить емкость сервера, выполнив масштабирование. Просто выберите ценовую категорию с большим количеством ОЗУ и ЦП и перезапустите экземпляр.
Для развёртывания Glarus BI с учётом высокой доступности вы можете задать настройки масштабирования (увеличив количество серверов для параллельной работы). Для этого перейдите в раздел «Масштабирование» и увеличьте количество серверов, либо же настройте политику автоматического масштабирования (например, используя больше серверов в рабочее время и меньше — в нерабочее).
CORS¶
Если вы внедряете Glarus BI, вам может потребоваться включить CORS в Настройки -> CORS в веб-приложении. Необходимо будет задать домены для приложений, в которые встроенн Glarus BI, чтобы Azure знал, что нужно разрешить перекрестные запросы из этих доменов.
Имя базы данных¶
Azure не позволяет пользователям создавать базу данных при создании службы, поэтому мы использовали postgres
в качестве базы данных Glarus BI. Хотя это не является неправильным, рекомендуется установить отдельную базу данных с именем metabase
. В этом случае вам следует создать пользователя metabase
сразу после инициализации базы данных, а затем использовать соответствующую строку подключения при развёртывании контейнера Docker.
В приведённом выше примере она будет выглядеть следующим образом: