Какво е Metabase
Metabase предоставя интерфейс за запитване на данни във вашия браузър. В допълнение към поддръжката на SQL заявки, Metabase предлага функционалност за анализиране на данни без SQL, създаване на табла за управление и проследяване на показатели. Това ръководство показва как да свържете MySQL към Metabase, след което да разположите на NGINX чрез обратен прокси.
Има редица допълнителни бази данни, които се поддържат от SQLite до PostgreSQL. Визуализирането на резултатите става много лесно чрез интуитивен интерфейс. Това прави Metabase гъвкава за споделяне на данни дори между хора без аналитичен опит.
Инсталиране на метабаза
Среда за изпълнение на Java
Стъпките в този раздел ще инсталират Java 8 JDK на Ubuntu 16.04. За други дистрибуции вижте официалните документи.
-
Инсталирайте
software-properties-common
за лесно добавяне на нови хранилища:sudo apt-get install software-properties-common
-
Добавете Java PPA:
sudo add-apt-repository ppa:webupd8team/java
-
Актуализирайте списъка с източници:
sudo apt-get update
-
Инсталирайте Java JDK 8:
sudo apt-get install oracle-java8-installer
MySQL сървър
-
Изтеглете MySQL сървър. Въведете root парола, когато е посочена:
sudo apt install mysql-server
-
Влезте като root потребител:
mysql -u root -p
-
Създайте база данни и потребител за Metabase:
CREATE DATABASE employees; CREATE USER 'metabase_user' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON employees.* TO 'metabase_user'; GRANT RELOAD ON *.* TO 'metabase_user'; FLUSH PRIVILEGES; quit
Изтегляне на метабаза
-
Изтеглете jar файла от Metabase:
wget http://downloads.metabase.com/v0.28.1/metabase.jar
-
Преместете файла в
/var
така че да може да започне при рестартиране:sudo mv metabase.jar /var/metabase.jar
Обратно прокси с NGINX
-
Инсталирайте NGINX
sudo apt install nginx
-
Създайте нов конфигурационен файл NGINX с настройките по-долу за настройка
server_name
с вашия FDQN или публичен IP адрес:- Файл:/ etc/nginx/conf.d/metabase.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14
server { listen 80; listen [::]:80; server_name _; location / { proxy_pass http://localhost:3000/; proxy_redirect http://localhost:3000/ $scheme://$host/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } }
-
Проверете дали няма проблеми с конфигурацията:
sudo nginx -t
-
Рестартирайте NGINX:
sudo systemctl restart nginx
Изтеглете примерна база данни MySQL
TheEmployees Testing Database е примерна база данни, която може да бъде заредена в MySQL. Базата данни се състои от данни за служители и заплати с над 2,8 милиона записа, този размер я прави полезна за експериментиране по нетривиален начин.
-
Инсталирайте git:
sudo apt install git
-
Клонирайте хранилището, съдържащо тестовата база данни:
git clone https://github.com/datacharmer/test_db.git
-
Навигирайте в клонираното хранилище:
cd test_db
-
Заредете
employees.sql
вmetabase_example
база данни и въведете потребителската парола на базата данни, когато бъдете подканени:mysql -u metabase_user -p employees < employees.sql
Конзолата ще разпечата таблиците, които са заредени, както и общото време за завършване.
Enter password: INFO CREATING DATABASE STRUCTURE INFO storage engine: InnoDB INFO LOADING departments INFO LOADING employees INFO LOADING dept_emp INFO LOADING dept_manager INFO LOADING titles INFO LOADING salaries data_load_time_diff 00:00:52
Променливи на средата
-
Създайте нов текстов файл, съдържащ променливите на средата за Metabase:
- Файл:metabase -env
1 2 3 4 5 6
export MB_DB_TYPE=mysql export MB_DB_DBNAME=employees export MB_DB_PORT=3306 export MB_DB_USER=metabase_user export MB_DB_PASS=password export MB_DB_HOST=localhost
-
Заредете тези променливи на средата:
source metabase-env
Настройте Metabase да стартира при рестартиране
-
Проверете пътя на вашия JDK двоичен файл:
which java
Това трябва да отпечата път като
/usr/bin/java
. -
Създайте конфигурационен файл на systemd, за да гарантирате, че Metabase работи при стартиране.
ExecStart=
трябва да се зададе на пътя на JDK отгоре. Не забравяйте да заменитеUser
с вашето потребителско име в Unix:- Файл:/ etc/systemd/system/metabase.service
[Unit] Description=Metabase server After=syslog.target After=network.target[Service] User=username Type=simple [Service] ExecStart=/usr/bin/java -jar /var/metabase.jar Restart=always StandardOutput=syslog StandardError=syslog SyslogIdentifier=metabase [Install] WantedBy=multi-user.target
-
Приложете промените:
sudo systemctl start metabase
-
Проверете дали Metabase е активна:
sudo systemctl status metabase
Правила за защитната стена
Забележка Услугата freeCloud Firewall на Linode може да се използва за замяна или допълване на вътрешна конфигурация на защитната стена. За повече информация относно облачните защитни стени вижте нашето ръководство Първи стъпки с облачни защитни стени. За помощ при решаване на общи проблеми със защитната стена вижте ръководството за отстраняване на неизправности със защитни стени.
UFW е чудесен за предотвратяване на неоторизиран достъп до вашата база данни. Разумно по подразбиране е да се разреши порт 80/443 и SSH:
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable
Проверете правилата на защитната стена:
sudo ufw status
Метабаза интерфейс
Metabase вече е достъпна в браузъра на публичния IP адрес на вашия Linode.
-
Първият път, когато се опитате да осъществите достъп, ще отнеме известно време, защото базата данни MySQL трябва да мигрира:
-
Създайте акаунт:
-
Въведете информацията за базата данни или пропуснете това, след което добавете информацията по-късно от администраторския панел:
-
От горното вдясно падащо меню изберете Административен панел, след което щракнете върху Модел на данни в горното меню.
-
Отляво изберете заплати, за да видите информация за таблицата, като външни ключове и имена на колони. Кликнете върху Добавяне на сегмент :
-
Създайте филтър, за да видите всички служители със заплата над $50 000 (Metabase ви позволява да създадете този филтър, без да пишете SQL):
-
Вижте резултатите:
Metabase има много повече функционалност, която можете да изследвате. Вижте официалната документация за други случаи на употреба с Metabase.
Повече информация
Може да пожелаете да се консултирате със следните ресурси за допълнителна информация по тази тема. Въпреки че те са предоставени с надеждата, че ще бъдат полезни, моля, имайте предвид, че не можем да гарантираме за точността или навременността на външно хостваните материали.
- Официалният уеб сайт на MySQL
- Метабаза
- База данни за тестване на служители