Parte 7 - Validação, ferramentas e solução de problemas

Essa parte inclui etapas de validação pós-instalação e orientações para solução de problemas.

Validação do sistema de failover

Depois de configurar sua implantação, recomendamos a execução de testes simples de failover para validar a redundância do sistema.

Recomendamos executar as seguintes etapas para validar a funcionalidade de failover:

  1. Encerre a primeira instância do Independent Gateway (TSIG1). Todo o tráfego de entrada deve ser roteado pela segunda instância do Independent Gateway (TSIG2).
  2. Reinicie o TSIG1 e desligue o TSIG2. Todo o tráfego de entrada deve ser roteado pelo TSIG1.
  3. Reinicie o TSIG2.
  4. Desligue o nó 1 do Tableau Server. Todo o tráfego do serviço Vizportal/Application fará failover para o Nó 2.

    Observação a partir de setembro de 2022, a alta disponibilidade do nó 1 foi comprometida nas versões do Tableau Server 2021.4 e posteriores. As conexões do cliente falharão se o Nó 1 estiver inativo. Esse problema foi corrigido nestas versões de manutenção:

    - 2021.4.15 e posteriores
    - 2022.1.11 e posteriores
    - 2023.1.3 e posterior

    Para garantir que a instalação do Tableau Server usando ativações ATR terá um período de carência de 72 horas após a falha inicial do nó, instale ou atualize para uma dessas versões. Para obter mais detalhes, consulte O Tableau Server HA usando ATR não tem período de carência após a falha inicial do nó(O link abre em nova janela) na base de dados de conhecimento do Tableau.

  5. Reinicie o Node1 e desligue o Node 2. Todo o tráfego do serviço Vizportal/Application fará failover para o Nó 1.
  6. Reinicie o Nó 2.

Nesse contexto, "desligar" ou "reiniciar" é feito desligando o sistema operacional ou a máquina virtual sem tentar um desligamento normal do aplicativo antes. O objetivo é simular uma falha de hardware ou máquina virtual.

A etapa mínima de validação para cada teste de failover é autenticar com um usuário e executar operações básicas de exibição.

Você pode receber um erro de navegador "Solicitação inválida" ao tentar entrar após uma falha simulada. Você pode ver esse erro mesmo se limpar o cache no navegador. Frequentemente, esse problema ocorre quando o navegador está armazenando dados em cache de uma sessão anterior do IdP. Se esse erro persistir mesmo depois de limpar o cache do navegador local, valide o cenário do Tableau conectando-se em um navegador diferente.

Recuperação automatizada de nó inicial

Tableau Server versão 2021.2.4 e posterior incluem um script de recuperação de nó inicial automatizado,auto-node-recovery, no diretório de scripts (/app/tableau_server/packages/scripts.<version>)

Se houver um problema com o nó inicial e você tiver processos redundantes no Nó 2, não há garantia de que o Tableau Server continuará em execução. O Tableau Server pode continuar em execução por até 72 horas após uma falha inicial do nó, antes que a falta do serviço de licenciamento afete outros processos. Se afetar, seus usuários ainda poderão fazer logon, ver e usar seus conteúdos depois da falha no nó inicial, mas você não poderá reconfigurar o Tableau Server, pois não tem acesso ao Controlador de administração.

Mesmo quando configurado com processos redundantes, é possível que o Tableau Server não continue a funcionar após a falha do nó inicial.

Para recuperar a falha do nó inicial (Nó 1)

  1. Fazer logon no Nó 2 do Tableau Server.

  2. Mude para o diretório de scripts:

    cd /app/tableau_server/packages/scripts.<version>
  3. Execute o seguinte comando para iniciar o script:

    sudo ./auto-node-recovery -p node1 -n node2 -k <license keys>

    Onde <license keys> é uma lista separada por vírgulas (sem espaços) das chaves de licença para sua implementação. Se você não tiver acesso às suas chaves de licença, visite o Portal do cliente(O link abre em nova janela) do Tableau para recuperá-las. Por exemplo:

    sudo ./auto-node-recovery -p node1 -n node2 -k TSB4-8675-309F-TW50-9RUS,TSNM-559N-ULL6-22VE-SIEN

O script de recuperação automática do nó executará cerca de 20 etapas para recuperar serviços para o Nó 2. Cada etapa é exibida no terminal à medida que o script avança. Status mais detalhado é registrado em /data/tableau_data/logs/app-controller-move.log . Na maioria dos ambientes, o script leva entre 35 e 45 minutos para ser concluído.

Solução de problemas de recuperação de nó inicial

Se a recuperação do nó falhar, você pode achar útil executar o script interativamente para permitir ou proibir etapas discretas no processo. Por exemplo, se o script falhar em parte do processo, você pode revisar o arquivo de registro, fazer alterações na configuração e, em seguida, executar o script novamente. Ao executar no modo interativo, você pode pular todas as etapas até chegar à etapa que falhou.

Para executar no modo interativo, adicione-i mude para o argumento do script.

Recompilação do nó com falha

Depois de executar o script, o Nó 2 executará todos os serviços que estavam anteriormente no host do Nó 1 com falha. Para adicionar o nó 4, você precisa implantar um novo host do Tableau Server com o arquivo de bootstrap e configurá-lo como fez para o Nó 2 original, conforme especificado na Parte 4. Consulte Configurar o Nó 2.

switchto

Switchto é um script do Tim que torna mais fácil alternar entre as janelas.

  1. Copie o seguinte código em um arquivo chamadoswitchto no diretório inicial do seu host bastião.
  2. #!/bin/bash
    #-------------------------------------------------------------------
    # switchto
    #
    # Helper function to simplify SSH into the various AWS hosts when
    # following the Tableau Server Enterprise Deployment Guide (EDG).
    #
    # Place this file on your bastion host and provide your AWS hosts' 
    # internal ip addresses or machine names here.
    # Example: readonly NODE1="10.0.3.187"
    #
    readonly NODE1=""
    readonly NODE2=""
    readonly NODE3=""
    readonly NODE4=""
    readonly PGSQL=""
    readonly PROXY1=""
    readonly PROXY2=""
    				
    usage() {
    echo "Usage: switchto.sh [ node1 | node2 | node3 | node4 | pgsql | proxy1 | proxy2 ]"
    }
    
    
    ip=""
    
    case $1 in
    	node1)
    		ip="$NODE1"
    		;;
    	node2)
    		ip="$NODE2"
    		;;
    	node3)
    		ip="$NODE3"
    		;;
    	node4)
    		ip="$NODE4"
    		;;
    	pgsql)
    		ip="$PGSQL"
    		;;
    	proxy1)
    		ip="$PROXY1"
    		;;
    	proxy2)
    		ip="$PROXY2"
    		;;
    	?)
    		usage
    		exit 0
    		;;
    	*)
    		echo "Unkown option $1."
    		usage
    		exit 1
    		;;
    esac
    
    if [[ -z $ip ]]; then
    echo "You must first edit this file to provide the ip addresses of your AWS hosts."
    exit 1
    fi
    
    ssh -A ec2-user@$ip
  3. Atualize os endereços IP no script para mapear para suas instâncias EC2 e, em seguida, salve o arquivo.
  4. Aplique permissões ao arquivo de script:
  5. sudo chmod +x switchto

Uso:

Para alternar para um host, execute os comandos a seguir:

./switchto <target>

Por exemplo, para mudar para o Nó 1, execute o seguinte comando:

./switchto node1

Solucionar problemas o Tableau Server Independent Gateway

A configuração de Independent Gateway, Okta, Mellon e SAML no Tableau Server pode ser um processo propenso a erros. A causa raiz mais comum de falhas é um erro de cadeia de caracteres. Por exemplo, uma barra final (/ ) nas URLs do Okta especificadas durante a configuração pode causar um erro de incompatibilidade relacionado à declaração SAML. Isso é apenas um exemplo. Há muitas oportunidades durante a configuração para inserir uma cadeia de caracteres incorreta em qualquer um dos aplicativos.

Reiniciar o serviço tableau-tsig

Sempre inicie (e termine) a solução de problemas reiniciando o serviço tableau-tsig nos computadores do Gateway Independente. Reiniciar esse serviço é rápido e geralmente aciona a configuração atualizada para carregar do Tableau Server.

Execute os comandos a seguir para atualizar o computador do Independent Gateway:

sudo su - tableau-tsig
systemctl --user restart tsig-httpd
exit

Encontrar cadeias de caracteres incorretas

Se você cometeu um erro de cadeia de caractere (erro de copiar/colar, cadeia de caractere truncada etc.), reserve um tempo para percorrer cada uma das configurações que você configurou:

  • Configuração de pré-autenticação do Okta. Revise cuidadosamente as URLs que você definiu. Procure por barras à direita. Verifique HTTP vs HTTPS.
  • Histórico de shell para configuração de SAML no nó 1. Reveja o comando tsm authentication saml configure que você executou. Verifique se todas as URLs correspondem àquelas que você configurou no Okta. Enquanto estiver revisando o histórico do shell do Nó 1, verifique se os comandos tsm configuration set que especificam os caminhos do arquivo de configuração do Mellon mapeiam exatamente para os caminhos do arquivo onde você copiou os arquivos no Independent Gateway.
  • Configuração do Mellon no Independent Gateway. Revise o histórico do shell para verificar se você criou os metadados com a mesma cadeia de caractere de URL que você configurou no Okta e no Tableau SAML. Verifique se todos os caminhos especificados em/etc/mellon/conf.d/global.conf estão corretos e que MellonCookieDomain está definido para seu domínio raiz, não para seu subdomínio do Tableau.

Pesquisar registros relevantes

Se todas as cadeias de caracteres parecem estar configuradas corretamente, você deve inspecionar os registros em busca de erros.

O Tableau Server registra erros e eventos em dezenas de arquivos de registros diferentes. O Independent Gateway também registra em um conjunto de arquivos locais. Recomendamos inspecionar esses registros na seguinte ordem.

Arquivos de registro do Independent Gateway

O local padrão dos registros de arquivos de registro do Independent Gateway estão em /var/opt/tableau/tableau_tsig/logs.

  • access.log: esse registro é útil na medida em que possui entradas que mostram conexões dos nós do Tableau Server. Se você estiver recebendo erros de gateway (não iniciará) ao tentar iniciar o TSM e não houver entradas no arquivo access.log, há um problema de conectividade principal. Sempre verifique a configuração do grupo de segurança da AWS como primeira etapa. Outro problema comum é um erro de digitação tsig.json. Se você fizer uma atualização para tsig.json, execute tsm stop antes de executar r tsm topology external-services gateway update -c tsig.json. Depois que o tsig.json for atualizado, execute tsm start.
  • error.log: entre outras entradas, este registro inclui erros SAML e Mellon.

Arquivo de registro do tabadminagent do Tableau Server

O conjunto de arquivos tabadminagent (tabadmincontroller) são os únicos arquivos de registro relevantes para solucionar erros relacionados ao Independent Gateway.

Você deve localizar onde os erros do Independent Gateway foram registrados no tabdminagent. Esses erros podem estar em qualquer nó, mas estão apenas em um nó. Execute as etapas a seguir em cada nó no cluster do Tableau Server até encontrar a cadeia de caracteres “independent”:

  1. Localize o local do arquivo de registro tabadminagent nos nós 1-4 do Tableau Server na configuração do EDG:

    cd /data/tableau_data/data/tabsvc/logs/tabadminagent
  2. Abra o registro mais recente para ler:

    less tabadminagent_nodeN.log

    (substitua N pelo número do nó)

  3. Pesquise todas as instâncias de “Independent” e “independent” - usando a seguinte cadeia de caracteres de pesquisa:

    /ndependent

    Se não houver correspondências, vá para o próximo nó e repita as etapas 1 a 3.

  4. Quando você consegue uma correspondência: Shift + G para mover para baixo para obter as últimas mensagens de erro.

Recarregue o arquivo stub httpd

O Independent Gateway gerencia a configuração do httpd para Apache. Uma operação genérica que geralmente corrige problemas transitórios é recarregar o arquivo stub httpd que propaga a configuração subjacente do Apache. Execute os comandos a seguir em ambas as instâncias do Gateway Independente.

  1. Copie o arquivo stub para httpd.conf:

    cp /var/opt/tableau/tableau_tsig/config/httpd.conf.stub /var/opt/tableau/tableau_tsig/config/httpd.conf
  2. Reinicie o serviço do Independent Gateway:

    sudo su - tableau-tsig
    systemctl --user restart tsig-httpd
    exit

Excluir ou mover arquivos de registro

O Independent Gateway registra todos os eventos de acesso. Você precisará gerenciar o armazenamento de arquivos de registro para evitar o preenchimento de espaço em disco. Se o seu disco ficar cheio, o Independent Gateway não poderá gravar eventos de acesso e o serviço falhará. A seguinte mensagem será registrada em error.log no Independent Gateway:

(28)No space left on device: [client 10.0.2.209:54332] AH00646: Error writing to /var/opt/tableau/tableau_tsig/logs/access.%Y_%m_%d_%H_%M_%S.log

Esta falha resultará em um status de DEGRADED para o nó external quando você executa tsm status -v no Nó 1 do Tableau. O nó external na saída de status refere-se ao Independent Gateway.

Para resolver esse problema, exclua ou mova os arquivos access.log do disco. Os arquivos de registro são armazenados em /var/opt/tableau/tableau_tsig/logs. Depois de limpar o disco, reinicie o serviço tableau-tsig.

Erros do navegador

Solicitação inválida: um erro comum neste cenário é um erro de "Solicitação inválida" da Okta. Frequentemente, esse problema ocorre quando o navegador está armazenando dados em cache de uma sessão anterior do Okta. Por exemplo, se você gerencia os aplicativos Okta como um administrador Okta e, em seguida, tenta acessar o Tableau usando uma conta habilitada para Okta diferente, os dados da sessão dos dados do administrador podem causar o erro "Solicitação inválida". Se esse erro persistir mesmo depois de limpar o cache do navegador local, tente validar o cenário do Tableau conectando-se em um navegador diferente.

Outra causa do erro "Solicitação inválida" é um erro de digitação em uma das muitas URLs que você insere durante os processos de configuração do Okta, Mellon e SAML. Verifique se você digitou tudo isso sem erros.

Muitas vezes o arquivo error.log no servidor do Independent Gateway especificará qual URL está causando o erro.

Não encontrado - A URL solicitada não foi encontrado neste servidor: este erro indica um dos muitos erros de configuração.

Se o usuário for autenticado com Okta e receber esse erro, é provável que você tenha carregado o aplicativo de pré-autenticação Okta para o Tableau Server quando configurou o SAML. Verifique se você tem os metadados do aplicativo Okta Tableau Server configurados no Tableau Server, e não os metadados do aplicativo de pré-autenticação Okta

Outras etapas de solução de problemas:

  • Revise as configurações do aplicativo de pré-autenticação do Okta. Certifique-se de que os protocolos HTTP vs HTTPS estejam definidos, conforme especificado neste tópico.
  • Reinicie o tsig-httpd em ambos os servidores do Independent Gateway.
  • Verifique se sudo apachectl configtest retorna “Sintaxe OK” em ambos Independent Gateways.
  • Verifique se o usuário de teste está atribuído a ambos os aplicativos no Okta.
  • Verifique se a aderência está definida no balanceador de carga e grupos de destino associados

Verifique o TLS do Tableau Server para o Independent Gateway

Use o comando wget para verificar a conectividade e o acesso do Tableau Server para o Independent Gateway. Variações desse comando podem ajudá-lo a entender se os problemas de certificado estão causando problemas de conexão.

Por exemplo execute este comando wget para verificar o protocolo de manutenção (HK) do Tableau Server:

wget https://ip-10-0-1-38.us-west-1.compute.internal:21319

Crie a URL com o mesmo endereço de host que você incluiu para a opção de host do arquivo tsig.json. Especifique o protocolo https e anexe a URL com a porta HK 21319.

Para verificar a conectividade e ignorar a verificação do certificado:

wget https://ip-10-0-1-38.us-west-1.compute.internal:21319 --no-check-certificate

Para verificar se o certificado CA raiz para TSIG é válido:

wget https://ip-10-0-1-38.us-west-1.compute.internal:21319 --ca-certificate=tsigRootCA.pem

Se o Tableau conseguir se comunicar, você ainda poderá receber erros relacionados ao conteúdo, mas não receberá erros relacionados à conexão. Se o Tableau não conseguir se conectar, comece verificando a configuração do protocolo nos grupos de firewall/segurança. Por exemplo, as regras de entrada para o grupo de segurança em que reside o Independent Gateway devem permitir TCP 21319.

Agradecemos seu feedback!Seu feedback foi enviado. Obrigado!