Instalação de software de renderização hospedada pelo cliente

O Looker exige um software de renderização chamado Chromium para enviar ou fazer o download de dados em formatos baseados em imagem (arquivos HTML e PNG ou PDF) e usar recursos como Tamanho do papel e Expandir tabelas. Nesta página, explicamos como instalar um software de renderização em uma instância do Looker hospedada pelo cliente.

O Chromium já está instalado para instâncias hospedadas pelo Looker.

A renderização do Chromium aguarda a conclusão de todos os recursos solicitados pela página antes de enviar o indicador "concluída" que solicita ao Looker que produza o conteúdo renderizado. Devido à quantidade e à frequência dessas solicitações de recursos, algumas redes podem sinalizar falsamente as solicitações como maliciosas, fazendo com que elas sejam descartadas, o que atrasa os jobs renderizados.

O Projeto Chromium é um projeto de código aberto iniciado pelo Google para compartilhar as partes não reservadas do Google Chrome.

Requisitos e pré-requisitos de instalação do Chromium

O Looker oferece suporte a versões de lançamento de todas as principais distribuições Linux empresariais, incluindo Ubuntu, Debian, RedHat, CentOS e Amazon Linux. Esta página fornece instruções para instalar o Chromium no Ubuntu, Debian e RedHat/CentOS/Amazon Linux.

O Chromium precisa estar instalado em um caminho executável na máquina que hospeda a instância do Looker. O aplicativo Looker precisa acessar o Chromium usando o comando chromium ou um caminho personalizado definido com a variável de ambiente CHROMIUM_PATH.

Para executar o Chromium em uma instância do Looker, é necessário o Chromium 86 ou mais recente, mas o Looker recomenda o uso do Chromium 102.x especificamente. Se a instância do Looker estiver instalada no Debian, o Chromium exigirá o Debian 9 (extension) ou posterior.

Se você estiver instalando o Chromium em uma instalação em cluster do Looker, a versão do Chromium em cada nó precisará ser totalmente idêntica. Mesmo diferenças menores, como números de build diferentes, podem interferir nos recursos de renderização do Looker.

Se os dados contiverem caracteres que não sejam em inglês, instale o pacote Google Noto Fonts (com vários GB de tamanho) além do Chromium. Para instalar esse pacote de fontes, execute estes comandos na linha de comando:

mkdir -p /tmp/fonts
cd /tmp/fonts
curl -O https://noto-website-2.storage.googleapis.com/pkgs/Noto-unhinted.zip
unzip Noto-unhinted.zip
mkdir -p /usr/share/fonts/opentype/noto
cp *.otf *.otc /usr/share/fonts/opentype/noto   # Ignore any *.otc not found errors
mkdir -p /usr/share/fonts/truetype/noto
cp *.ttf /usr/share/fonts/truetype/noto
chmod a+r -R /usr/share/fonts/*/noto
fc-cache -f -v

Se for bem-sucedido, então:

cd $HOME
rm -rf /tmp/fonts

Como instalar o Chromium no Ubuntu

O aplicativo Looker precisa acessar o Chromium usando o comando chromium ou um caminho personalizado definido com a variável de ambiente CHROMIUM_PATH. Para instalações do Ubuntu, você precisa instalar o navegador da Web Chromium e definir um alias para que o aplicativo Looker possa encontrar a instalação.

O Looker recomenda que você use o comando sudo ao realizar etapas que exigem permissões elevadas. Não instale o Chromium quando você estiver conectado como usuário raiz. Se você instalar o Chromium enquanto estiver conectado como usuário raiz, o Looker talvez não consiga executar a renderização de PDF ou PNG.

  1. As fontes precisam estar instaladas no sistema para que o Chromium seja iniciado. É possível instalar fontes usando a interface de linha de comando. Por exemplo, este comando instala as fontes padrão no Ubuntu 16.04 LTS:

    apt-get install fonts-freefont-otf
    
  2. Para instalar o Chromium, execute:

    apt-get update && apt-get install -y chromium-browser
    
  3. É preciso atribuir o alias chromium-browser como chromium ou exportar a variável de ambiente CHROMIUM_PATH. Para definir chromium-browser como chromium, coloque o seguinte no arquivo ~/.bashrc:

    alias chromium='chromium-browser'
    

    Para que o Looker conheça esse alias, execute este comando na linha de comando:

    sudo ln -s /usr/bin/chromium-browser /usr/bin/chromium
    
  4. Depois de definir qualquer uma das variáveis de ambiente opcionais, reinicie o aplicativo Looker para que elas entrem em vigor. Talvez seja necessário reiniciar todas as sessões de terminal abertas ou executar source ~/.bash_profile para que o terminal leia a nova configuração.

Depois de instalar o Chromium, você receberá uma resposta válida de chromium --version se não tiver definido a variável de ambiente CHROMIUM_PATH ou $CHROMIUM_PATH --version se tiver definido a variável de ambiente CHROMIUM_PATH.

Como instalar o Chromium no Debian

O Looker recomenda que você use o comando sudo ao realizar etapas que exigem permissões elevadas. Não instale o Chromium quando você estiver conectado como usuário raiz. Se você instalar o Chromium após fazer login como usuário raiz, talvez o Looker não consiga executar a renderização de PDF ou PNG.

O Chromium requer o Debian 9 (extensão) ou posterior.

Se a instância do Looker usar o Docker com uma instalação básica do Debian, instale o procps e verifique se você não está executando como raiz.

  1. As fontes precisam estar instaladas no sistema para que o Chromium seja iniciado. Para instalar fontes usando a interface de linha de comando, execute:

    apt-get install fonts-freefont-otf
    
  2. Para instalar o Chromium, execute:

    apt-get update && apt-get install -y chromium
    
  3. Depois de definir qualquer uma das variáveis de ambiente opcionais, reinicie o aplicativo Looker para que elas entrem em vigor. Talvez seja necessário reiniciar todas as sessões de terminal abertas ou executar source ~/.bash_profile para que o terminal leia a nova configuração.

Depois de instalar o Chromium, você receberá uma resposta válida de chromium --version se não tiver definido a variável de ambiente CHROMIUM_PATH ou $CHROMIUM_PATH --version se tiver definido a variável de ambiente CHROMIUM_PATH.

Variáveis de ambiente opcionais do Chromium

  • CHROMIUM_PATH: caminho para o binário do Chromium, padrão chromium.

  • CHROMIUM_PID_DIR: caminho para onde a biblioteca pode armazenar arquivos PID do Chromium, padrão chromium_pid_files no diretório de trabalho do aplicativo do Looker.

  • CHROMIUM_PORT_RANGE_START e CHROMIUM_PORT_RANGE_END: o aplicativo Chromium precisa de um intervalo de portas para a comunicação entre os processos na máquina local. O intervalo padrão é de 40.000 a 40.500, mas é possível modificar esse padrão definindo essas duas variáveis de ambiente. As portas não utilizadas são selecionadas aleatoriamente no intervalo e usadas apenas durante a duração de uma única renderização.

  • DISABLE_EXTERNAL_RENDER_ACCESS: administradores de instâncias ou servidores do Looker hospedados pelo cliente que não têm acesso externo ou bloqueado à Internet precisam definir DISABLE_EXTERNAL_RENDER_ACCESS=true. Normalmente, o renderizador do Chromium espera até que todos os recursos solicitados pela página sejam concluídos antes de enviar o erro "concluído" que solicita que o Looker produza o conteúdo. Algumas dessas solicitações podem ser descartadas devido à falta de conexão, resultando em tempos limite ou tempos de renderização muito longos. Definir essa variável de ambiente como true impede que o renderizador aguarde a conclusão de todas as solicitações. Algumas visualizações de mapa e personalizadas instaladas no Marketplace do Looker podem exigir acesso à Internet.