/ HOWTO

Poniendo a funcionar Metabase en Docker.


Metabase es un producto GPL que puede correr localmente o en un modo Cloud, para visualización de datos de una manera sencilla, puede conectarse a distintos motores de datos, permite construir gráficos de una manera muy sencilla, se pueden incluir querys SQL y mediante los “Dashboards” ver mucho en poco espacio.

Utilizan un término que me gustó, “humanizar datos”… el resúmen es que logra que los datos de motores sean fácilmente disponibles para personas que no sean “DBAs”, seleccionado filtrado, agrupación, condiciones y distintos tipos de gráficos.

Lista de Orígenes de datos soportados.

  • Postgres
  • MySQL
  • Druid
  • SQL Server
  • Redshift
  • MongoDB
  • Google BigQuery
  • SQLite
  • H2
  • CrateDB
  • Oracle
  • Vertica
  • Presto

Luego de instalarlo corre en modo Web local en el puerto 3000 y también puede correr en AWS y otras plataformas.

En nuestro caso lo instalaremos en un contenedor destinado a Metabase y haremos pruebas conectándose a otros contenedores con distintos motores de bases de datos.

Instalación del producto en un contenedor.

# docker run -d -p 3000:3000 --name metabase metabase/metabase
Unable to find image 'metabase/metabase:latest' locally
latest: Pulling from metabase/metabase
e110a4a17941: Pull complete
5726fbb708f0: Pull complete
7c322de39b42: Pull complete
e00b172abb18: Pull complete
f53440e31a7d: Pull complete
e19a51f4a73a: Pull complete
7e5d96b2f78f: Pull complete
Digest: sha256:8a6351aa14202e1daec5cde3eb58b4571ee8835ec4cb009f65a196fb08212f17
Status: Downloaded newer image for metabase/metabase:latest
d0de93d6f7231882cccb76708f7b8412bf67b842d81b4229a4fbfcf17dfb01bc

La imágenm descargada mide 248 mb.

# docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
metabase/metabase              latest              e499cad14d61        7 days ago          248MB

Vemos que ya está funcionando correctamente compartiendo el puerto 3000.

# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                    NAMES
d0de93d6f723        metabase/metabase   "/app/run_metabase.sh"   About a minute ago   Up About a minute   0.0.0.0:3000->3000/tcp   metabase

Luego desde un navegador podremos interactuar con nuestro contenedor usando el puerto 3000.

* http://172.17.0.2:3000

Nos pide nuestros datos y un “email”/”Password” que usaremos en la gestión. Indicamos que agregaremos las fuentes de datos luego y que Aceptamos/Denegamos enviar datos anónimos a Metabase.

Podemos agregar fuentes de datos desde la consola de Administración o directamente con este link.

http://172.17.0.2:3000/admin/databases/create

ALGUNOS CONCEPTOS DE METABASE

  • Luego de instalarlo hay que definir una clave para el usuario administrador, también tiene accesos de solo lectura para usuarios.

  • Hay que definir las fuentes de información de orígen, indicando recurso/usuario/clave, etc.

  • Crearon el concepto de “Coleccción”, donde se guardan distintos tipos de “querys”, sirve para agruparlos según nos parezca mejor.

  • Podemos agregar “Questions” / “Preguntas”, que pueden ser querys a motores
  • También “Customs” que son querys con condicionantes.
  • O “Métricas” que incluyen acceso a datos, con condiciones y segmentaciones.

  • En el caso de las Preguntas, podemos indicar como queremos ver esos datos, números, gráfico, totales, texto, barar progreso, torta, barra… etc.

  • Luego “Pulses” que son procesos donde en base a determinados datos se puede enviar información por email o a cuentas Slacks.

  • Definir “Grupos” y algunos objetos mas (menú Admin).

  • Y finalmente los “Dashboards” que son representaciones simples de los objetos de datos creados anteriormente (Querys, Métricas, Customs) también se pueden modificar los campos obtenidos en los querys. Se puede indicar un tiempo de refresco de cada dashboard y poco mas.

Un Contenedor con Metabase corriendo ocupa unos 930 MB que no es poco (incluye drivers para acceso a distintos motores, un web, una aplicación de gestión web y varios componentes mas)

CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
d0de93d6f723        metabase            1.19%               933.8MiB / 7.681GiB   11.87%              137kB / 187kB       0B / 28.7kB         58

En nuestro ejemplo de uso creamos este Dashboard. GRAFICO: meta1

Subscríbete y recibirás los últimos artículos semanalmente en tu email.