Esta página descreve como instalar a aplicação Looker para uma implementação alojada pelo cliente.
O alojamento da aplicação Looker é independente da localização dos seus dados. Os dados permanecem sempre na base de dados e não são copiados para a instância do Looker.
Especificações de implementação
Se for executar o Looker numa rede que não se liga à Internet, pode ter de configurar um servidor proxy para comunicar com o servidor de licenças do Looker ou usar serviços Web sem servidor que apenas fazem chamadas Web, como o BigQuery.
Instale a aplicação Looker numa máquina dedicada que cumpra os 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 no disco.
- 2 GB de espaço de ficheiro de troca.
- Linux. Usamos o Ubuntu Linux (versões LTS) para a nossa alojamento interno do Looker e recomendamos-o aos clientes que não têm uma preferência pelo Linux. No entanto, o Looker é compatível com as versões de lançamento de todas as principais distribuições Linux empresariais, incluindo RedHat, CentOS e Amazon Linux. O Looker só é suportado em 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 melhorias de desempenho e utilização de memória. O Looker recomenda o JDK, em vez do JRE, para tirar partido das ferramentas de resolução de problemas adicionais. Além disso, o Looker recomenda que faça a transição para as novas atualizações do Java à medida que são lançadas. Neste momento, não são suportadas outras versões do Java, Oracle JDK e OpenJDK.
O sistema tem de ter um
libssl
e umlibcrypt.so
.Tem de permitir o tráfego de entrada para a sua instância do Looker através da porta TCP
9999
.Se os utilizadores precisarem de acesso à API, tem de permitir o tráfego de entrada para a sua instância do Looker através da porta TCP
19999
.Se o Looker estiver a estabelecer ligação ao AWS Redshift a partir de uma rede privada da VPC da AWS, tem de definir a MTU como 1500. Para mais informações acerca desta definição, consulte a secção Configurar a MTU de uma instância deste artigo dos Amazon Web Services. Se o Looker detetar que a definição de MTU é superior a 1500 durante um teste de ligação à base de dados, apresenta 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 definições de TCP keepalive. Para persistir após um reinício, estas devem ser definidas em
/etc/sysctl.conf
ou num ficheiro 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 utilizador com o nome
looker
no grupo com o nomelooker
para executar a aplicação Looker.Um ulimit para o utilizador
looker
de4096
ou superior. Pode fazê-lo adicionando as seguintes linhas a/etc/security/limits.conf
:looker soft nofile 4096 looker hard nofile 4096
Sincronização de tempo através do NTP ou equivalente.
A pasta
/tmp
não pode ser montada com a opção noexec.O diretório inicial
looker
não deve ser montado num volume NFS.Recomendamos que defina o fuso horário do servidor como UTC, mas não é obrigatório.
O Git 2.39.1 ou posterior é necessário para o Looker 23.6 e posterior.
Embora não seja obrigatório, o Netcat pode ser útil para resolver problemas de conetividade de rede. Para instalar o Netcat, por exemplo, num servidor baseado no Ubuntu, um comando comum é:
sudo apt-get install netcat
Se necessário, pode configurar um servidor proxy para processar os pedidos HTTP(S) que o Looker precisa de poder fazer ao "core" no localhost. Para comunicar com o servidor proxy local do Looker, tem de adicionar 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 deve usar o servidor do Looker para alojar outras aplicações.
Ative o ntpd ou o chronyd
NTP significa Network Time Protocol (protocolo de tempo de rede). Permite que o relógio do sistema do anfitrião mantenha sempre a hora correta, o que o Looker precisa para funcionar corretamente. O Looker não requer a utilização de nenhum software de sincronização de tempo específico, desde que os tempos permaneçam sincronizados. Não é necessário executar um servidor NTP. Só é necessário o cliente NTP. Pode substituir o chronyd pelo NTP.
Consulte a documentação do fornecedor do SO para obter informações sobre a ativação do ntpd ou do chronyd.
Crie uma chave de encriptação
O Looker usa a encriptação AES-256 no modo Galois/Counter (GCM) para encriptar dados confidenciais armazenados internamente, incluindo:
- Cópias de segurança da base de dados interna do Looker
- Informações de ligação de bases de dados e serviços
- Informações de autenticação do utilizador
- Valores de atributos do utilizador
- Dados de clientes em cache ou preparados para entrega
Para uma lista detalhada dos dados que o Looker encripta, abra um pedido de apoio técnico.
Os dados são encriptados através de uma chave de dados exclusiva e contêm um envelope de encriptação assinado e com controlo de versões para garantir a validação. Este modo requer a utilização de uma chave principal do cliente (CMK) externa. A CMK é usada para derivar, encriptar e desencriptar a chave de encriptação de chaves (KEK), que, por sua vez, é usada para derivar, encriptar e desencriptar chaves de dados.
A encriptação é usada apenas para a base de dados interna e a cache do Looker. As bases de dados de clientes não são afetadas pela encriptação do Looker de forma alguma. Além disso, apenas os dados estáticos (dados armazenados no disco) são encriptados desta forma.
As instalações alojadas pelo cliente podem usar as suas próprias contas do AWS KMS ou os seus próprios sistemas de gestão de chaves personalizados. Todas as chaves de dados e a KEK são encriptadas e usadas internamente na instalação do Looker alojada pelo cliente. Se não estiver a usar o AWS KMS, a CMK externa deve ser mantida num local seguro e permanente! A perda da CMK após a encriptação da base de dados interna pode resultar na perda da sua instância.
Se estiver a usar o AWS KMS
Se estiver a usar o AWS KMS, crie uma CMK através da AWS Management Console ou da API.
Depois de criar a CMK, o Looker recomenda que crie uma nova função do IAM exclusiva para a CMK e a associe à sua instância do Looker.
Segue-se um exemplo de uma função do IAM que contém as autorizações mínimas necessárias para a 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 a nova função do IAM, defina a variável de ambiente AWS_REGION
para a sua região da AWS e a variável de ambiente LKR_AWS_CMK
para o alias da CMK:
export AWS_REGION=<AWS_region>
export LKR_AWS_CMK=alias/<CMK_alias>
Opcionalmente, também pode definir a variável de ambiente LKR_AWS_CMK_EC
para definir um contexto de encriptação da AWS personalizado. Se não definir esta variável de ambiente, o Looker usa o contexto de encriptação predefinido, a string Looker_Encryption_Context
.
export LKR_AWS_CMK_EC=<My_Encryption_Context>
Se não estiver a usar o AWS KMS
Se não estiver a usar o AWS KMS, gere uma CMK de 32 bytes em Base64. Pode armazenar a CMK numa variável de ambiente ou num ficheiro:
Para gerar a CMK e armazená-la numa variável de ambiente, pode usar o seguinte comando para gerar a CMK:
openssl rand -base64 32
Depois de gerar a CMK, copie-a e use o seguinte comando para armazenar a CMK na variável de ambiente
LKR_MASTER_KEY_ENV
(em que<CMK_value>
é a CMK que gerou com o comando anterior):export LKR_MASTER_KEY_ENV=<CMK_value>
Para gerar e armazenar a CMK num ficheiro, pode usar o seguinte comando (em que
<path_to_key_file>
é o caminho e o nome do ficheiro para armazenar a CMK):openssl rand -base64 32 > <path_to_key_file>
Depois de gerar o ficheiro CMK, defina as autorizações do ficheiro de chave como só de leitura para o utilizador atual:
chmod 0400 <path_to_key_file>
Depois de gerar uma CMK, certifique-se de que a armazena num local seguro e permanente antes de continuar! A perda da CMK após a encriptação da base de dados interna pode resultar na perda da sua instância.
Depois de gerar e armazenar a CMK, defina a variável de ambiente LKR_MASTER_KEY_ENV
:
Se estiver a armazenar a CMK numa variável de ambiente, defina a variável de ambiente
LKR_MASTER_KEY_ENV
para o valor da CMK:export LKR_MASTER_KEY_ENV=<CMK_value>
Se estiver a armazenar a CMK num ficheiro, defina a variável de ambiente
LKR_MASTER_KEY_FILE
para o caminho do ficheiro CMK:export LKR_MASTER_KEY_FILE=<path_to_key_file>
Depois de gerar uma CMK, certifique-se de que a armazena num local seguro e permanente antes de continuar! A perda da CMK após a encriptação da base de dados interna pode resultar na perda da sua instância.
Instale a aplicação Looker
Crie um grupo
looker
.sudo groupadd looker
Crie o utilizador
looker
e o respetivo diretório principal.sudo useradd -m -g looker looker
Mude para o utilizador
looker
; não execute o Looker como raiz.sudo su - looker
Crie o subdiretório
looker
no diretório inicial.mkdir ~/looker
Altere para o subdiretório
looker
.cd ~/looker
Certifique-se de que está no diretório correto.
pwd
Se os seus diretórios de utilizadores estiverem em
/home
, o resultado deste comando deve ser/home/looker/looker
.Transfira os ficheiros JAR do Looker escolhidos através de um dos métodos na página de documentação Transferir os ficheiros JAR do Looker. Certifique-se de que ambos os ficheiros JAR são da mesma versão. A utilização de versões diferentes dos ficheiros JAR principais e de dependência pode causar instabilidade na sua instalação do Looker.
Transfira o script de arranque mais recente no repositório do GitHub looker-open-source. Se quiser que o Looker seja executado no arranque do sistema, pode transferir o script looker_init e usar as opções de script
systemd
einit
.Mova o script de arranque (denominado
looker
) e os ficheiros JAR do Looker (denominadoslooker-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
.Mudar o nome de
looker-x.x.x.jar
paralooker.jar
e delooker-dependencies-x.x.x.jar
paralooker-dependencies.jar
.O script de arranque determina automaticamente a quantidade de memória Java a atribuir ao Looker. Se quiser personalizar este valor manualmente, consulte a página de documentação Definições de memória Java recomendadas para mais informações.
Torne o script de arranque do Looker executável (defina as autorizações como
0750
).chmod 0750 looker
Inicie o processo do Looker a partir da shell como utilizador
looker
../looker start
Para obter ajuda com a denúncia de startups, use:
java -jar looker.jar --help
Em alternativa, para obter ajuda com o comando de arranque, use:
java -jar looker.jar help
Abra um navegador para
https://hostname:9999
, ondehostname
é o nome DNS do anfitrião que executa o Looker.Deve usar
https
no URL, o que cria um aviso de segurança que tem de ignorar. Este aviso vai persistir até ser instalado um certificado SSL válido no servidor.Introduza a chave de licença obtida junto do seu analista do Looker.
Introduza um nome, um email e uma palavra-passe para criar a sua primeira conta.
Crie um registo DNS
Adicione um registo de DNS looker.[yourdomain].com
para o servidor. Este passo é opcional, mas recomendado.
Implementar o Looker automaticamente
O Looker pode ser implementado através de uma ferramenta de gestão de configuração, como o Ansible ou o Chef. Está disponível um exemplo de função do Ansible para implementação automatizada na página de documentação Ferramentas de gestão de configuração.
Aperfeiçoamento do hipervisor
O Looker é executado como uma máquina virtual Java. Se a sua instância do Looker estiver num convidado do VMware, pode ter de fazer alguns ajustes de desempenho. Consulte o guia de práticas recomendadas de Java da VMware.
Noutras plataformas de virtualização, pode melhorar o desempenho reservando a memória do anfitrião do Looker a partir do hipervisor. Isto não é controlável no Amazon EC2. No entanto, para outros fornecedores, deve consultar a respetiva documentação para obter mais informações.
Configurar uma base de dados de back-end MySQL opcional
Por predefinição, o Looker usa uma base de dados na memória HyperSQL para armazenar a respetiva configuração, utilizadores e outros dados. No entanto, pode usar uma base de dados MySQL externa para armazenar as informações internas do Looker. Consulte a página de documentação Migrar para o MySQL para ver informações sobre a configuração e o ajuste de uma base de dados de back-end do MySQL.
Passos seguintes
Depois de instalar o Looker, pode configurar as opções de arranque do Looker.