Cette page explique comment installer l'application Looker pour un déploiement hébergé par le client.
L'hébergement de l'application Looker est indépendant de l'emplacement de vos données. Les données restent toujours dans la base de données et ne sont pas copiées dans l'instance Looker.
Spécifications de déploiement
Si vous allez exécuter Looker sur un réseau qui ne se connecte pas à Internet, vous devrez peut-être configurer un serveur proxy pour communiquer avec le serveur de licences Looker ou utiliser des services Web sans serveur qui n'effectuent que des appels Web, tels que BigQuery.
Installez l'application Looker sur une machine dédiée qui répond aux exigences minimales suivantes:
- Processeur 1,2 GHz (Looker recommande d'utiliser au moins deux cœurs).
- 8 Go de RAM disponibles.
- 10 Go d'espace disque disponible.
- 2 Go d'espace de fichier d'échange
- Linux. Nous utilisons Ubuntu Linux (versions LTS) pour notre hébergement interne de Looker, et nous le recommandons aux clients qui n'ont pas de préférence Linux. Toutefois, Looker est compatible avec les versions de toutes les principales distributions Linux d'entreprise, y compris RedHat, CentOS et Amazon Linux. Looker n'est compatible qu'avec les versions Linux avec des jeux d'instructions x64.
Java OpenJDK 11.0.12 ou version ultérieure, ou HotSpot 1.8 version 161 ou ultérieure. Looker utilise OpenJDK (version 11) pour améliorer les performances et l'utilisation de la mémoire. Looker recommande d'utiliser le JDK plutôt que le JRE pour profiter des outils de dépannage supplémentaires. De plus, Looker vous recommande de passer aux nouvelles mises à jour de Java à mesure qu'elles sont publiées. Les autres versions de Java, d'Oracle JDK et d'OpenJDK ne sont pas compatibles pour le moment.
libssl
etlibcrypt.so
doivent être présents sur le système.Vous devez autoriser le trafic entrant vers votre instance Looker via le port TCP
9999
.Si les utilisateurs ont besoin d'accéder à l'API, vous devez autoriser le trafic entrant vers votre instance Looker via le port TCP
19999
.Si Looker se connecte à AWS Redshift à partir d'un réseau privé VPC AWS, vous devez définir la MTU sur 1 500. Pour en savoir plus sur ce paramètre, consultez la section Configurer le MTU d'une instance de cet article Amazon Web Services. Si Looker détecte que le paramètre MTU est supérieur à 1 500 lors d'un test de connexion à la base de données, l'erreur suivante s'affiche:
MTU of network interface eth0 is too large (> 1500). If Looker instance and Redshift cluster are within the same VPC, this warning can be ignored.
Les paramètres keepalive TCP suivants : Pour qu'ils persistent après un redémarrage, ils doivent être définis dans
/etc/sysctl.conf
ou dans un fichier du répertoire/etc/sysctl.d
:net.ipv4.tcp_keepalive_time=200 net.ipv4.tcp_keepalive_intvl=200 net.ipv4.tcp_keepalive_probes=5
Un utilisateur nommé
looker
dans le groupe nommélooker
pour exécuter l'application Looker.Une ulimit pour l'utilisateur
looker
de4096
ou version ultérieure. Pour ce faire, ajoutez les lignes suivantes à/etc/security/limits.conf
:looker soft nofile 4096 looker hard nofile 4096
Synchronisation horaire via NTP ou équivalent.
Le dossier
/tmp
ne doit pas être installé avec l'option noexec.Le répertoire d'accueil
looker
ne doit pas être installé sur un volume NFS.Nous vous recommandons de définir le fuseau horaire du serveur sur UTC, mais ce n'est pas obligatoire.
Git 2.39.1 ou version ultérieure est requis pour Looker 23.6 et versions ultérieures.
Bien que cela ne soit pas obligatoire, Netcat peut être utile pour résoudre les problèmes de connectivité réseau. Pour installer Netcat sur un serveur basé sur Ubuntu, par exemple, la commande courante est la suivante:
sudo apt-get install netcat
Si nécessaire, vous pouvez configurer un serveur proxy pour gérer les requêtes HTTP(S) que Looker doit pouvoir envoyer à "core" sur localhost. Pour communiquer avec le serveur proxy local Looker, vous devez ajouter des arguments spéciaux dans
lookerstart.cfg
: ajoutezhttp.nonProxyHosts=localhost
pour activer l'accès au localhost Looker sans passer par le proxy.
Pour éviter les conflits de maintenance et de ressources, vous ne devez pas utiliser le serveur Looker pour héberger d'autres applications.
Activer ntpd ou chronyd
NTP signifie "Network Time Protocol". Elle permet à l'horloge système de votre hôte de toujours afficher l'heure correcte, ce qui est nécessaire au bon fonctionnement de Looker. Looker ne nécessite aucun logiciel de synchronisation temporelle particulier, tant que les heures restent synchronisées. Il n'est pas nécessaire d'exécuter un serveur NTP. Seul le client NTP est nécessaire. Vous pouvez remplacer NTP par chronyd.
Pour savoir comment activer ntpd ou chronyd, consultez la documentation du fournisseur de votre système d'exploitation.
Créer une clé de chiffrement
Looker utilise le chiffrement AES-256 Galois/Counter Mode (GCM) pour chiffrer les données sensibles stockées en interne, y compris:
- Sauvegardes de la base de données interne de Looker
- Informations sur la connexion des bases de données et des services
- Informations d'authentification des utilisateurs
- Valeurs d'attribut utilisateur
- Données client mises en cache ou préparées pour la diffusion
Pour obtenir la liste détaillée des données que Looker chiffre, envoyez une demande d'assistance.
Les données sont chiffrées à l'aide d'une clé de données unique et contiennent une enveloppe de chiffrement signée et versionnée pour garantir la validation. Ce mode nécessite l'utilisation d'une clé maître client (CMK) externe. La CMK permet de dériver, de chiffrer et de déchiffrer la clé de chiffrement de clé (KEK), qui permet à son tour de dériver, de chiffrer et de déchiffrer les clés de données.
Le chiffrement n'est utilisé que pour la base de données et le cache internes de Looker. Le chiffrement Looker n'a aucune incidence sur les bases de données client. De plus, seules les données statiques (données stockées sur disque) sont chiffrées de cette manière.
Les installations hébergées par le client peuvent utiliser leurs propres comptes AWS KMS ou leurs propres systèmes de gestion des clés personnalisés. Toutes les clés de données et la KEK sont chiffrées et utilisées en interne sur l'installation Looker hébergée par le client. Si vous n'utilisez pas AWS KMS, la CMK externe doit être conservée dans un emplacement sûr et permanent. La perte de la CMK après le chiffrement de la base de données interne peut entraîner la perte de votre instance.
Si vous utilisez AWS KMS
Si vous utilisez AWS KMS, créez une CMK à l'aide de la console de gestion AWS ou de l'API.
Une fois la CMK créée, Looker vous recommande de créer un rôle IAM unique pour votre CMK et de l'associer à votre instance Looker.
Vous trouverez ci-dessous un exemple de rôle IAM contenant les autorisations minimales requises pour votre CMK:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "kms:GenerateRandom",
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt",
"kms:Generate*",
],
"Resource": "arn:aws:kms:*:*:key/*"
}
]
}
Une fois que vous avez créé votre CMK et votre nouveau rôle IAM, définissez la variable d'environnement AWS_REGION
sur votre région AWS et la variable d'environnement LKR_AWS_CMK
sur l'alias de votre CMK:
export AWS_REGION=<AWS_region>
export LKR_AWS_CMK=alias/<CMK_alias>
Vous pouvez également définir la variable d'environnement LKR_AWS_CMK_EC
pour définir un contexte de chiffrement AWS personnalisé. Si vous ne définissez pas cette variable d'environnement, Looker utilisera le contexte de chiffrement par défaut, la chaîne Looker_Encryption_Context
.
export LKR_AWS_CMK_EC=<My_Encryption_Context>
Si vous n'utilisez pas AWS KMS
Si vous n'utilisez pas AWS KMS, générez une CMK de 32 octets au format Base64. Vous pouvez stocker la CMK dans une variable d'environnement ou dans un fichier:
Pour générer la CMK et la stocker dans une variable d'environnement, vous pouvez utiliser la commande suivante:
openssl rand -base64 32
Une fois que vous avez généré la CMK, copiez-la et utilisez la commande suivante pour la stocker dans la variable d'environnement
LKR_MASTER_KEY_ENV
(où<CMK_value>
est la CMK que vous avez générée avec la commande précédente):export LKR_MASTER_KEY_ENV=<CMK_value>
Pour générer et stocker la CMK dans un fichier, vous pouvez utiliser la commande suivante (où
<path_to_key_file>
correspond au chemin d'accès et au nom de fichier pour stocker la CMK):openssl rand -base64 32 > <path_to_key_file>
Après avoir généré le fichier de clé CMEK, définissez les autorisations du fichier de clé sur "lecture seule" pour l'utilisateur actuel:
chmod 0400 <path_to_key_file>
Une fois que vous avez généré une CMK, veillez à la stocker dans un emplacement sûr et permanent avant de continuer. La perte de la CMK après le chiffrement de la base de données interne peut entraîner la perte de votre instance.
Une fois que vous avez généré et stocké votre CMK, définissez la variable d'environnement LKR_MASTER_KEY_ENV
:
Si vous stockez votre CMK dans une variable d'environnement, définissez la variable d'environnement
LKR_MASTER_KEY_ENV
sur la valeur de la CMK:export LKR_MASTER_KEY_ENV=<CMK_value>
Si vous stockez votre CMK dans un fichier, définissez la variable d'environnement
LKR_MASTER_KEY_FILE
sur le chemin d'accès du fichier CMK:export LKR_MASTER_KEY_FILE=<path_to_key_file>
Une fois que vous avez généré une CMK, veillez à la stocker dans un emplacement sûr et permanent avant de continuer. La perte de la CMK après le chiffrement de la base de données interne peut entraîner la perte de votre instance.
Installer l'application Looker
Créez le groupe
looker
.sudo groupadd looker
Créez l'utilisateur
looker
et son répertoire d'accueil.sudo useradd -m -g looker looker
Passez à l'utilisateur
looker
. N'exécutez pas Looker en tant qu'utilisateur racine.sudo su - looker
Créez le sous-répertoire
looker
dans le répertoire d'accueil.mkdir ~/looker
Accédez au sous-répertoire
looker
.cd ~/looker
Assurez-vous d'être dans le bon répertoire.
pwd
Si vos répertoires utilisateur se trouvent sous
/home
, la sortie de cette commande devrait être/home/looker/looker
.Téléchargez les fichiers JAR Looker choisis à l'aide de l'une des méthodes décrites sur la page de documentation Télécharger les fichiers JAR Looker. Assurez-vous que les deux fichiers JAR sont de la même version. L'utilisation de différentes versions des fichiers JAR du noyau et des dépendances peut entraîner une instabilité de votre installation Looker.
Téléchargez le dernier script de démarrage sur le dépôt GitHub looker-open-source. Si vous souhaitez que Looker s'exécute au démarrage du système, vous pouvez télécharger le script looker_init et utiliser les options de script
systemd
etinit
.Déplacez le script de démarrage (nommé
looker
) et les fichiers JAR Looker (nomméslooker-x.x.x.jar
etlooker-dependencies-x.x.x.jar
, oùx.x.x
correspond au numéro de version) vers le nouveau répertoire~/looker
.Renommez
looker-x.x.x.jar
enlooker.jar
etlooker-dependencies-x.x.x.jar
enlooker-dependencies.jar
.Le script de démarrage détermine automatiquement la quantité de mémoire Java à allouer à Looker. Pour en savoir plus, consultez la page de documentation Paramètres de mémoire Java recommandés si vous souhaitez personnaliser cette valeur manuellement.
Rendez le script de démarrage de Looker exécutable (définissez les autorisations sur
0750
).chmod 0750 looker
Démarrez le processus Looker à partir du shell en tant qu'utilisateur
looker
../looker start
Pour obtenir de l'aide sur les indicateurs de démarrage, utilisez:
java -jar looker.jar --help
Pour obtenir de l'aide sur la commande de démarrage, utilisez:
java -jar looker.jar help
Ouvrez un navigateur et accédez à
https://hostname:9999
, oùhostname
correspond au nom DNS de l'hôte exécutant Looker.Vous devez utiliser
https
dans l'URL, ce qui créera un avertissement de sécurité que vous devrez ignorer. Cet avertissement persiste tant qu'un certificat SSL valide n'est pas installé sur le serveur.Saisissez la clé de licence obtenue auprès de votre analyste Looker.
Saisissez un nom, une adresse e-mail et un mot de passe pour créer votre premier compte.
Créer un enregistrement DNS
Ajoutez un enregistrement DNS looker.[yourdomain].com
pour le serveur. Cette étape est facultative, mais recommandée.
Déployer Looker automatiquement
Looker peut être déployé à l'aide d'un outil de gestion de la configuration tel qu'Ansible ou Chef. Un exemple de rôle Ansible pour le déploiement automatisé est disponible sur la page de documentation Outils de gestion de la configuration.
Réglage de l'hyperviseur
Looker s'exécute en tant que machine virtuelle Java. Si votre instance Looker se trouve sur une machine virtuelle VMware, vous devrez peut-être effectuer un réglage des performances. Consultez le guide des bonnes pratiques Java de VMware.
Sur d'autres plates-formes de virtualisation, il peut être utile de réserver la mémoire de l'hôte Looker à partir de l'hyperviseur pour améliorer les performances. Ce paramètre n'est pas contrôlable sur Amazon EC2. Toutefois, pour les autres fournisseurs, consultez leur documentation pour en savoir plus.
Configurer une base de données backend MySQL facultative
Par défaut, Looker utilise une base de données en mémoire HyperSQL pour stocker sa configuration, ses utilisateurs et d'autres données. Vous pouvez toutefois utiliser une base de données MySQL externe pour stocker les informations internes de Looker. Pour en savoir plus sur la configuration et l'ajustement d'une base de données backend MySQL, consultez la page de documentation Migrer vers MySQL.
Étapes suivantes
Une fois Looker installé, vous pouvez configurer les options de démarrage de Looker.