Metabase — это инструмент визуализации данных с открытым исходным кодом, который вводит концепцию вопросов, чтобы люди, не обладающие техническими знаниями, могли легко создавать и делиться пользовательскими информационными панелями данных. Metabase также позволяет пользователям подключаться к любому источнику данных через простой интерфейс перетаскивания и визуализировать данные с помощью интуитивно понятных диаграмм и графиков. Metabase также предоставляет богатые функции анализа, такие как агрегирование, фильтрация и группировка, что позволяет отображать данные более эффективно и удобно, позволяя пользователям лучше понимать данные.
Мы можем запрашивать и визуализировать подключенные источники данных следующими способами.
Когда мы решаем создать вопрос, после выбора источника данных мы можем визуализировать данные, перетаскивая их на страницу.
Когда нам нужно выполнить сложные логические запросы, конфигурация анализа, предоставленная на странице, может не соответствовать потребностям. В этом случае мы можем выполнить анализ, написав сложную логику SQL.
После создания задач анализа мы можем настроить эти задачи анализа на визуальной панели мониторинга.
Здесь мы используем контейнерное развертывание при развертывании Metabase. Контейнерное развертывание можно использовать сразу после установки, оно имеет гибкое развертывание и упрощенные сервисы. Metabase поставляется с собственной базой данных H2, поэтому мы можем напрямую получить доступ к Metabase после развертывания. Адрес доступа — localhost:3000. На этом этапе, когда мы инициализируем и настраиваем службу Metabase, данные сохраняются во встроенной базе данных H2.
Однако по некоторым причинам контейнер всегда будет перезапускаться. В это время информация о конфигурации и информация отчета BI, которые мы сохранили в базе данных H2, будут потеряны. В это время, когда мы снова обращаемся к Метабазе, нам необходимо повторно инициализировать службу, а также необходимо перенастроить ранее настроенную панель мониторинга, отчет и другие данные.
причина:Место для хранения контейнера независимое,Он отделен от места хранения хоста. когда контейнер перезапускается,Место хранения контейнера будет очищено,Данные, ранее хранившиеся в контейнере, будут потеряны.。 На данный момент нам нужно настроить том контейнера для контейнера и сохранить данные.
utf8mb4_unicode_ci
Правила сортировки,utf8mb4
набор символов иinnodb_large_prefix=ON
;utf8mb4_unicode_ci
Правила сортировки、utf8mb4
набор символов иinnodb_large_prefix=ON
;Здесь мы выбираем базу данных MYSQL в качестве производственной базы данных метабазы.
Инструкции по настройке параметров базы данных:
1. Создайте базу данных с именем метабаза в MYSQL.
create database metabase;
ALTER DATABASE metabase CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
2. Найдите номер процесса метабазы и завершите его.
ps -aux|grep metabase
kill -9 PID
3. В контейнере метабазы найдите каталог установки метабазы. Найдите файлы данных, входящие в состав базы данных метабазы H2, и согласуйте их для резервного копирования.
cp metabase.db.mv.db metabase.db
4. Укажите пакет jar метабазы для запуска из базы данных MYSQL, импортируйте данные из базы данных H2 и импортируйте данные H2 в MYSQL.
java -DMB_DB_TYPE=mysql -DMB_DB_CONNECTION_URI="jdbc:mysql://IP:3306/metabase?user=xxxx&password=xxxxx" -jar /opt/metabase/metabase.jar load-from-h2 metabase.db
После запуска мы можем увидеть соответствующую информацию таблицы метаданных метабазы в базе данных MYSQL.
5. После инициализации базы данных метабазы в MYSQL. В файле docker измените команду запуска, чтобы запустить метабазу, и укажите чтение базы данных MYSQL при запуске метабазы.
На данный момент нам не нужно добавлять команду запускаload-from-h2 metabase.db
。Потому что в это времяmetabaseМетаданные для уже естьMYSQLИнициализация завершена。
java -DMB_DB_TYPE=mysql -DMB_DB_CONNECTION_URI="jdbc:mysql://IP:3306/metabase?user=xxxx&password=xxxx" -jar /opt/metabase/metabase.jar
6. Удалите исходный контейнер и запустите службу метабазы через вновь созданный образ. После запуска мы вручную перезапустили контейнер для проверки и обнаружили, что потери данных больше нет.
После запуска службы доступ к метабазе осуществляется по IP:3000. Непосредственное раскрытие IP-адресов и портов в среде общедоступной сети может привести к угрозе безопасности. Мы можем настроить Ingress для проксирования адреса серверной службы метабазы через имя домена. Благодаря доступу к доменному имени мы также можем выполнить проверку безопасности на уровне маршрутизации. Улучшите безопасность доступа.