
Metabase è un’applicazione open source di business intelligence (BI) che consente a utenti tecnici e non tecnici di esplorare, analizzare e visualizzare i dati in modo semplice e intuitivo.
È pensata per aiutare le aziende a prendere decisioni basate sui dati, senza la necessità di scrivere codice complesso o conoscere linguaggi come SQL (anche se supporta anche query SQL avanzate per utenti esperti).
In questo articolo vedremo come installare e configurare Metabase su un server Ubuntu 24.04, partendo da zero.
Che tu voglia usarlo in un ambiente di test o metterlo in produzione, questa guida ti accompagnerà passo dopo passo nelle operazioni essenziali per avere una prima istanza funzionante e pronta all’uso.
Preparati a trasformare i tuoi dati in insight accessibili a tutto il team!
PREREQUISITI
- Un server Ubuntu con un utente non root con privilegi sudo
- Java Development Kit (JDK) installato
- Database PostgreSQL o MySQL (opzionale, ma consigliato per l’uso in produzione)
NOTA BENE
: In questo tutorial non è stato abilitato SELinux
AGGIORNAMENTO DEL SISTEMA
Assicurarsi che il sistema sia aggiornato eseguendo i seguenti comandi:
0 |
sudo apt updatesudo apt upgrade |
INSTALLAZIONE DI JAVA
Metabase richiede Java per l’esecuzione. Installare il pacchetto OpenJDK con il comando:
0 |
sudo apt install openjdk-21-jdk -y |
NOTA BENE: durante la stesura di questo tutorial l0ultima versione disponibile di Java è la 21
Verificare l’installazione con il comando:
0 |
java -version |
Dovremmo visualizzare un output simile al seguente:
0 |
openjdk version "21.0.8" 2025-07-15OpenJDK Runtime Environment (build 21.0.8+9-Ubuntu-0ubuntu124.04.1)OpenJDK 64-Bit Server VM (build 21.0.8+9-Ubuntu-0ubuntu124.04.1, mixed mode, sharing) |
DOWNLOAD E INSTALLAZIONE DI METABASE
Verificare dal sito ufficiale di Metabase l’ultima versione disponibile al link:
Quindi scaricare il file jar dI Metabase con il comando wget:
0 |
wget https://downloads.metabase.com/v0.50.8/metabase.jar |
Spostare il file jar e creare la directory /opt/metabase con i seguenti comandi:
0 |
sudo mkdir /opt/metabasesudo mv metabase.jar /opt/metabase/ |
CREAZIONE DI UN FILE DI SERVIZIO PER METABASE
Per gestire Metabase con systemd, creare un file di servizio con il comando:
0 |
sudo nano /etc/systemd/system/metabase.service |
Aggiungere il seguente contenuto al file:
0 |
[Unit]Description=Metabase serverAfter=syslog.targetAfter=network.target[Service]WorkingDirectory=/opt/metabaseExecStart=/usr/bin/java -jar /opt/metabase/metabase.jarUser=metabaseType=simpleRestart=alwaysStandardOutput=syslogStandardError=syslogSyslogIdentifier=metabase[Install]WantedBy=multi-user.target |
Salvare e chiudere il file.
A questo punto creare un utente dedicato per l’esecuzione del Metabase con i comandi:
0 |
sudo useradd -r -s /bin/false metabasesudo chown -R metabase: /opt/metabase |
AVVIARE ED ABILITARE IL SERVIZIO DI METABASE
Ricaricare systemd per riconoscere il nuovo servizio con il comando:
0 |
sudo systemctl daemon-reload |
Avviare il servizio Metabase con il comando:
0 |
sudo systemctl start metabase |
Abilitare l’avvio del servizio Metabase all’avvio:
0 |
sudo systemctl enable metabase |
Controllare lo stato del servizio per assicurarsi che funzioni correttamente con il comando:
0 |
sudo systemctl status metabase |
Dovremmo visualizzare un output come riportato di seguito:
0 |
● metabase.service - Metabase serverLoaded: loaded (/etc/systemd/system/metabase.service; disabled; preset: enabled)Active: active (running) since Wed 2025-08-06 18:14:36 UTC; 14s agoMain PID: 27834 (java)Tasks: 36 (limit: 9436)Memory: 874.0M (peak: 874.2M)CPU: 26.531sCGroup: /system.slice/metabase.service└─27834 /usr/bin/java -jar /opt/metabase/metabase.jarAug 06 18:14:50 vm-test metabase[27834]: 2025-08-06 18:14:50,359 INFO db.setup :: Setting up Liquibase...Aug 06 18:14:50 vm-test metabase[27834]: 2025-08-06 18:14:50,550 INFO db.liquibase :: Updating liquibase table to reflect consolidat>Aug 06 18:14:50 vm-test metabase[27834]: 2025-08-06 18:14:50,562 INFO db.liquibase :: No migration lock found.Aug 06 18:14:50 vm-test metabase[27834]: 2025-08-06 18:14:50,562 INFO db.liquibase :: Migration lock acquired.Aug 06 18:14:50 vm-test metabase[27834]: 2025-08-06 18:14:50,568 INFO db.setup :: Liquibase is ready.Aug 06 18:14:50 vm-test metabase[27834]: 2025-08-06 18:14:50,570 INFO db.liquibase :: Checking if Database has unrun migrations...Aug 06 18:14:51 vm-test metabase[27834]: 2025-08-06 18:14:51,001 INFO db.liquibase :: Database has unrun migrations. Checking if mig>Aug 06 18:14:51 vm-test metabase[27834]: 2025-08-06 18:14:51,008 INFO db.liquibase :: No migration lock found.Aug 06 18:14:51 vm-test metabase[27834]: 2025-08-06 18:14:51,009 INFO db.liquibase :: Migration lock acquired.Aug 06 18:14:51 vm-test metabase[27834]: 2025-08-06 18:14:51,249 INFO db.liquibase :: Running 334 migrations ... |
CONFIGURAZIONE DEL DATABASE POSTGRESQL
installare PostgreSQL con il seguente comando:
0 |
sudo apt install postgresql postgresql-contrib |
Assicurarsi che il servizio PostgreSQL sia in esecuzione con il comando:
0 |
sudo systemctl status postgresql |
Se è tutto OK dovremmo visualizzare un output simile al seguente:
0 |
● postgresql.service - PostgreSQL RDBMSLoaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: enabled)Active: active (exited) since Wed 2025-08-06 18:47:12 UTC; 17s agoMain PID: 29276 (code=exited, status=0/SUCCESS)CPU: 967usAug 06 18:47:12 vm-test systemd[1]: Starting postgresql.service - PostgreSQL RDBMS...Aug 06 18:47:12 vm-test systemd[1]: Finished postgresql.service - PostgreSQL RDBMS. |
Procedere con la creazione del database e utente in PostgreSQL
Passare all’utente PostgreSQL con il comando:
0 |
sudo -i -u postgres |
Accedere al prompt di PostgreSQL con il comando:
0 |
psql |
Creare un nuovo database per Metabase con il comando:
0 |
CREATE DATABASE metabase; |
Dovremmo visualizzare il seguente output:
0 |
CREATE DATABASE |
Creare un nuovo utente per Metabase con una password sicura con il comando:
0 |
CREATE USER metabaseuser WITH ENCRYPTED PASSWORD 'PASSWORD'; |
Dovremmo visualizzare il seguente output:
0 |
CREATE ROLE |
Concedere all’utente l’accesso al database del metabase con il comando:
0 |
GRANT ALL PRIVILEGES ON DATABASE metabase TO metabaseuser; |
Dovremmo visualizzare il seguente output:
0 |
GRANT |
Uscire dal prompt di PostgreSQL con il comando:
0 |
\\q |
Uscire dalla shell utente di PostgreSQL con il comando:
0 |
exit |
ACCESSO ALLA WEB GUI DI METABASE
Per impostazione predefinita metabase viene eseguito sulla porta 3000.
Apri un qualsiasi broser e richiamare il seguente link:
http://IP-O-FDQN-SERVER:3000
Se è andato tutto a buon fine dovremmo visualizzare una schermata come mostrato nell’immagine sovrastante.
Cliccare sul pulsante Let’s Get Started
Selezionare la lingua quindi cliccare Successivo
Inserire i seguenti dati:
- Nome
- Cognome
- Nome Azienda
- Password
Quindi cliccare Successivo
Rispondere alla domanda per cosa si intende utilizzare Metabase quindi cliccare Successivo
Selezionare il Database PostgreSQL
Inserire tutte le info richieste riaguardo il database creato in precedenza quindi cliccare Collega il database
Scegliere se consentire a Metabase di raccogliere dati anonimi sugli eventi quindi cliccare Finish
Cliccare su Portami su Metabase
Dovremmo visualizzare la Dashboard di esempio come mostrato nell’immagine sovrastante
Al termine dell’installazione richiamando il link http://IP-O-FDQN-SERVER:3000 dovremmo visualizzare la schermata di login come mostrato nell’immagine sovrastante
🔍 Cosa fa Metabase
- Collega i database aziendali (MySQL, PostgreSQL, MongoDB, SQL Server, ecc.)
- Permette di creare dashboard e report interattivi
- Supporta filtri dinamici, tabelle pivot, mappe e altri tipi di grafici
- Consente la condivisione di report via link o email
- Offre una modalità “senza codice” per analizzare i dati anche a chi non ha competenze tecniche
- Supporta la scrittura diretta di query SQL per analisi più avanzate
🧑💼 Chi lo usa
- Analisti per costruire report personalizzati
- Manager per avere una visione dei KPI aziendali
- Team di prodotto e marketing per capire il comportamento degli utenti
- Team tecnici per debug e monitoraggio delle performance
⚙️ Caratteristiche principali
- Interfaccia visuale: Permette di creare domande (“questions”) e visualizzazioni senza scrivere codice
- Dashboard: Dashboard personalizzabili con visualizzazioni interattive
- Alert & Notifiche: Invio automatico di report via email o Slack
- Controlli di accesso: Gestione dei permessi per utenti e gruppi
- Embedded Analytics: Integrazione di dashboard Metabase in applicazioni web esterne
- Open Source/Cloud: Può essere auto-ospitato o usato in cloud con piani a pagamento
✅ Vantaggi
- Facile da usare
- Gratuito (open source)
- Installazione semplice
- Adatto anche a piccole aziende
⚠️ Limitazioni
- Meno avanzato rispetto a strumenti enterprise come Tableau o Power BI
- Alcune funzionalità (es. auditing, Single Sign-On avanzato) sono disponibili solo nei piani a pagamento
🖥️ Esempi d’uso
- Monitoraggio delle vendite settimanali
- Analisi del funnel di conversione di un sito web
- Report delle prestazioni dei dipendenti
- Visualizzazione di metriche di utilizzo di un’app
0 commenti