Questa pagina descrive come installare l'applicazione Looker per un deployment ospitato dal cliente.
L'hosting dell'applicazione Looker è indipendente da dove risiedono i dati; questi ultimi rimangono sempre nel database e non vengono copiati nell'istanza di Looker.
Specifiche del deployment
Se vuoi eseguire Looker su una rete che non si connette a Internet, potresti dover configurare un server proxy per comunicare con il server delle licenze di Looker o utilizzare servizi web serverless che effettuano solo chiamate web, come BigQuery.
Installa l'applicazione Looker su un computer dedicato che soddisfi i seguenti requisiti minimi:
- CPU da 1,2 GHz; Looker consiglia due o più core.
- 8 GB di RAM libera.
- 10 GB di spazio libero su disco.
- 2 GB di spazio per il file di scambio.
- Linux. Per l'hosting interno di Looker utilizziamo Ubuntu Linux (release LTS) e lo consigliamo ai clienti che non hanno preferenze Linux. Tuttavia, supportiamo Looker nelle versioni di rilascio di tutte le principali distribuzioni Linux aziendali, tra cui RedHat, CentOS e Amazon Linux. Looker è supportato solo nelle versioni Linux con set di istruzioni x64.
Java OpenJDK 11.0.12+, OpenJDK 8.0.181+ o HotSpot 1.8 con aggiornamento 161+. Looker utilizza OpenJDK (versione 11) per migliorare le prestazioni e l'utilizzo della memoria. Looker consiglia il JDK anziché il JRE per sfruttare gli strumenti aggiuntivi per la risoluzione dei problemi. Inoltre, Looker consiglia di passare ai nuovi aggiornamenti Java non appena vengono rilasciati. Al momento non sono supportate altre versioni di Java, Oracle JDK e OpenJDK.
Nel sistema devono essere presenti
libssl
elibcrypt.so
.Devi consentire il traffico in entrata verso la tua istanza Looker tramite la porta TCP
9999
.Se gli utenti richiedono l'accesso all'API, devi consentire il traffico in entrata verso la tua istanza Looker tramite la porta TCP
19999
.Se Looker si connette ad AWS Redshift da una rete privata AWS VCP, devi impostare MTU su 1500. Per ulteriori informazioni su questa impostazione, consulta la sezione Configurazione della MTU di un'istanza di questo articolo di Amazon Web Services. Se Looker rileva che l'impostazione MTU è maggiore di 1500 durante un test della connessione al database, visualizza il seguente errore:
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.
Le seguenti impostazioni keepalive TCP. Per persistere anche dopo il riavvio, è necessario impostare i seguenti valori in
/etc/sysctl.conf
o in un file nella directory/etc/sysctl.d
:net.ipv4.tcp_keepalive_time=200 net.ipv4.tcp_keepalive_intvl=200 net.ipv4.tcp_keepalive_probes=5
Un utente di nome
looker
nel gruppo denominatolooker
per eseguire l'applicazione Looker.Un ulimit per l'utente
looker
di4096
o superiore. Puoi farlo aggiungendo le seguenti righe a/etc/security/limits.conf
:looker soft nofile 4096 looker hard nofile 4096
Sincronizzazione dell'ora tramite NTP o equivalente.
La cartella
/tmp
non deve essere montata con l'opzione noexec.La home directory
looker
non deve essere montata su un volume NFS.L'impostazione del fuso orario del server su UTC è consigliata, ma non obbligatoria.
Per Looker 23.6 e versioni successive è richiesto Git 2.39.1 o versioni successive.
Anche se non è obbligatorio, Netcat può essere utile per la risoluzione dei problemi di connettività di rete. Per installare Netcat, ad esempio, su un server basato su Ubuntu, un comando comune è:
sudo apt-get install netcat
Se necessario, puoi configurare un server proxy per gestire le richieste HTTP(S) che Looker deve essere in grado di eseguire il "core" su localhost. Per comunicare con il server proxy locale di Looker, devi aggiungere alcuni argomenti speciali in
lookerstart.cfg
: aggiungihttp.nonProxyHosts=localhost
per abilitare l'accesso al localhost di Looker senza passare attraverso il proxy.
Per evitare operazioni di manutenzione e conflitti di risorse, non utilizzare il server Looker per ospitare altre applicazioni.
Abilita ntpd o chronyd
NTP è l'acronimo di Network Time Protocol. Consente all'orologio di sistema dell'host di mantenere sempre l'ora corretta, necessaria per il corretto funzionamento di Looker. Looker non richiede l'utilizzo di un particolare software di sincronizzazione dell'ora, purché gli orari rimangano sincronizzati. Non è necessario eseguire un server NTP, bensì solo il client NTP. Puoi sostituire chronyd con NTP.
Consulta la documentazione del fornitore del sistema operativo per informazioni sull'abilitazione di ntpd o chronyd.
Crea una chiave di crittografia
Looker utilizza la crittografia AES-256 Galois/Counter Mode (GCM) per criptare i dati sensibili archiviati internamente, tra cui:
- Backup del database interno di Looker
- Informazioni sulla connessione al database e al servizio
- Informazioni di autenticazione utente
- Valori degli attributi utente
- Dati dei clienti memorizzati nella cache o pronti per la consegna
Per un elenco dettagliato dei dati criptati da Looker, apri una richiesta di assistenza.
I dati vengono criptati utilizzando una chiave di dati univoca e contengono una busta di crittografia firmata e con più versioni per garantire la verifica. Questa modalità richiede l'utilizzo di una chiave master del cliente (CMK) esterna. La CMK viene utilizzata per ricavare, criptare e decriptare la chiave di crittografia della chiave (KEK), che a sua volta viene utilizzata per ricavare, criptare e decriptare le chiavi di dati.
La crittografia viene utilizzata solo per il database e la cache interni di Looker. I database dei clienti non sono interessati in nessun modo dalla crittografia di Looker. Inoltre, solo i dati statici (dati archiviati su disco) vengono criptati in questo modo.
Le installazioni ospitate dal cliente possono utilizzare i propri account KMS di AWS o sistemi di gestione delle chiavi personalizzati. Tutte le chiavi dati e la KEK vengono criptate e utilizzate internamente nell'installazione di Looker ospitata dal cliente. Se non utilizzi KMS AWS, la CMK esterna deve essere conservata in una posizione sicura e permanente. La perdita della chiave CMK dopo la crittografia del database interno può comportare la perdita dell'istanza.
Se utilizzi AWS KMS
Se utilizzi KMS AWS, crea una chiave CMK utilizzando la console di gestione AWS o l'API.
Dopo aver creato la CMK, Looker consiglia di creare un nuovo ruolo IAM univoco per la tua CMK e di collegarlo alla tua istanza Looker.
Di seguito è riportato un esempio di ruolo IAM che contiene le autorizzazioni minime richieste per la chiave 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/*"
}
]
}
Dopo aver creato la CMK e il nuovo ruolo IAM, imposta la variabile di ambiente AWS_REGION
sulla regione AWS e la variabile di ambiente LKR_AWS_CMK
sull'alias della tua CMK:
export AWS_REGION=<AWS_region>
export LKR_AWS_CMK=alias/<CMK_alias>
Facoltativamente, puoi anche impostare la variabile di ambiente LKR_AWS_CMK_EC
per impostare un contesto di crittografia AWS personalizzato. Se non imposti questa variabile di ambiente, Looker utilizzerà il contesto di crittografia predefinito, la stringa Looker_Encryption_Context
.
export LKR_AWS_CMK_EC=<My_Encryption_Context>
Se non utilizzi KMS AWS
Se non utilizzi KMS AWS, genera una CMK a 32 byte Base64. Puoi archiviare la chiave CMK in una variabile di ambiente o in un file:
Per generare la chiave CMK e memorizzarla in una variabile di ambiente, puoi utilizzare il seguente comando:
openssl rand -base64 32
Dopo aver generato la CMK, copiala e utilizza il seguente comando per archiviare la CMK nella variabile di ambiente
LKR_MASTER_KEY_ENV
(dove<CMK_value>
è la CMK generata con il comando precedente):export LKR_MASTER_KEY_ENV=<CMK_value>
Per generare e archiviare la CMK in un file, puoi utilizzare il seguente comando (dove
<path_to_key_file>
è il percorso e il nome file per l'archiviazione della CMK):openssl rand -base64 32 > <path_to_key_file>
Dopo aver generato il file CMK, imposta le autorizzazioni del file chiave sull'utente corrente di sola lettura:
chmod 0400 <path_to_key_file>
Dopo aver generato una CMK, assicurati di conservarla in un luogo sicuro e permanente prima di continuare. La perdita della chiave CMK dopo la crittografia del database interno può comportare la perdita dell'istanza.
Dopo aver generato e archiviato la chiave CMK, imposta la variabile di ambiente LKR_MASTER_KEY_ENV
:
Se archivi la chiave CMK in una variabile di ambiente, imposta la variabile di ambiente
LKR_MASTER_KEY_ENV
sul valore della CMK:export LKR_MASTER_KEY_ENV=<CMK_value>
Se stai memorizzando la chiave CMK in un file, imposta la variabile di ambiente
LKR_MASTER_KEY_FILE
sul percorso del file CMK:export LKR_MASTER_KEY_FILE=<path_to_key_file>
Dopo aver generato una CMK, assicurati di conservarla in un luogo sicuro e permanente prima di continuare. La perdita della chiave CMK dopo la crittografia del database interno può comportare la perdita dell'istanza.
Installa l'applicazione Looker
Crea gruppo
looker
.sudo groupadd looker
Crea l'utente
looker
e la relativa home directory.sudo useradd -m -g looker looker
Passa all'utente
looker
; non eseguire Looker come utente root.sudo su - looker
Crea
looker
sottodirectory nella home directory.mkdir ~/looker
Passa alla sottodirectory
looker
.cd ~/looker
Assicurati di essere nella directory corretta.
pwd
Se le directory utente sono in
/home
, l'output di questo comando dovrebbe essere/home/looker/looker
.Scarica i file JAR di Looker che ti interessano tramite uno dei metodi descritti nella pagina della documentazione relativa al download dei file JAR di Looker. Assicurati che entrambi i file JAR siano la stessa versione; l'utilizzo di versioni diverse dei file JAR principali e delle dipendenze può causare instabilità nell'installazione di Looker.
Scarica lo script di avvio più recente dal repository GitHub di looker-open-source. Se vuoi che Looker venga eseguito all'avvio del sistema, puoi scaricare lo script looker_init e utilizzare entrambe le opzioni dello script
systemd
einit
.Sposta lo script di avvio (denominato
looker
) e i file JAR di Looker (denominatilooker-x.x.x.jar
elooker-dependencies-x.x.x.jar
, dovex.x.x
è il numero di versione) nella nuova directory~/looker
.Rinomina
looker-x.x.x.jar
inlooker.jar
elooker-dependencies-x.x.x.jar
inlooker-dependencies.jar
.Lo script di avvio determina automaticamente la quantità di memoria Java da allocare a Looker. Se vuoi personalizzare questo valore manualmente, consulta la pagina della documentazione Impostazioni consigliate per la memoria Java per ulteriori informazioni.
Rendi eseguibile lo script di avvio di Looker (imposta le autorizzazioni su
0750
).chmod 0750 looker
Avvia il processo Looker dalla shell come utente
looker
../looker start
Per la guida del flag di avvio, utilizza:
java -jar looker.jar --help
In alternativa, per assistenza con il comando di avvio, utilizza:
java -jar looker.jar help
Apri un browser in
https://hostname:9999
dovehostname
è il nome DNS dell'host che esegue Looker.Utilizza
https
nell'URL per generare un avviso di sicurezza che dovrai ignorare. Questo avviso persisterà fino a quando sul server non verrà installato un certificato SSL valido.Inserisci il codice licenza ottenuto dall'analista Looker.
Inserisci un nome, un indirizzo email e una password per creare il tuo primo account.
Crea un record DNS
Aggiungi un record DNS looker.[yourdomain].com
per il server. Questo passaggio è facoltativo, ma consigliato.
Deployment automatico di Looker
È possibile eseguire il deployment di Looker utilizzando uno strumento di gestione della configurazione come Ansible o Chef. Un ruolo Ansible di esempio per il deployment automatico è disponibile nella pagina della documentazione Strumenti di gestione della configurazione.
Ottimizzazione dell'hypervisor
Looker viene eseguito come una macchina virtuale Java. Se la tua istanza di Looker si trova su un guest VMware, potrebbe essere necessario ottimizzare le prestazioni. Consulta la guida alle best practice per Java per VMware.
Su altre piattaforme di virtualizzazione, potrebbe migliorare le prestazioni riservando la memoria dell'host Looker all'hypervisor. Non è controllabile su Amazon EC2; tuttavia, per altri fornitori, devi consultare la relativa documentazione per ulteriori informazioni.
Configurazione di un database di backend MySQL facoltativo
Per impostazione predefinita, Looker utilizza un database in memoria HyperSQL per archiviare la configurazione, gli utenti e altri dati. Tuttavia, puoi utilizzare un database MySQL esterno per archiviare le informazioni interne di Looker. Consulta la pagina della documentazione Migrazione a MySQL per informazioni sulla configurazione e l'ottimizzazione di un database di backend MySQL.
Passaggi successivi
Dopo aver installato Looker, puoi configurare le opzioni di avvio di Looker.