Falhas no serviço de usuário systemd

Você pode receber um dos erros a seguir ao atualizar ou ao executar initialize-tsm durante uma nova instalação:

  • "Failed to get D-Bus connection: No such file or directory" (Falha ao obter a conexão D-Bus: nenhum arquivo ou diretório como esse.)
  • "$XDG_RUNTIME_DIR not found" ($XDG_RUNTIME_DIR não encontrado)
  • "systemd unit user@<userID> is not running. Check /var/log/messages or /var/log/syslog." (a unidade systemd user@<userID> não está em execução. Verifique /var/log/messages ou /var/log/syslog.)

Segundo plano

A partir da versão 2018.1, o Tableau Server usa o serviço do usuário systemdpara gerenciar processos. Isso significa que há um processo systemd que funciona como o usuário sem privilegiados. Por padrão, a configuração do Tableau Server cria uma conta sem privilégios chamada tableau. Os processos do Tableau Server são gerados a partir do processo systemd e não do processo systemd em todo o sistema, que funciona como raiz.

Importante: esta observação de solução de problemas aplica-se principalmente a distros baseados em RHEL 7. No entanto, se encontrar um desses erros, é possível que existam os mesmos problemas nos distros do Ubuntu.

O serviço do usuário systemd não é usado com tanta frequência quanto o gerenciador de processos systemdnormal. Red Hat desativou o serviço de usuário systemd no RHEL 7 (e, assim, todas os distros que vêm do RHEL, como CentOS, Oracle Linux 7, Amazon Linux 2). No entanto, o RedHat garantiu ao Tableau que a execução do serviço de usuário systemd é compatível desde que o serviço seja reativado.

Atualizar do Tableau Server no Linux 10.5

Se você atualizando do Tableau Server 10.5, verifique se o usuário sem privilégios tem um shell e um diretório inicial válidos. No Tableau Server 10.5, o Tableau criou deliberadamente o usuário sem privilégios com shell definido como /sbin/nologin e diretório inicial como "/". Se o usuário sem privilégios foi criado por initialize-tsm, então durante a atualização para a versão 2018.1 o Tableau atualiza o shell e o diretório inicial.

No entanto, se você criou o usuário sem privilégios durante a instalação inicial do a versão 10.5, então ocorrerá um erro ao tentar atualizar.

Para corrigir isso, defina o shell como /sbin/nologin e o diretório inicial como "/",e, em seguida, execute a atualização novamente.

Nova solução de problemas de erro de instalação

Verifique se o serviço de usuário systemd está em execução.

Verifique ao executar o comando, ps -fww $(pgrep -f "systemd --user")

Se o serviço do usuário systemd não estiver sendo executado, algo o impediu de começar.

Siga esta lista para solucionar problemas:

  • Verifique os registros em /var/log/messages

  • Execute journalctl

  • Verifique se alguma personalização que você possa ter feito na configuração PAM não foi removeu pam_systemd.so.

    Se o arquivo RHEL 7 PAM /etc/pam.d/system-auth estiver faltando a seguinte linha:

    -session optional pam_systemd.so

    ele deve ser adicionado de volta ao Tableau Server para funcionar.

  • Se -session optional pam_systemd.so estiver presente na configuração PAM, o serviço do usuário não pode ser inicializado e a mensagem de erro $XDG_RUNTIME_DIR not found for exibida em /var/log/messages, não tente definir a variável de ambiente. Neste cenário, o erro não é preciso.

    O verdadeiro erro é que o módulo PAM pam_systemd.so não consegue alocar a sessão do usuário. A configuração padrão suprime mensagens de erro do pam_systemd.so. Para mostrar mensagens de erro e depurar mensagens, altere a linha em /etc/pam.d/system-auth de -session optional pam_systemd.so para session optional pam_systemd.so debug. (A remoção do hífen inicial vai mostrar as mensagens de erro, e a adição de debug mostrará registros mais detalhados.)

    Agora você pode olhar os arquivos em /var/log/messages, em /var/log/secure e em /var/log/audit/audit.log para ver mensagens de erro.

Exemplo

Você pode ver a seguinte mensagem de erro:

systemd-logind: Failed to mount per-user tmpfs directory /run/user/0: Permission denied

Nesse caso, pesquisar o erro on-line leva ao artigo do Redhat KB, https://access.redhat.com/solutions/2460611(O link abre em nova janela).

O artigo recomenda atualizar o pacote selinux-policy executando sudo yum update selinux-policy.

Em alguns casos, a atualização da versão 3.12.X para a 3.13.X corrige um problema $XDG_RUNTIME_DIR not found. Certifique-se de executar sudo reboot após atualizar o pacote.