Co to jest metabaza
Metabase zapewnia interfejs do wysyłania zapytań o dane w Twojej przeglądarce. Oprócz obsługi zapytań SQL, Metabase oferuje funkcje analizy danych bez SQL, tworzenia pulpitów nawigacyjnych i śledzenia metryk. Ten przewodnik pokazuje, jak połączyć MySQL z Metabase, a następnie wdrożyć na NGINX przez odwrotny serwer proxy.
Istnieje wiele dodatkowych baz danych, które są obsługiwane od SQLite do PostgreSQL. Wizualizacja wyników staje się bardzo prosta dzięki intuicyjnemu interfejsowi. To sprawia, że Metabase jest wszechstronna do udostępniania danych nawet osobom bez zaplecza analitycznego.
Zainstaluj metabazę
Środowisko wykonawcze Java
Czynności opisane w tej sekcji zainstalują Java 8 JDK w systemie Ubuntu 16.04. W przypadku innych dystrybucji zapoznaj się z oficjalnymi dokumentami.
-
Zainstaluj
software-properties-common
aby łatwo dodawać nowe repozytoria:sudo apt-get install software-properties-common
-
Dodaj Java PPA:
sudo add-apt-repository ppa:webupd8team/java
-
Zaktualizuj listę źródeł:
sudo apt-get update
-
Zainstaluj Java JDK 8:
sudo apt-get install oracle-java8-installer
Serwer MySQL
-
Pobierz serwer MySQL. Wprowadź hasło roota, jeśli zostało określone:
sudo apt install mysql-server
-
Zaloguj się jako użytkownik root:
mysql -u root -p
-
Utwórz bazę danych i użytkownika dla 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
Pobierz metabazę
-
Pobierz plik jar z Metabase:
wget http://downloads.metabase.com/v0.28.1/metabase.jar
-
Przenieś plik do
/var
aby mógł się uruchomić po ponownym uruchomieniu:sudo mv metabase.jar /var/metabase.jar
Odwróć serwer proxy z NGINX
-
Zainstaluj NGINX
sudo apt install nginx
-
Utwórz nowy plik konfiguracyjny NGINX z poniższymi ustawieniami, ustawiając
server_name
z Twoim FDQN lub publicznym adresem IP:- Plik:/ 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"; } }
-
Sprawdź, czy nie ma problemów z konfiguracją:
sudo nginx -t
-
Uruchom ponownie NGINX:
sudo systemctl restart nginx
Pobierz przykładową bazę danych MySQL
Baza danych testowania pracowników to przykładowa baza danych, którą można załadować do MySQL. Baza danych składa się z danych o pracownikach i wynagrodzeniach z ponad 2,8 milionami wpisów, ten rozmiar sprawia, że jest przydatna do eksperymentowania w nietrywialny sposób.
-
Zainstaluj git:
sudo apt install git
-
Sklonuj repozytorium zawierające testową bazę danych:
git clone https://github.com/datacharmer/test_db.git
-
Przejdź do sklonowanego repozytorium:
cd test_db
-
Załaduj
employees.sql
dometabase_example
bazy danych i wprowadź hasło użytkownika bazy danych, gdy zostaniesz o to poproszony:mysql -u metabase_user -p employees < employees.sql
Konsola wydrukuje załadowane tabele, a także całkowity czas do ukończenia.
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
Zmienne środowiskowe
-
Utwórz nowy plik tekstowy zawierający zmienne środowiskowe dla Metabazy:
- Plik:metabaza -śr
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
-
Załaduj te zmienne środowiskowe:
source metabase-env
Ustaw metabazę na uruchamianie przy ponownym uruchomieniu
-
Sprawdź ścieżkę swojego pliku binarnego JDK:
which java
Powinno to wyświetlić ścieżkę, taką jak
/usr/bin/java
. -
Utwórz plik konfiguracyjny systemd, aby upewnić się, że Metabase działa podczas uruchamiania.
ExecStart=
należy ustawić na ścieżkę JDK z góry. Pamiętaj, aby zastąpićUser
z twoją nazwą użytkownika uniksowego:- Plik:/ 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
-
Zastosuj zmiany:
sudo systemctl start metabase
-
Sprawdź, czy Metabaza jest aktywna:
sudo systemctl status metabase
Zasady zapory
Uwaga Usługa FreeCloud Firewall firmy Linode może zostać wykorzystana do zastąpienia lub uzupełnienia konfiguracji wewnętrznej zapory ogniowej. Więcej informacji na temat zapór w chmurze znajdziesz w naszym przewodniku Wprowadzenie do zapór w chmurze. Aby uzyskać pomoc w rozwiązywaniu ogólnych problemów z zaporami, zapoznaj się z przewodnikiem Rozwiązywanie problemów z zaporami.
UFW doskonale nadaje się do zapobiegania nieautoryzowanemu dostępowi do Twojej bazy danych. Rozsądnym ustawieniem domyślnym jest zezwolenie na port 80/443 i SSH:
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable
Sprawdź reguły zapory sieciowej:
sudo ufw status
Interfejs metabazy
Metabaza jest teraz dostępna w przeglądarce na publicznym adresie IP Linode.
-
Pierwsza próba uzyskania dostępu zajmie trochę czasu, ponieważ baza danych MySQL wymaga migracji:
-
Utwórz konto:
-
Wprowadź informacje o bazie danych lub pomiń je, a następnie dodaj je później z panelu administracyjnego:
-
Z menu rozwijanego w prawym górnym rogu wybierz Panel administracyjny, a następnie kliknij Model danych w górnym menu.
-
Po lewej stronie wybierz pensje, aby wyświetlić informacje o tabeli, takie jak klucze obce i nazwy kolumn. Kliknij Dodaj segment :
-
Utwórz filtr, aby wyświetlić wszystkich pracowników z pensją większą niż 50 000 USD (Metabaza umożliwia utworzenie tego filtra bez pisania SQL):
-
Zobacz wyniki:
Metabaza ma znacznie więcej funkcji, które możesz odkrywać. Zapoznaj się z oficjalną dokumentacją dotyczącą innych przypadków użycia z Metabase.
Więcej informacji
Dodatkowe informacje na ten temat można znaleźć w poniższych zasobach. Chociaż są one dostarczane w nadziei, że będą przydatne, należy pamiętać, że nie możemy ręczyć za dokładność ani aktualność materiałów hostowanych zewnętrznie.
- Oficjalna witryna internetowa MySQL
- Metabaza
- Baza danych pracowników testujących