Cos'è Metabase
Metabase fornisce un'interfaccia per interrogare i dati sul tuo browser. Oltre a supportare le query SQL, Metabase offre funzionalità per analizzare i dati senza SQL, creare dashboard e tenere traccia delle metriche. Questa guida mostra come connettere MySQL a Metabase e quindi distribuirlo su NGINX tramite un proxy inverso.
Esistono numerosi database aggiuntivi supportati da SQLite a PostgreSQL. La visualizzazione dei risultati diventa molto semplice attraverso un'interfaccia intuitiva. Ciò rende Metabase versatile per la condivisione di dati anche tra coloro che non hanno un background analitico.
Installa metabase
Ambiente Java Runtime
I passaggi in questa sezione installeranno Java 8 JDK su Ubuntu 16.04. Per altre distribuzioni, consulta la documentazione ufficiale.
-
Installa
software-properties-common
per aggiungere facilmente nuovi repository:sudo apt-get install software-properties-common
-
Aggiungi il PPA Java:
sudo add-apt-repository ppa:webupd8team/java
-
Aggiorna l'elenco delle fonti:
sudo apt-get update
-
Installa Java JDK 8:
sudo apt-get install oracle-java8-installer
MySQL Server
-
Scarica il server MySQL. Immettere una password di root quando specificata:
sudo apt install mysql-server
-
Accedi come utente root:
mysql -u root -p
-
Crea un database e un utente per 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
Scarica metabase
-
Scarica il file jar da Metabase:
wget http://downloads.metabase.com/v0.28.1/metabase.jar
-
Sposta il file in
/var
in modo che possa iniziare al riavvio:sudo mv metabase.jar /var/metabase.jar
Proxy inverso con NGINX
-
Installa NGINX
sudo apt install nginx
-
Crea un nuovo file di configurazione NGINX con le impostazioni seguenti impostando
server_name
con il tuo FDQN o indirizzo IP pubblico:- File:/ 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"; } }
-
Verifica che non ci siano problemi con la configurazione:
sudo nginx -t
-
Riavvia NGINX:
sudo systemctl restart nginx
Scarica un esempio di database MySQL
TheEmployees Testing Database è un database di esempio che può essere caricato in MySQL. Il database è composto da dati dipendenti e salariali con oltre 2,8 milioni di voci, questa dimensione lo rende utile per sperimentare in modo non banale.
-
Installa git:
sudo apt install git
-
Clona il repository contenente il database di test:
git clone https://github.com/datacharmer/test_db.git
-
Accedi al repository clonato:
cd test_db
-
Carica
employees.sql
nelmetabase_example
database e inserire la password utente del database quando richiesto:mysql -u metabase_user -p employees < employees.sql
La console stamperà le tabelle caricate e il tempo totale per il completamento.
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
Variabili d'ambiente
-
Crea un nuovo file di testo contenente le variabili d'ambiente per Metabase:
- File: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
-
Carica queste variabili di ambiente:
source metabase-env
Imposta Metabase per l'avvio al riavvio
-
Controlla il percorso del tuo binario JDK:
which java
Questo dovrebbe stampare un percorso come
/usr/bin/java
. -
Creare un file di configurazione systemd per garantire che Metabase venga eseguito all'avvio.
ExecStart=
dovrebbe essere impostato sul percorso JDK dall'alto. Assicurati di sostituireUser
con il tuo nome utente Unix:- File:/ 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
-
Applicare le modifiche:
sudo systemctl start metabase
-
Verifica che Metabase sia attiva:
sudo systemctl status metabase
Regole firewall
Nota Il servizio freeCloud Firewall di Linode può essere utilizzato per sostituire o integrare la configurazione del firewall interno. Per ulteriori informazioni su Cloud Firewall, consulta la nostra Guida introduttiva a Cloud Firewall. Per assistenza nella risoluzione dei problemi generali del firewall, consulta la guida alla risoluzione dei problemi dei firewall.
UFW è ottimo per prevenire l'accesso non autorizzato al tuo database. Un valore predefinito ragionevole è consentire la porta 80/443 e SSH:
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable
Controlla le regole del firewall:
sudo ufw status
Interfaccia metabase
Metabase è ora accessibile sul browser tramite l'indirizzo IP pubblico di Linode.
-
La prima volta che tenti di accedere, ci vorrà del tempo perché il database MySQL deve migrare:
-
Crea un account:
-
Inserisci le informazioni sul database o salta questo, quindi aggiungi le informazioni in un secondo momento dal Pannello di amministrazione:
-
Dal menu a discesa in alto a destra, seleziona Pannello di amministrazione, quindi fai clic su Modello dati nel menu in alto.
-
A sinistra, seleziona stipendi per visualizzare le informazioni sulla tabella, come chiavi esterne e nomi di colonne. Fai clic su Aggiungi un segmento :
-
Crea un filtro per visualizzare tutti i dipendenti con uno stipendio superiore a $ 50.000 (Metabase ti consente di creare questo filtro senza scrivere SQL):
-
Guarda i risultati:
Metabase ha molte più funzionalità che puoi esplorare. Fare riferimento alla documentazione ufficiale per altri casi d'uso con Metabase.
Maggiori informazioni
Si consiglia di consultare le seguenti risorse per ulteriori informazioni su questo argomento. Sebbene questi siano forniti nella speranza che possano essere utili, tieni presente che non possiamo garantire l'accuratezza o la tempestività dei materiali ospitati esternamente.
- Il sito Web ufficiale di MySQL
- Metabase
- Database di test dei dipendenti