Nesta página, descrevemos como instalar o aplicativo Looker para uma implantação hospedada pelo cliente.
A hospedagem do aplicativo Looker é independente de onde seus dados estão. Eles sempre permanecem no banco de dados e não são copiados para a instância do Looker.
Especificações de implantação
Se você for executar o Looker em uma rede que não se conecta à Internet, talvez seja necessário configurar um servidor proxy para se comunicar com o servidor de licenças do Looker ou usar serviços da Web sem servidor que só fazem chamadas da Web, como o BigQuery.
Instale o aplicativo Looker em uma máquina dedicada que atenda aos seguintes requisitos mínimos:
- CPU de 1,2 GHz.O Looker recomenda dois ou mais núcleos.
- 8 GB de RAM livre.
- 10 GB de espaço livre em disco.
- 2 GB de espaço para arquivo de troca.
- Linux. Usamos o Ubuntu Linux (versões LTS) para nossa hospedagem interna do Looker e o recomendamos para clientes que não têm preferência por Linux. No entanto, oferecemos suporte ao Looker em versões de lançamento de todas as principais distribuições Linux empresariais, incluindo RedHat, CentOS e Amazon Linux. O Looker só é compatível com versões do Linux com conjuntos de instruções x64.
Java OpenJDK 11.0.12+ ou HotSpot 1.8 update 161+. O Looker usa o OpenJDK (versão 11) para melhorar o desempenho e o uso da memória. O Looker recomenda o JDK em vez do JRE para aproveitar as ferramentas extras de solução de problemas. Além disso, o Looker recomenda que você faça a transição para as novas atualizações do Java assim que elas forem lançadas. Outras versões do Java, Oracle JDK e OpenJDK não são compatíveis no momento.
libssl
e umlibcrypt.so
precisam estar presentes no sistema.É necessário permitir o tráfego de entrada para sua instância do Looker pela porta TCP
9999
.Se os usuários precisarem de acesso à API, permita o tráfego de entrada para sua instância do Looker pela porta TCP
19999
.Se o Looker estiver se conectando ao AWS Redshift de uma rede privada VPC da AWS, defina a MTU como 1500. Para mais informações sobre essa configuração, consulte a seção Configurar a MTU de uma instância deste artigo da Amazon Web Services. Se o Looker detectar que a configuração de MTU é maior que 1500 durante um teste de conexão com o banco de dados, ele vai mostrar o seguinte erro:
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.
As seguintes configurações de keepalive do TCP. Para manter essas configurações durante uma reinicialização, elas precisam ser definidas em
/etc/sysctl.conf
ou em um arquivo no diretório/etc/sysctl.d
:net.ipv4.tcp_keepalive_time=200 net.ipv4.tcp_keepalive_intvl=200 net.ipv4.tcp_keepalive_probes=5
Um usuário chamado
looker
no grupolooker
para executar o aplicativo Looker.Um ulimit para o usuário
looker
de4096
ou mais recente. Para isso, adicione as seguintes linhas a/etc/security/limits.conf
:looker soft nofile 4096 looker hard nofile 4096
Sincronização de tempo por NTP ou equivalente.
A pasta
/tmp
não pode ser montada com a opção noexec.O diretório principal
looker
não pode ser montado em um volume NFS.Recomendamos definir o fuso horário do servidor como UTC, mas isso não é obrigatório.
O Git 2.39.1 ou versões mais recentes é necessário para o Looker 23.6 e versões mais recentes.
Embora não seja obrigatório, o Netcat pode ser útil para resolver problemas de conectividade de rede. Para instalar o Netcat em um servidor baseado em Ubuntu, por exemplo, um comando comum é:
sudo apt-get install netcat
Se necessário, configure um servidor proxy para processar as solicitações HTTP(S) que o Looker precisa fazer para "core" no localhost. Para se comunicar com o servidor proxy local do Looker, adicione alguns argumentos especiais em
lookerstart.cfg
: adicionehttp.nonProxyHosts=localhost
para ativar o acesso ao localhost do Looker sem passar pelo proxy.
Para evitar conflitos de manutenção e recursos, não use o servidor do Looker para hospedar outros aplicativos.
Ativar o ntpd ou o chronyd
NTP significa Network Time Protocol. Ele permite que o relógio do sistema do host sempre mantenha a hora correta, o que é necessário para o Looker funcionar corretamente. O Looker não exige o uso de nenhum software de sincronização de horário específico, desde que os horários permaneçam sincronizados. Não é necessário executar um servidor NTP. Apenas o cliente NTP é necessário. Você pode substituir o chronyd pelo NTP.
Consulte a documentação do fornecedor do SO para saber como ativar o ntpd ou o chronyd.
Criar uma chave de criptografia
O Looker usa a criptografia AES-256 no modo Contador/Galois (GCM) para criptografar dados sensíveis armazenados internamente, incluindo:
- Backups do banco de dados interno do Looker
- Informações de conexão de banco de dados e serviço
- Informações de autenticação do usuário
- Valores de atributos do usuário
- Dados do cliente armazenados em cache ou preparados para entrega
Para uma lista detalhada dos dados criptografados pelo Looker, abra uma solicitação de suporte.
Os dados são criptografados usando uma chave de dados exclusiva e contêm um envelope de criptografia assinado e com controle de versão para garantir a verificação. Esse modo exige o uso de uma chave mestra do cliente (CMK, na sigla em inglês) externa. A CMK é usada para derivar, criptografar e descriptografar a chave de criptografia de chaves (KEK), que, por sua vez, é usada para derivar, criptografar e descriptografar chaves de dados.
A criptografia é usada apenas para o banco de dados e o cache internos do Looker. Os bancos de dados dos clientes não são afetados pela criptografia do Looker de forma alguma. Além disso, apenas dados estáticos (armazenados em disco) são criptografados dessa maneira.
As instalações hospedadas pelo cliente podem usar as próprias contas do AWS KMS ou sistemas personalizados de gerenciamento de chaves. Todas as chaves de dados e a KEK são criptografadas e usadas internamente na instalação do Looker hospedada pelo cliente. Se você não estiver usando o AWS KMS, a CMK externa precisará ser mantida em um local seguro e permanente. Perder a CMK depois de criptografar o banco de dados interno pode resultar na perda da instância.
Se você estiver usando o AWS KMS
Se você estiver usando o KMS da AWS, crie uma CMK usando o console de gerenciamento da AWS ou a API.
Depois de criar a CMK, o Looker recomenda que você crie uma nova função do IAM exclusiva para sua CMK e a anexe à sua instância do Looker.
Confira um exemplo de um papel do IAM que contém as permissões mínimas necessárias para sua 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/*"
}
]
}
Depois de criar a CMK e o novo papel do IAM, defina a variável de ambiente AWS_REGION
como sua região da AWS e a variável de ambiente LKR_AWS_CMK
como o alias da CMK:
export AWS_REGION=<AWS_region>
export LKR_AWS_CMK=alias/<CMK_alias>
Como opção, você também pode definir a variável de ambiente LKR_AWS_CMK_EC
para definir um contexto de criptografia da AWS personalizado. Se você não definir essa variável de ambiente, o Looker vai usar o contexto de criptografia padrão, a string Looker_Encryption_Context
.
export LKR_AWS_CMK_EC=<My_Encryption_Context>
Se você não estiver usando o AWS KMS
Se você não estiver usando o KMS da AWS, gere uma CMK Base64 de 32 bytes. É possível armazenar a CMK em uma variável de ambiente ou em um arquivo:
Para gerar a CMK e armazená-la em uma variável de ambiente, use o seguinte comando:
openssl rand -base64 32
Depois de gerar a CMK, copie-a e use o comando a seguir para armazenar a CMK na variável de ambiente
LKR_MASTER_KEY_ENV
(em que<CMK_value>
é a CMK gerada com o comando anterior):export LKR_MASTER_KEY_ENV=<CMK_value>
Para gerar e armazenar a CMK em um arquivo, use o seguinte comando (em que
<path_to_key_file>
é o caminho e o nome do arquivo para armazenar a CMK):openssl rand -base64 32 > <path_to_key_file>
Depois de gerar o arquivo CMK, defina as permissões do arquivo de chave como somente leitura para o usuário atual:
chmod 0400 <path_to_key_file>
Depois de gerar uma CMK, armazene-a em um local seguro e permanente antes de continuar. Perder a CMK depois de criptografar o banco de dados interno pode resultar na perda da instância.
Depois de gerar e armazenar sua CMK, defina a variável de ambiente LKR_MASTER_KEY_ENV
:
Se você estiver armazenando a CMK em uma variável de ambiente, defina a variável
LKR_MASTER_KEY_ENV
com o valor da CMK:export LKR_MASTER_KEY_ENV=<CMK_value>
Se você estiver armazenando a CMK em um arquivo, defina a variável de ambiente
LKR_MASTER_KEY_FILE
como o caminho do arquivo da CMK:export LKR_MASTER_KEY_FILE=<path_to_key_file>
Depois de gerar uma CMK, armazene-a em um local seguro e permanente antes de continuar. Perder a CMK depois de criptografar o banco de dados interno pode resultar na perda da instância.
Instalar o aplicativo Looker
Crie o grupo
looker
.sudo groupadd looker
Crie o usuário
looker
e o diretório inicial dele.sudo useradd -m -g looker looker
Mude para o usuário
looker
. Não execute o Looker como raiz.sudo su - looker
Crie o subdiretório
looker
no diretório inicial.mkdir ~/looker
Mude para o subdiretório
looker
.cd ~/looker
Verifique se você está no diretório correto.
pwd
Se os diretórios de usuários estiverem em
/home
, a saída desse comando será/home/looker/looker
.Faça o download dos arquivos JAR do Looker escolhidos usando um dos métodos na página de documentação Como fazer o download dos arquivos JAR do Looker. Verifique se os dois arquivos JAR são da mesma versão. Usar versões diferentes dos arquivos JAR principais e de dependência pode causar instabilidade na instalação do Looker.
Faça o download do script de inicialização mais recente no repositório do GitHub looker-open-source. Se você quiser que o Looker seja executado na inicialização do sistema, faça o download do script looker_init e use as opções de script
systemd
einit
.Mova o script de inicialização (chamado
looker
) e os arquivos JAR do Looker (chamadoslooker-x.x.x.jar
elooker-dependencies-x.x.x.jar
, em quex.x.x
é o número da versão) para o novo diretório~/looker
.Renomeie
looker-x.x.x.jar
paralooker.jar
elooker-dependencies-x.x.x.jar
paralooker-dependencies.jar
.O script de inicialização determina automaticamente quanta memória Java alocar para o Looker. Se quiser personalizar esse valor manualmente, consulte a página de documentação Configurações recomendadas de memória Java para mais informações.
Torne o script de inicialização do Looker executável (defina as permissões como
0750
).chmod 0750 looker
Inicie o processo do Looker no shell como o usuário
looker
../looker start
Para ajuda com flags de inicialização, use:
java -jar looker.jar --help
Ou, para receber ajuda com o comando de inicialização, use:
java -jar looker.jar help
Abra um navegador em
https://hostname:9999
, em quehostname
é o nome DNS do host que executa o Looker.Use
https
no URL, o que vai criar um aviso de segurança que você precisará ignorar. Esse aviso vai persistir até que um certificado SSL válido seja instalado no servidor.Insira a chave de licença fornecida pelo seu analista do Looker.
Insira um nome, um e-mail e uma senha para criar sua primeira conta.
Criar um registro DNS
Adicione um registro DNS looker.[yourdomain].com
para o servidor. Esta etapa é opcional, mas recomendada.
Implantação automática do Looker
O Looker pode ser implantado usando uma ferramenta de gerenciamento de configuração, como Ansible ou Chef. Um exemplo de função do Ansible para implantação automatizada está disponível na página de documentação Ferramentas de gerenciamento de configuração.
Ajuste do hipervisor
O Looker é executado como uma máquina virtual Java. Se a instância do Looker estiver em um convidado do VMware, talvez seja necessário fazer alguns ajustes de desempenho. Consulte o guia de práticas recomendadas de Java do VMware.
Em outras plataformas de virtualização, pode ser útil reservar a memória do host do Looker do hipervisor para melhorar o desempenho. Isso não pode ser controlado no Amazon EC2. No entanto, para outros fornecedores, consulte a documentação deles para mais informações.
Como configurar um banco de dados de back-end MySQL opcional
Por padrão, o Looker usa um banco de dados HyperSQL na memória para armazenar a configuração, os usuários e outros dados. No entanto, é possível usar um banco de dados MySQL externo para armazenar as informações internas do Looker. Consulte a página de documentação Migrar para o MySQL para informações sobre como configurar e ajustar um banco de dados de back-end do MySQL.
Próximas etapas
Depois de instalar o Looker, você poderá configurar as opções de inicialização do Looker.