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 imagens (arquivos HTML, PNG ou PDF) e usar recursos como Tamanho do papel e Abrir 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 erro "concluído" que solicita que o Looker produza o conteúdo renderizado. Devido ao número e à frequência dessas solicitações de recursos, algumas redes podem sinalizar erroneamente as solicitações como maliciosas, fazendo com que elas sejam descartadas, o que atrasará os trabalhos 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 de cluster do Looker, a versão do Chromium em cada nó precisa ser totalmente idêntica. Mesmo pequenas diferenças, como outros números de build, podem interferir nos recursos de renderização do Looker.

Se os dados contiverem caracteres que não sejam do inglês, instale o pacote Google Noto Fonts (que tem vários GB de tamanho), além de instalar o 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

Em caso de êxito, 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. No caso de instalações do Ubuntu, é necessário instalar o navegador da Web Chromium e definir um alias para que o aplicativo Looker encontre 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 tiver feito login 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.

  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 um alias de 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 também seja necessário reiniciar todas as sessões abertas do terminal ou executar source ~/.bash_profile para que o terminal leia a nova configuração.

Depois de instalar o Chromium, você vai 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 tiver feito login 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.

O Chromium exige o Debian 9 (stretch) ou mais recente.

Se a instância do Looker usa o Docker com uma instalação básica do Debian, instale 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 também seja necessário reiniciar todas as sessões abertas do terminal ou executar source ~/.bash_profile para que o terminal leia a nova configuração.

Depois de instalar o Chromium, você vai 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. O padrão é chromium.

  • CHROMIUM_PID_DIR: caminho para onde a biblioteca pode armazenar arquivos de 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 uma variedade de portas para se comunicar 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 são usadas apenas pela 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 vai aguardar a conclusão de todos os recursos solicitados pela página antes de enviar o sinal "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.