Serviço de fila de mensagens externo (RabbitMQ) para Resource Monitoring Tool do Tableau
O Resource Monitoring Tool do Tableau usa RabbitMQ como serviço de fila de mensagens para coletar dados de Agentes e trazê-los para o Servidor RMT. Essas informações na fila são processadas e eventualmente armazenadas no repositório RMT (banco de dados PostgreSQL).
Antes da versão 2022.3, o serviço de fila de mensagens RabbitMQ era instalado automaticamente com o servidor RMT e esta era a única configuração disponível. A partir do RMT versão 2022.3, você pode reconfigurar o RMT Server para usar um serviço RabbitMQ hospedado externamente. Quando o Servidor RMT é configurado para usar um serviço de fila de mensagens hospedado externamente, nos referimos a ele como o serviço de fila de mensagens externo.
Com esta nova opção adicionada na versão 2022.3, o RMT Server pode ser configurado das seguintes formas:
- Continue a usar o serviço de fila de mensagens instalado localmente: Isso significa que o RabbitMQ que é instalado automaticamente com o RMT Server na mesma máquina será usado como oo serviço de mensagens para o RMT Server, e nenhuma alteração adicional será feita nesta configuração.
- Configure o RMT Server para usar um serviço de fila de mensagens externo: isso significa que o RAbbitMQ que o RMT usa está hospedado fora do RMT Server. Atualmente, apenas o AWS AMQ é compatível como plataforma de hospedagem para RabbitMQ. Como todas as mensagens dos Agentes passam pelo RabbitMQ, hospedar isso externamente libera recursos da máquina onde o RMT Server está instalado.
Para configurar e gerenciar o serviço de fila de mensagens externo, você deve ter um bom conhecimento da plataforma AWS AMQ. Recomendamos revisar a documentação no site da AWS. Você também precisará saber como configurar e gerenciar o serviço de fila de mensagens externas para RMT. Este tópico fornecerá essas informações nas seções abaixo.
Nova instalação do Resource Monitoring Tool
As instruções fornecidas nesta seção se aplicam a uma nova instalação do Resource Monitoring Tool. Se você tem uma instalação existente e deseja mover seu RabbitMQ local para uma configuração hospedada externamente, consulte a seção Instalações existentes do Resource Monitoring Tool do Tableau deste tópico.
Use as etapas a seguir para instalar a Tableau Resource Monitoring Tool e reconfigurar o RMT Server para usar um serviço de fila de mensagens externo:
Crie o Amazon AMQ para Rabbit MQ para hospedar o serviço de fila de mensagens externo com as seguintes recomendações:
Para o tipo de mecanismo, use o mecanismo RabbitMQ. Para a versão do Rabbit MQ, consulte a seção de compatibilidade do produto.
Use a mesma versão padrão usada quando o RabbitMQ for instalado localmente. Para obter mais informações, consulte a tabela de compatibilidade do produto.
Use um agente de instância única.
Especificação da instância: mq.m5.large, 2 vCPU/8 GiB de RAM.
Crie um nome de usuário/senha do RabbitMQ.
Para saber mais, consulte Trabalhar com o Amazon MQ para Rabbit MQ no site de documentação da AWS.
Teste a conexão do RMT Server com o agente de mensagens copiando o URL do console da Web do RabbitMQ da página do AWS MQ e cole-o em um navegador da Web no RMT Server. Faça login com o nome de usuário e a senha que você criou ao configurar o corretor.
Siga as instruções neste tópico para instalar o RMT Server, mas ignore as etapas para criar um ambiente. Você fará isso depois de configurar o RMT Server para usar o repositório externo .
Execute a configuração do rmtadmin da seguinte forma para configurar o serviço de fila de mensagens externo do Rabbit MQ:
rmtadmin master-setup --mq-config=external --mq-server=aws_amq_servername --mq-vhost='/' --mq-port=5671 --mq-username=aws_amq_username --mq-password='aws_amq_password' --mq-tls-certificate-host=aws_amq_servername
Agora crie um ambiente e baixe o arquivo bootstrap.
Execute o seguinte comando para criar um ambiente:
rmtadmin create-env --name=<myenvironment> --api-username=<TableauServer API user name> --api-password=<password for the Tableau Server API user account>
Faça download do arquivo de bootstrap para registrar os Agentes:
rmtadmin bootstrap-file --env=<myenvironment> --filename<The absolute or relative path including the file name>
As etapas são descritas detalhadamente no tópico Instalar o RMT Server usando a linha de comando.
Registre novamente os agentes nos nós do Tableau Server usando as instruções no tópico Instalar o Agente usando a linha de comando .
Instalações existentes do Resource Monitoring Tool do Tableau
Há dois caminhos para migrar instalações RMT existentes que estão usando atualmente um serviço de fila de mensagens local para um serviço de fila de mensagens externo:
Migração com recriação de ambiente: isso envolve a criação do serviço Rabbit MQ externo, a configuração do RMT Server para usar o serviço de fila de mensagens externo, a recriação dos ambientes e a refazer todas as configurações personalizadas, como limites de incidentes, e o registro dos Agentes novamente.
Ao usar esse método, qualquer coisa proveniente do Agente, métricas de hardware, registros de TS, carregamentos de visualização, hiperconsultas na fila, mas ainda não processadas, serão perdidas durante a migração. Isso é muito semelhante a fazer uma nova instalação do RMT descrita na seção acima, exceto que você não instalará o RMT neste caso.
Migração manual com perda mínima de dados: isso é especificamente para clientes que podem implementar as instruções de forma independente e não desejam lidar com a recriação de ambientes e de limites de incidentes. Esse método evitará que os dados do evento sejam perdidos durante a transição, mas as informações do contador de processo capturadas do hardware do nó do Tableau Server durante a transição não serão preservadas. Esta migração é manual e não um recurso de migração integrado para Resource Monitoring Tool.
As instruções para fazer isso estão descritas abaixo:
Migração para AWS AMQ externo
Etapa 1: crie o Amazon AMQ para Rabbit MQ para hospedar o serviço de fila de mensagens externo com as seguintes recomendações.
- Use o tipo de mecanismo RabbitMQ.
- A versão padrão (3.9.13) é igual à versão em pacote RMT 22.2.
- Use o agente de instância única.
- Use o tamanho de instância padrão (mq.m5.large, 2 vCPU/8 GiB RAM).
- Defina o nome de usuário/senha do RabbitMQ.
Para saber mais, consulte Trabalhar com o Amazon MQ para Rabbit MQ no site de documentação da AWS.
Etapa 2: teste a conexão do servidor RMT
Copie a URL do console da Web do RabbitMQ da página do AWS MQ e cole-o em um navegador da Web no RMT Server. Faça login com o nome de usuário e a senha que você criou ao configurar o corretor.
Etapa 3: interrompa os serviços do Agente RMT e cancele o registro dos Agentes
Execute os seguintes comandos em cada nó em que o Agente está em execução: Não pare o RMT Server, ele deve ser mantido em execução:
rmtadmin stop
rmtadmin deregister
Etapa 4: verifique a fila
No servidor RMT, execute o rmtadmin status
e revise a saída. Quando todos os valores na coluna Total para cada uma das filas atingirem 0 (ou quase 0) e permanecerem nesse valor, prossiga para a próxima etapa.
Etapa 5: configure o RMT Server para usar o novo serviço Amazon MQ
O valor aws_amq_servername será o mesmo que o endpoint listado na página do Amazon MQ, exceto que o prefixo do protocolo e a porta no final devem ser removidos. Veja o exemplo a seguir:
Substitua: “amqps://b-9512e888-a4a3-4b79-a9c0-07418c101941.mq.us-west-2.amazonaws.com:5671
" com: "B-9512e888-a4a3-4b79-a9c0-07418c101941.mq.us-west-2.amazonaws.com
”
Agora, execute rmtadmin master-setup
, substituindo o nome de usuário e a senha que você criou para o Amazon MQ.
rmtadmin master-setup --mq-config=external --mq-server=aws_amq_servername --mq-vhost='/' --mq-port=5671 --mq-username=aws_amq_username --mq-password=<aws_amq_password> --mq-tls-certificate-host=<aws_amq_servername>
Observe o seguinte:
- Substitua o nome no argumento --mq-vhost abaixo apenas se você criou seu próprio host virtual (isso é opcional), .
- Da mesma forma, altere a porta se o serviço estiver configurado para ser executado em uma porta não padrão.
- O valor para --mq-tls-certificate-host deve ser o nome do servidor para sua instância do AWS MQ, conforme usado anteriormente no argumento --mq-server, embora possa ser um curinga para flexibilidade adicional.
Etapa 6: inicie o RMT Server.
Navegue até a pasta de instalação do RMT Server: cd 'c:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\'
Navegue até a pasta de instalação do RMT Server: sudo /var/opt/tableau/tabrmt/master
Inicie o Tableau Server: rmtadmin start
Etapa 7: registre novamente os agentes
- Baixe um novo arquivo de bootstrap do RMT Server.
- Acessando a interface da Web do Agente ao navegar até http://localhost:9002/setup/register, importe o arquivo bootstrap.
- Clique em Testar fila de mensagens. Revise as entradas anteriores se você receber um erro.
- Clique em Conectar-se à fila de mensagens
- Na seção Servidor, clique no menu suspenso com “Novo servidor de ambiente” pré-selecionado e, em vez de aceitar o padrão, escolha o servidor que você está tentando registrar na lista. Role a página até a parte inferior e clique no botão "Registrar agente"
Etapa 8: verifique se o RMT Server está em execução
Faça login na ferramenta de interface da Web do RMT Server e verifique se os novos dados estão sendo processados.
Práticas recomendadas de atualização
Aqui estão as etapas gerais que você precisa seguir se quiser atualizar para uma versão 2022.3 ou posterior e migrar para usar um serviço de fila de mensagens externo ao mesmo tempo.
Migração com recriação do ambiente:
- Atualize o RMT Server e todos os agentes para 2022.3 ou posterior
- Crie um serviço de agente do Amazon AMQ.
- Configure o RMT Server para usar o serviço de fila de mensagens externo
- Recriar ambientes e registre novamente todos os Agentes
- Recrie quaisquer configurações personalizadas.
Observação: você perderá alguns dados de processamento de eventos e hardware e também precisará reconfigurar os limites de incidentes
Migração manual com perda mínima de dados:
- Atualize o RMT Server e todos os agentes para a versão 2022.3 ou posterior
- Siga as etapas detalhadas na seção de migração deste tópico. Isso envolve principalmente a criação de um serviço de agente do Amazon AMQ, um RMT Server que aponta para o serviço de fila de mensagens externo.
- Registrar novamente os agentes.
Etapas de atualização com a ativação de TLS para RabbitMQ
Como os agentes em versões anteriores a 2022.3 têm se comunicado usando conexão não criptografada com o serviço de fila de mensagens RabbitMQ, ao atualizar para a versão 2022.3 ou posterior, esses agentes precisam ser atualizados para usar os novos detalhes de conexão segura. As etapas para fazer isso são as seguintes:
Depois de concluir as etapas de atualização descritas na seção acima, interrompa todos os agentes executando o seguinte comando:
rmtadmin stop --agent
Baixe o arquivo bootstrap para o ambiente executando o seguinte comando:
rmtadmin bootstrap-file --env<myenvironment> --filename <The absolute or relative path including the file name>
Execute o seguinte comando em cada uma das máquinas onde o Agent está instalado:
rmtadmin rotate-mq-certificate <BOOTSTRAP_FILE> --username=<RMT Server Username> --password-file=<RMT Server Password file name>
- Reinicie cada máquina do Agent após executar com sucesso o comando
rmtadmin rotate-mq-certificate
.
Compatibilidade entre produtos
Esta tabela lista apenas a versão RMT 2022.3 e posterior, pois a fila de mensagens externa só está disponível a partir da versão 2022.3 e posterior.
Versão do RMT | Versão RabbitMQ enviada com RMT | Versão de suporte de RabbitMQ para serviço de fila de mensagens externa |
22.3 | 3.10.5 | 3.10.5 |
Quem pode fazer isso
Para instalar o Resource Monitoring Tool, você deve ter o seguinte:
- Permissões de administrador na máquina que você está instalando o Resource Monitoring Tool.
- Função de site Administrador no Tableau Server.
- Resource Monitoring Tool Conta de administrador.