Vad är Metabase
Metabase tillhandahåller ett gränssnitt för att söka efter data i din webbläsare. Förutom att stödja SQL-förfrågningar erbjuder Metabase funktionalitet för att analysera data utan SQL, skapa instrumentpaneler och spåra mätvärden. Den här guiden visar hur du ansluter MySQL till Metabase och sedan distribuerar på NGINX genom en omvänd proxy.
Det finns ett antal ytterligare databaser som stöds från SQLite till PostgreSQL. Att visualisera resultat blir mycket enkelt genom ett intuitivt gränssnitt. Detta gör Metabase mångsidig för att dela data även bland de utan analytisk bakgrund.
Installera Metabase
Java Runtime Environment
Stegen i det här avsnittet kommer att installera Java 8 JDK på Ubuntu 16.04. För andra distributioner, se de officiella dokumenten.
-
Installera
software-properties-common
för att enkelt lägga till nya förråd:sudo apt-get install software-properties-common
-
Lägg till Java PPA:
sudo add-apt-repository ppa:webupd8team/java
-
Uppdatera källlistan:
sudo apt-get update
-
Installera Java JDK 8:
sudo apt-get install oracle-java8-installer
MySQL-server
-
Ladda ner MySQL Server. Ange ett root-lösenord när det anges:
sudo apt install mysql-server
-
Logga in som root-användare:
mysql -u root -p
-
Skapa en databas och användare 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
Ladda ned Metabase
-
Ladda ner jar-filen från Metabase:
wget http://downloads.metabase.com/v0.28.1/metabase.jar
-
Flytta filen till
/var
så att den kan starta vid omstart:sudo mv metabase.jar /var/metabase.jar
Omvänd proxy med NGINX
-
Installera NGINX
sudo apt install nginx
-
Skapa en ny NGINX-konfigurationsfil med inställningarna nedan inställningen
server_name
med din FDQN eller offentliga IP-adress:- Fil:/ 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"; } }
-
Kontrollera att det inte finns några problem med konfigurationen:
sudo nginx -t
-
Starta om NGINX:
sudo systemctl restart nginx
Ladda ner exempel på MySQL-databas
TheEmployees Testing Database är en exempeldatabas som kan laddas in i MySQL. Databasen består av personal- och lönedata med över 2,8 miljoner poster, denna storlek gör den användbar för att experimentera på ett icke-trivialt sätt.
-
Installera git:
sudo apt install git
-
Klona arkivet som innehåller testdatabasen:
git clone https://github.com/datacharmer/test_db.git
-
Navigera in i det klonade förvaret:
cd test_db
-
Ladda
employees.sql
imetabase_example
databas och ange databasens användarlösenord när du uppmanas:mysql -u metabase_user -p employees < employees.sql
Konsolen kommer att skriva ut tabellerna som är laddade samt total tid att slutföra.
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
Miljövariabler
-
Skapa en ny textfil som innehåller miljövariablerna för Metabase:
- Fil:metabas -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
-
Ladda dessa miljövariabler:
source metabase-env
Ställ in Metabase att starta vid omstart
-
Kontrollera sökvägen till din JDK-binär:
which java
Detta bör skriva ut en sökväg som
/usr/bin/java
. -
Skapa en systemkonfigurationsfil för att säkerställa att Metabase körs vid uppstart.
ExecStart=
bör ställas in på JDK-sökvägen ovanifrån. Se till att ersättaUser
med ditt Unix-användarnamn:- Fil:/ 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
-
Tillämpa ändringarna:
sudo systemctl start metabase
-
Kontrollera att Metabase är aktiv:
sudo systemctl status metabase
Brandväggsregler
Obs Linodes freeCloud Firewall-tjänst kan användas för att ersätta eller komplettera den interna brandväggskonfigurationen. För mer information om Cloud Firewalls, se vår Komma igång med Cloud Firewalls-guiden. För hjälp med att lösa allmänna brandväggsproblem, se guiden Felsökning av brandväggar.
UFW är bra för att förhindra obehörig åtkomst till din databas. En rimlig standard är att tillåta port 80/443 och SSH:
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable
Kontrollera brandväggsreglerna:
sudo ufw status
Metabasgränssnitt
Metabasen är nu tillgänglig i webbläsaren på din Linodes offentliga IP-adress.
-
Första gången du försöker komma åt kommer det att ta lite tid eftersom MySQL-databasen behöver migrera:
-
Skapa ett konto:
-
Ange databasinformationen eller hoppa över detta och lägg sedan till informationen senare från adminpanelen:
-
Från den övre högra rullgardinsmenyn, välj Admin Panel och klicka sedan på Data Model på toppmenyn.
-
Till vänster väljer du löner för att se information om tabellen, såsom främmande nycklar och kolumnnamn. Klicka på Lägg till ett segment :
-
Skapa ett filter för att se alla anställda med en lön över 50 000 USD (Metabase låter dig skapa detta filter utan att skriva SQL):
-
Se resultaten:
Metabase har mycket mer funktionalitet du kan utforska. Se den officiella dokumentationen för andra användningsfall med Metabase.
Mer information
Du kanske vill konsultera följande resurser för ytterligare information om detta ämne. Även om dessa tillhandahålls i hopp om att de kommer att vara användbara, vänligen observera att vi inte kan garantera noggrannheten eller aktualiteten hos externt värdmaterial.
- Den officiella MySQL-webbplatsen
- Metabas
- Anställda som testar databas