O que é Metabase
Metabase fornece uma interface para consultar dados em seu navegador. Além de oferecer suporte a consultas SQL, o Metabase oferece funcionalidade para analisar dados sem SQL, criar painéis e rastrear métricas. Este guia mostra como conectar o MySQL ao Metabase e depois implantar no NGINX por meio de um proxy reverso.
Há vários bancos de dados adicionais que são suportados do SQLite ao PostgreSQL. A visualização dos resultados torna-se muito simples através de uma interface intuitiva. Isso torna o Metabase versátil para compartilhar dados mesmo entre aqueles sem experiência analítica.
Instalar Metabase
Java Runtime Environment
As etapas nesta seção instalarão o Java 8 JDK no Ubuntu 16.04. Para outras distribuições, veja a documentação oficial.
-
Instalesoftware-properties-common
para adicionar facilmente novos repositórios:
sudo apt-get install software-properties-common
-
Adicione o Java PPA:
sudo add-apt-repository ppa:webupd8team/java
-
Atualize a lista de fontes:
sudo apt-get update
-
Instale o Java JDK 8:
sudo apt-get install oracle-java8-installer
Servidor MySQL
-
Baixe o servidor MySQL. Digite uma senha de root quando especificado:
sudo apt install mysql-server
-
Faça login como usuário root:
mysql -u root -p
-
Crie um banco de dados e usuário 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
Baixar Metabase
-
Baixe o arquivo jar da Metabase:
wget http://downloads.metabase.com/v0.28.1/metabase.jar
-
Mova o arquivo para/var
para que ele possa iniciar na reinicialização:
sudo mv metabase.jar /var/metabase.jar
Proxy reverso com NGINX
-
Instale o NGINX
sudo apt install nginx
-
Crie um novo arquivo de configuração NGINX com as configurações abaixo definindoserver_name
com seu FDQN ou endereço IP público:
- Arquivo:/ 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"; } }
-
Verifique se não há problemas com a configuração:
sudo nginx -t
-
Reinicie o NGINX:
sudo systemctl restart nginx
Baixar exemplo de banco de dados MySQL
TheEmployees Testing Database é um banco de dados de exemplo que pode ser carregado no MySQL. O banco de dados consiste em dados de funcionários e salários com mais de 2,8 milhões de entradas, esse tamanho o torna útil para experimentar de maneira não trivial.
-
Instale o git:
sudo apt install git
-
Clone o repositório que contém o banco de dados de teste:
git clone https://github.com/datacharmer/test_db.git
-
Navegue até o repositório clonado:
cd test_db
-
Carregaremployees.sql
nometabase_example
banco de dados e digite a senha do usuário do banco de dados quando solicitado:
mysql -u metabase_user -p employees < employees.sql
O console imprimirá as tabelas carregadas, bem como o tempo total para concluir.
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
Variáveis de ambiente
-
Crie um novo arquivo de texto contendo as variáveis de ambiente para Metabase:
- Arquivo: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
-
Carregue estas variáveis de ambiente:
source metabase-env
Definir metabase para iniciar na reinicialização
-
Verifique o caminho do seu binário JDK:
which java
Isso deve imprimir um caminho como/usr/bin/java
.
-
Crie um arquivo de configuração do systemd para garantir que o Metabase seja executado na inicialização.ExecStart=
deve definir o caminho do JDK acima. Certifique-se de substituirUser
com seu nome de usuário Unix:
- Arquivo:/ 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
-
Aplique as alterações:
sudo systemctl start metabase
-
Verifique se a Metabase está ativa:
sudo systemctl status metabase
Regras de firewall
Observação O serviço freeCloud Firewall da Linode pode ser usado para substituir ou complementar a configuração do firewall interno. Para obter mais informações sobre firewalls de nuvem, consulte nosso guia de primeiros passos com firewalls de nuvem. Para obter ajuda na solução de problemas gerais de firewall, consulte o guia Solução de problemas de firewalls.
O UFW é ótimo para impedir o acesso não autorizado ao seu banco de dados. Um padrão razoável é permitir a porta 80/443 e SSH:
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable
Verifique as regras de firewall:
sudo ufw status
Interface de metabase
Metabase agora está acessível no navegador no endereço IP público do seu Linode.
-
A primeira vez que você tentar acessar, levará algum tempo porque o banco de dados MySQL precisa migrar:
-
Crie a sua conta aqui:
-
Insira as informações do banco de dados ou pule isso e adicione as informações posteriormente no Painel de administração:
-
No menu suspenso superior direito, selecione Painel Administrativo e clique em Modelo de Dados no menu superior.
-
À esquerda, selecione salários para ver informações sobre a tabela, como chaves estrangeiras e nomes de colunas. Clique em Adicionar um segmento :
-
Crie um filtro para visualizar todos os funcionários com salário superior a US$ 50.000 (o Metabase permite criar esse filtro sem escrever SQL):
-
Veja os resultados:
Metabase tem muito mais funcionalidades que você pode explorar. Consulte a documentação oficial para outros casos de uso com o Metabase.
Mais informações
Você pode querer consultar os seguintes recursos para obter informações adicionais sobre este tópico. Embora estes sejam fornecidos na esperança de que sejam úteis, observe que não podemos garantir a precisão ou pontualidade dos materiais hospedados externamente.
- O site oficial do MySQL
- Metabase
- Banco de dados de teste de funcionários