Qu'est-ce que la métabase
Metabase fournit une interface pour interroger les données sur votre navigateur. En plus de prendre en charge les requêtes SQL, Metabase offre des fonctionnalités pour analyser les données sans SQL, créer des tableaux de bord et suivre les métriques. Ce guide montre comment connecter MySQL à Metabase puis déployer sur NGINX via un proxy inverse.
Il existe un certain nombre de bases de données supplémentaires qui sont prises en charge de SQLite à PostgreSQL. La visualisation des résultats devient très simple grâce à une interface intuitive. Cela rend Metabase polyvalent pour le partage de données, même parmi ceux qui n'ont pas d'expérience analytique.
Installer la métabase
Environnement d'exécution Java
Les étapes de cette section installeront le JDK Java 8 sur Ubuntu 16.04. Pour les autres distributions, consultez la documentation officielle.
-
Installez
software-properties-common
pour ajouter facilement de nouveaux référentiels :sudo apt-get install software-properties-common
-
Ajoutez le PPA Java :
sudo add-apt-repository ppa:webupd8team/java
-
Mettre à jour la liste des sources :
sudo apt-get update
-
Installez Java JDK 8 :
sudo apt-get install oracle-java8-installer
MySQL Server
-
Téléchargez le serveur MySQL. Entrez un mot de passe root lorsqu'il est spécifié :
sudo apt install mysql-server
-
Connectez-vous en tant qu'utilisateur root :
mysql -u root -p
-
Créez une base de données et un utilisateur pour la métabase :
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
Télécharger la métabase
-
Téléchargez le fichier jar depuis Metabase :
wget http://downloads.metabase.com/v0.28.1/metabase.jar
-
Déplacez le fichier dans
/var
pour qu'il puisse démarrer au redémarrage :sudo mv metabase.jar /var/metabase.jar
Proxy inverse avec NGINX
-
Installer NGINX
sudo apt install nginx
-
Créez un nouveau fichier de configuration NGINX avec les paramètres ci-dessous en définissant
server_name
avec votre FDQN ou votre adresse IP publique :- Fichier :/ 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"; } }
-
Vérifiez qu'il n'y a aucun problème avec la configuration :
sudo nginx -t
-
Redémarrez NGINX :
sudo systemctl restart nginx
Télécharger un exemple de base de données MySQL
La base de données de test des employés est un exemple de base de données qui peut être chargée dans MySQL. La base de données se compose de données sur les employés et les salaires avec plus de 2,8 millions d'entrées, cette taille la rend utile pour expérimenter de manière non triviale.
-
Installer git :
sudo apt install git
-
Clonez le dépôt contenant la base de données de test :
git clone https://github.com/datacharmer/test_db.git
-
Accédez au dépôt cloné :
cd test_db
-
Charger
employees.sql
dans lemetabase_example
base de données et entrez le mot de passe de l'utilisateur de la base de données lorsque vous y êtes invité :mysql -u metabase_user -p employees < employees.sql
La console imprimera les tables qui sont chargées ainsi que le temps total pour terminer.
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 d'environnement
-
Créez un nouveau fichier texte contenant les variables d'environnement pour Metabase :
- Fichier :métabase -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
-
Chargez ces variables d'environnement :
source metabase-env
Définir la métabase pour qu'elle démarre au redémarrage
-
Vérifiez le chemin de votre binaire JDK :
which java
Cela devrait imprimer un chemin tel que
/usr/bin/java
. -
Créez un fichier de configuration systemd pour vous assurer que la métabase s'exécute au démarrage.
ExecStart=
doit être défini sur le chemin JDK d'en haut. Assurez-vous de remplacerUser
avec votre nom d'utilisateur Unix :- Fichier :/ 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
-
Appliquer les modifications :
sudo systemctl start metabase
-
Vérifiez que la métabase est active :
sudo systemctl status metabase
Règles de pare-feu
Remarque Le service freeCloud Firewall de Linode peut être utilisé pour remplacer ou compléter la configuration du pare-feu interne. Pour plus d'informations sur les pare-feu cloud, consultez notre guide Premiers pas avec les pare-feu cloud. Pour obtenir de l'aide sur la résolution des problèmes généraux de pare-feu, consultez le guide de dépannage des pare-feu.
UFW est idéal pour empêcher l'accès non autorisé à votre base de données. Une valeur par défaut raisonnable consiste à autoriser le port 80/443 et SSH :
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable
Vérifiez les règles du pare-feu :
sudo ufw status
Interface de métabase
La métabase est maintenant accessible sur le navigateur sur l'adresse IP publique de votre Linode.
-
La première fois que vous essayez d'y accéder, cela prendra un certain temps car la base de données MySQL doit migrer :
-
Créer un compte :
-
Entrez les informations de la base de données ou ignorez ceci, puis ajoutez les informations ultérieurement à partir du panneau d'administration :
-
Dans le menu déroulant en haut à droite, sélectionnez Panneau d'administration, puis cliquez sur Modèle de données dans le menu supérieur.
-
Sur la gauche, sélectionnez salaires pour afficher des informations sur la table, telles que les clés étrangères et les noms de colonne. Cliquez sur Ajouter un segment :
-
Créez un filtre pour afficher tous les employés dont le salaire est supérieur à 50 000 $ (la métabase vous permet de créer ce filtre sans écrire de SQL) :
-
Voir les résultats :
La métabase a beaucoup plus de fonctionnalités que vous pouvez explorer. Reportez-vous à la documentation officielle pour d'autres cas d'utilisation avec Metabase.
Plus d'informations
Vous pouvez consulter les ressources suivantes pour plus d'informations sur ce sujet. Bien que ceux-ci soient fournis dans l'espoir qu'ils seront utiles, veuillez noter que nous ne pouvons pas garantir l'exactitude ou l'actualité des documents hébergés en externe.
- Le site Web officiel de MySQL
- Métabase
- Base de données sur les tests des employés