Questa pagina descrive come installare l'applicazione Looker per un deployment ospitato dal cliente.
L'hosting dell'applicazione Looker è indipendente dal luogo in cui si trovano i dati; i dati rimangono sempre nel database e non vengono copiati nell'istanza di Looker.
Specifiche di deployment
Se eseguirai Looker su una rete che non si connette a Internet, potresti dover configurare un server proxy per comunicare con il server di licenze di Looker o utilizzare servizi web serverless che effettuano solo chiamate web, come BigQuery.
Installa l'applicazione Looker su una macchina dedicata che soddisfa i seguenti requisiti minimi:
- CPU da 1,2 GHz; Looker consiglia due o più core.
- 8 GB di RAM libera.
- 10 GB di spazio su disco libero.
- Spazio di scambio di file di 2 GB.
- Linux Utilizziamo Ubuntu Linux (versioni LTS) per il nostro hosting Looker interno e lo consigliamo ai clienti che non hanno una preferenza Linux. Tuttavia, supportiamo Looker nelle versioni di release di tutte le principali distribuzioni Linux aziendali, tra cui RedHat, CentOS e Amazon Linux. Looker è supportato solo sulle versioni Linux con set di istruzioni x64.
Java OpenJDK 11.0.12+, OpenJDK 8.0.181+ o HotSpot 1.8 aggiornamento 161+. Looker utilizza OpenJDK (versione 11) per migliorare le prestazioni e l'utilizzo della memoria. Looker consiglia JDK, invece di JRE, per usufruire di strumenti aggiuntivi per la risoluzione dei problemi. Inoltre, Looker consiglia di eseguire la transizione ai nuovi aggiornamenti Java man mano che vengono rilasciati. Altre versioni di Java, Oracle JDK e OpenJDK non sono attualmente supportate.
Nel sistema devono essere presenti
libssl
elibcrypt.so
.Devi consentire il traffico in entrata verso la tua istanza di Looker attraverso la porta TCP
9999
.Se gli utenti richiedono l'accesso API, devi consentire il traffico in entrata verso la tua istanza di Looker attraverso la porta TCP
19999
.Se Looker si connette ad AWS Redshift da una rete privata AWS VCP, devi impostare la 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 di 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 mantenere il riavvio, devi impostare questi 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 denominato
looker
nel gruppo denominatolooker
per eseguire l'applicazione Looker.Un limite 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 è richiesta la versione Git 2.39.1 o successive.
Sebbene non sia obbligatorio, Netcat può essere utile per la risoluzione dei problemi di connettività di rete. Per installare Netcat su, 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 deve essere in grado di eseguire su "core" su localhost. Per comunicare con il server proxy locale di Looker è necessario aggiungere alcuni argomenti speciali in
lookerstart.cfg
: aggiungihttp.nonProxyHosts=localhost
per consentire l'accesso all'host locale di Looker senza passare attraverso il proxy. Il collegamento di Looker a BigQuery tramite un post della scheda Community basato su proxy web include un esempio di come creare questa connessione.
Per evitare conflitti di manutenzione e risorse, non utilizzare il server Looker per ospitare altre applicazioni.
Attiva ntpd o chronyd
NTP è l'acronimo di Network Time Protocol. Questo consente all'orologio di sistema dell'host di mantenere sempre l'ora corretta, necessaria a Looker per funzionare correttamente. Looker non richiede l'utilizzo di alcun software di sincronizzazione temporale fino a quando i tempi rimangono sincronizzati. Non è necessario eseguire un server NTP; è richiesto solo il client NTP. Puoi sostituire chronyd per NTP.
Per informazioni sull'attivazione di ntpd o chronyd, consulta la documentazione del fornitore del sistema operativo.
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 a database e servizi
- Informazioni di autenticazione dell'utente
- Valori 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 dati univoca e contengono una busta con crittografia firmata e sottoposta a controllo delle versioni a garanzia della verifica. Questa modalità richiede l'utilizzo di una Customer Master Key (CMK) esterna. La chiave CMK viene utilizzata per ricavare, criptare e decriptare la chiave di crittografia delle chiavi (KEK), che a sua volta viene utilizzata per ricavare, criptare e decriptare le chiavi di dati.
La crittografia viene utilizzata solo per il database interno e la cache di Looker. I database dei clienti non sono in alcun modo interessati dalla crittografia di Looker. Inoltre, vengono criptati in questo modo solo i dati statici (dati archiviati su disco).
Le installazioni ospitate dal cliente possono utilizzare i propri account AWS KMS o i propri sistemi di gestione delle chiavi personalizzati. Tutte le chiavi dei dati e la KEK sono criptate e utilizzate internamente nell'installazione di Looker ospitata dal cliente. Se non usi AWS KMS, il CMK esterno deve essere conservato in una posizione sicura e permanente. La perdita del CMK dopo la crittografia del database interno può causare la perdita dell'istanza.
Se utilizzi AWS KMS
Se usi AWS KMS, crea un CMK utilizzando AWS Management Console o l'API.
Dopo aver creato il CMK, Looker ti consiglia di creare un nuovo ruolo IAM univoco per CMK e di collegarlo alla tua istanza di Looker.
Di seguito è riportato un esempio di un ruolo IAM che contiene le autorizzazioni minime richieste per la tua 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 il CMK e il nuovo ruolo IAM, imposta la variabile di ambiente AWS_REGION
sulla tua 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>
In via facoltativa, puoi anche impostare la variabile di ambiente LKR_AWS_CMK_EC
in modo da 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 AWS KMS
Se non utilizzi AWS KMS, genera un CMK Base64 a 32 byte. Puoi archiviare CMK in una variabile di ambiente o in un file:
Per generare il CMK e archiviarlo in una variabile di ambiente, puoi utilizzare il seguente comando per generare:
openssl rand -base64 32
Dopo aver generato il CMK, copialo e utilizza il comando seguente per archiviare il CMK nella variabile di ambiente
LKR_MASTER_KEY_ENV
(dove<CMK_value>
è il CMK che hai generato con il comando precedente):export LKR_MASTER_KEY_ENV=<CMK_value>
Per generare e archiviare il CMK in un file, puoi utilizzare il comando seguente (dove
<path_to_key_file>
è il percorso e il nome del file per archiviare il CMK):openssl rand -base64 32 > <path_to_key_file>
Dopo aver generato il file CMK, imposta le autorizzazioni del file della chiave sull'attuale utente con autorizzazione di sola lettura:
chmod 0400 <path_to_key_file>
Dopo aver generato un CMK, assicurati di conservarlo in un luogo sicuro e permanente prima di continuare. La perdita del CMK dopo la crittografia del database interno può causare la perdita dell'istanza.
Dopo aver generato e archiviato il tuo CMK, imposta la variabile di ambiente LKR_MASTER_KEY_ENV
:
Se memorizzi il tuo CMK in una variabile di ambiente, imposta la variabile di ambiente
LKR_MASTER_KEY_ENV
sul valore del CMK:export LKR_MASTER_KEY_ENV=<CMK_value>
Se memorizzi il tuo 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 un CMK, assicurati di conservarlo in un luogo sicuro e permanente prima di continuare. La perdita del CMK dopo la crittografia del database interno può causare la perdita dell'istanza.
Installare l'applicazione Looker
Crea gruppo
looker
.sudo groupadd looker
Crea l'utente
looker
e la relativa directory home.sudo useradd -m -g looker looker
Passa all'utente
looker
; non eseguire Looker come 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 tue directory utente sono inferiori a
/home
, l'output di questo comando dovrebbe essere/home/looker/looker
.Scarica i file JAR di Looker tramite uno dei metodi disponibili nella pagina della documentazione Download dei file JAR di Looker. Assicurati che entrambi i file JAR siano la stessa versione; l'utilizzo di versioni diverse del core e dei file JAR di dipendenza può causare instabilità nell'installazione di Looker.
Scarica lo script di avvio più recente nel repository GitHub looker-open. Se vuoi che Looker venga eseguito all'avvio del sistema, puoi scaricare lo script Looker_init e utilizzare entrambe le opzioni di 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 assegnare a Looker. Se vuoi personalizzare manualmente questo valore, consulta la pagina della documentazione relativa alle impostazioni di memoria Java consigliate 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 assistenza per il flag di avvio, utilizza:
java -jar looker.jar --help
In alternativa, per assistenza sui comandi di avvio, utilizza:
java -jar looker.jar help
Apri un browser su
https://hostname:9999
, dovehostname
è il nome DNS dell'host che esegue Looker.Devi utilizzare
https
nell'URL per creare un avviso di sicurezza che dovrai ignorare. Questo avviso persiste finché non viene installato un certificato SSL valido sul server.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 esempio di ruolo Ansible per il deployment automatico è disponibile nella pagina della documentazione degli strumenti di gestione della configurazione.
Ottimizzazione degli hypervisor
Looker viene eseguito come macchina virtuale Java. Se la tua istanza di Looker si trova su un guest VMware, potresti dover eseguire un'ottimizzazione delle prestazioni. Consulta la guida alle best practice per Java di VMware.
Su altre piattaforme di virtualizzazione, potrebbe migliorare le prestazioni per prenotare la memoria dell'host Looker dall'hypervisor. Non è possibile controllarlo su Amazon EC2; tuttavia, per altri fornitori, consulta la documentazione per ulteriori informazioni.
Configurazione di un database backend MySQL facoltativo
Per impostazione predefinita, Looker utilizza un database in memoria HyperSQL per archiviare la configurazione, gli utenti e altri dati. Puoi, tuttavia, utilizzare un database MySQL esterno per archiviare le informazioni interne di Looker. Per informazioni sulla configurazione e l'ottimizzazione di un database backend MySQL, consulta la pagina della documentazione Migrazione a MySQL.
Passaggi successivi
Dopo aver installato Looker, puoi configurare le opzioni di avvio di Looker.