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 erro "concluído" que solicita que o Looker produza o conteúdo renderizado. Devido à quantidade e à frequência dessas solicitações de recursos, algumas redes podem sinalizar incorretamente 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 proprietárias do Google Chrome.

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

O Looker oferece suporte às versões de lançamento de todas as principais distribuições do Linux para empresas, 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 ter o Chromium 86 ou mais recente, mas o Looker recomenda usar especificamente o Chromium 102.x. Se a instância do Looker estiver instalada no Debian, o Chromium exigirá o Debian 9 (extensão) ou posterior.

Se você estiver instalando o Chromium em uma instalação do Looker em cluster, a versão do Chromium em cada nó precisará 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 chromium-browser como chromium, coloque o seguinte no arquivo ~/.bashrc:

    alias chromium='chromium-browser'
    

    Para tornar esse alias conhecido pelo Looker, 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ê 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 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 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 na interface de linha de comando, execute o seguinte:

    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ê 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 de onde a biblioteca pode armazenar arquivos PID do Chromium. O padrão é chromium_pid_files no diretório de trabalho do aplicativo 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 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 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 outras personalizadas que são instaladas pelo Marketplace do Looker podem exigir acesso à Internet.