Was ist Metabase
Metabase bietet eine Schnittstelle zum Abfragen von Daten in Ihrem Browser. Neben der Unterstützung von SQL-Abfragen bietet Metabase Funktionen zum Analysieren von Daten ohne SQL, zum Erstellen von Dashboards und zum Verfolgen von Metriken. Diese Anleitung zeigt, wie Sie MySQL mit Metabase verbinden und dann über einen Reverse-Proxy auf NGINX bereitstellen.
Es gibt eine Reihe zusätzlicher Datenbanken, die von SQLite bis PostgreSQL unterstützt werden. Die Visualisierung der Ergebnisse wird durch eine intuitive Benutzeroberfläche sehr einfach. Dies macht Metabase vielseitig für den Datenaustausch auch mit Personen ohne analytischen Hintergrund.
Metabase installieren
Java-Laufzeitumgebung
Die Schritte in diesem Abschnitt installieren das Java 8 JDK auf Ubuntu 16.04. Informationen zu anderen Distributionen finden Sie in den offiziellen Dokumenten.
-
Installieren Sie
software-properties-common
um einfach neue Repositories hinzuzufügen:sudo apt-get install software-properties-common
-
Fügen Sie das Java-PPA hinzu:
sudo add-apt-repository ppa:webupd8team/java
-
Aktualisieren Sie die Quellenliste:
sudo apt-get update
-
Installieren Sie das Java JDK 8:
sudo apt-get install oracle-java8-installer
MySQL-Server
-
Laden Sie MySQL-Server herunter. Geben Sie ein Root-Passwort ein, wenn angegeben:
sudo apt install mysql-server
-
Melden Sie sich als Root-Benutzer an:
mysql -u root -p
-
Erstellen Sie eine Datenbank und einen Benutzer für 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
Metabasis herunterladen
-
Laden Sie die JAR-Datei von Metabase herunter:
wget http://downloads.metabase.com/v0.28.1/metabase.jar
-
Verschieben Sie die Datei nach
/var
damit es beim Neustart starten kann:sudo mv metabase.jar /var/metabase.jar
Reverse-Proxy mit NGINX
-
Installieren Sie NGINX
sudo apt install nginx
-
Erstellen Sie eine neue NGINX-Konfigurationsdatei mit den folgenden Einstellungen:
server_name
mit Ihrem FDQN oder Ihrer öffentlichen IP-Adresse:- Datei:/ 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"; } }
-
Stellen Sie sicher, dass es keine Probleme mit der Konfiguration gibt:
sudo nginx -t
-
Starten Sie NGINX neu:
sudo systemctl restart nginx
Beispiel-MySQL-Datenbank herunterladen
TheEmployees Testing Database ist eine Beispieldatenbank, die in MySQL geladen werden kann. Die Datenbank besteht aus Mitarbeiter- und Gehaltsdaten mit über 2,8 Millionen Einträgen, diese Größe macht sie zum Experimentieren auf nicht triviale Weise nützlich.
-
Git installieren:
sudo apt install git
-
Klonen Sie das Repository, das die Testdatenbank enthält:
git clone https://github.com/datacharmer/test_db.git
-
Navigieren Sie in das geklonte Repository:
cd test_db
-
Laden Sie
employees.sql
in dasmetabase_example
Datenbank und geben Sie das Passwort des Datenbankbenutzers ein, wenn Sie dazu aufgefordert werden:mysql -u metabase_user -p employees < employees.sql
Die Konsole druckt die geladenen Tabellen sowie die Gesamtzeit bis zum Abschluss aus.
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
Umgebungsvariablen
-
Erstellen Sie eine neue Textdatei mit den Umgebungsvariablen für Metabase:
- Datei:Metabasis -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
-
Laden Sie diese Umgebungsvariablen:
source metabase-env
Stellen Sie Metabase auf Start bei Neustart ein
-
Überprüfen Sie den Pfad Ihrer JDK-Binärdatei:
which java
Dies sollte einen Pfad wie
/usr/bin/java
ausgeben . -
Erstellen Sie eine systemd-Konfigurationsdatei, um sicherzustellen, dass Metabase beim Start ausgeführt wird.
ExecStart=
sollte auf den JDK-Pfad von oben gesetzt werden. Achten Sie darauf,User
zu ersetzen mit Ihrem Unix-Benutzernamen:- Datei:/ 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
-
Wenden Sie die Änderungen an:
sudo systemctl start metabase
-
Überprüfen Sie, ob Metabase aktiv ist:
sudo systemctl status metabase
Firewallregeln
Hinweis Der freeCloud Firewall-Dienst von Linode kann verwendet werden, um die interne Firewall-Konfiguration zu ersetzen oder zu ergänzen. Weitere Informationen zu Cloud Firewalls finden Sie in unserem Leitfaden Erste Schritte mit Cloud Firewalls. Hilfe zur Lösung allgemeiner Firewall-Probleme finden Sie im Leitfaden zur Fehlerbehebung bei Firewalls.
UFW eignet sich hervorragend, um unbefugten Zugriff auf Ihre Datenbank zu verhindern. Eine vernünftige Standardeinstellung ist, Port 80/443 und SSH zuzulassen:
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable
Überprüfen Sie die Firewall-Regeln:
sudo ufw status
Metabase-Schnittstelle
Metabase ist jetzt im Browser unter der öffentlichen IP-Adresse Ihres Linode zugänglich.
-
Wenn Sie zum ersten Mal versuchen, darauf zuzugreifen, wird es einige Zeit dauern, da die MySQL-Datenbank migriert werden muss:
-
Erstellen Sie ein Konto:
-
Geben Sie die Datenbankinformationen ein oder überspringen Sie diese und fügen Sie die Informationen später über das Admin-Panel hinzu:
-
Wählen Sie im Drop-down-Menü oben rechts die Option Admin Panel und klicken Sie dann im oberen Menü auf Data Model.
-
Wählen Sie links Gehälter aus, um Informationen zur Tabelle anzuzeigen, z. B. Fremdschlüssel und Spaltennamen. Klicken Sie auf Segment hinzufügen :
-
Erstellen Sie einen Filter, um alle Mitarbeiter mit einem Gehalt von mehr als 50.000 $ anzuzeigen (Metabase ermöglicht Ihnen, diesen Filter zu erstellen, ohne SQL schreiben zu müssen):
-
Sehen Sie sich die Ergebnisse an:
Metabase hat viel mehr Funktionalität, die Sie erkunden können. Weitere Anwendungsfälle mit Metabase finden Sie in der offiziellen Dokumentation.
Weitere Informationen
Weitere Informationen zu diesem Thema finden Sie in den folgenden Ressourcen. Obwohl diese in der Hoffnung bereitgestellt werden, dass sie nützlich sind, beachten Sie bitte, dass wir nicht für die Genauigkeit oder Aktualität extern gehosteter Materialien garantieren können.
- Die offizielle MySQL-Website
- Metabasis
- Testdatenbank für Mitarbeiter