Qué es Metabase
Metabase proporciona una interfaz para consultar datos en su navegador. Además de admitir consultas SQL, Metabase ofrece funcionalidad para analizar datos sin SQL, crear paneles y realizar un seguimiento de las métricas. Esta guía muestra cómo conectar MySQL a Metabase y luego implementar en NGINX a través de un proxy inverso.
Hay una serie de bases de datos adicionales que son compatibles desde SQLite hasta PostgreSQL. La visualización de resultados se vuelve muy simple a través de una interfaz intuitiva. Esto hace que Metabase sea versátil para compartir datos incluso entre quienes no tienen experiencia analítica.
Instalar Metabase
Entorno de tiempo de ejecución de Java
Los pasos de esta sección instalarán Java 8 JDK en Ubuntu 16.04. Para otras distribuciones, consulte los documentos oficiales.
-
Instalar
software-properties-common
para agregar fácilmente nuevos repositorios:sudo apt-get install software-properties-common
-
Agregue el PPA de Java:
sudo add-apt-repository ppa:webupd8team/java
-
Actualice la lista de fuentes:
sudo apt-get update
-
Instale Java JDK 8:
sudo apt-get install oracle-java8-installer
Servidor MySQL
-
Descargar servidor MySQL. Introduzca una contraseña de root cuando se especifique:
sudo apt install mysql-server
-
Inicie sesión como usuario root:
mysql -u root -p
-
Cree una base de datos y un usuario para 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
Descargar Metabase
-
Descargue el archivo jar de Metabase:
wget http://downloads.metabase.com/v0.28.1/metabase.jar
-
Mueve el archivo a
/var
para que pueda comenzar al reiniciar:sudo mv metabase.jar /var/metabase.jar
Proxy inverso con NGINX
-
Instalar NGINX
sudo apt install nginx
-
Cree un nuevo archivo de configuración NGINX con la configuración a continuación configurando
server_name
con tu FDQN o dirección IP pública:- Archivo:/ etc/nginx/conf.d/mebase.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"; } }
-
Verifique que no haya problemas con la configuración:
sudo nginx -t
-
Reiniciar NGINX:
sudo systemctl restart nginx
Descargar ejemplo de base de datos MySQL
La base de datos de pruebas de empleados es una base de datos de ejemplo que se puede cargar en MySQL. La base de datos consta de datos de empleados y salarios con más de 2,8 millones de entradas, este tamaño lo hace útil para experimentar de una manera no trivial.
-
Instalar git:
sudo apt install git
-
Clona el repositorio que contiene la base de datos de prueba:
git clone https://github.com/datacharmer/test_db.git
-
Navega al repositorio clonado:
cd test_db
-
Cargue
employees.sql
en elmetabase_example
base de datos e ingrese la contraseña de usuario de la base de datos cuando se le solicite:mysql -u metabase_user -p employees < employees.sql
La consola imprimirá las tablas que se cargaron, así como el tiempo total para completar.
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
Variables de entorno
-
Cree un nuevo archivo de texto que contenga las variables de entorno para Metabase:
- Archivo: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
-
Cargue estas variables de entorno:
source metabase-env
Establecer metabase para iniciar en el reinicio
-
Compruebe la ruta de su binario JDK:
which java
Esto debería imprimir una ruta como
/usr/bin/java
. -
Cree un archivo de configuración systemd para garantizar que Metabase se ejecute al inicio.
ExecStart=
debe establecer la ruta JDK desde arriba. Asegúrese de reemplazarUser
con tu nombre de usuario Unix:- Archivo:/ etc/systemd/system/mebase.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
-
Aplicar los cambios:
sudo systemctl start metabase
-
Compruebe que Metabase está activo:
sudo systemctl status metabase
Reglas de cortafuegos
Nota El servicio FreeCloud Firewall de Linode se puede utilizar para reemplazar o complementar la configuración del firewall interno. Para obtener más información sobre Cloud Firewalls, consulte nuestra guía Primeros pasos con Cloud Firewalls. Para obtener ayuda con la resolución de problemas generales de cortafuegos, consulte la guía de solución de problemas de cortafuegos.
UFW es excelente para evitar el acceso no autorizado a su base de datos. Un valor predeterminado razonable es permitir el puerto 80/443 y SSH:
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable
Compruebe las reglas del cortafuegos:
sudo ufw status
Interfaz de la metabase
Ahora se puede acceder a Metabase en el navegador en la dirección IP pública de su Linode.
-
La primera vez que intente acceder, llevará algún tiempo porque la base de datos MySQL necesita migrar:
-
Crear una cuenta:
-
Ingrese la información de la base de datos u omita esto y luego agregue la información más tarde desde el Panel de administración:
-
En el menú desplegable superior derecho, seleccione Panel de administración y luego haga clic en Modelo de datos en el menú superior.
-
A la izquierda, seleccione salarios para ver información sobre la tabla, como claves externas y nombres de columnas. Haga clic en Agregar un segmento :
-
Cree un filtro para ver todos los empleados con un salario mayor a $50,000 (Metabase le permite crear este filtro sin escribir SQL):
-
Ver los resultados:
Metabase tiene mucha más funcionalidad que puede explorar. Consulte la documentación oficial para otros casos de uso con Metabase.
Más información
Es posible que desee consultar los siguientes recursos para obtener información adicional sobre este tema. Si bien estos se proporcionan con la esperanza de que sean útiles, tenga en cuenta que no podemos garantizar la precisión o la puntualidad de los materiales alojados externamente.
- El sitio web oficial de MySQL
- Metabasa
- Base de datos de pruebas de empleados