Solução de problemas do Amazon MQ para ActiveMQ - Amazon MQ

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Solução de problemas do Amazon MQ para ActiveMQ

Use as informações desta seção para ajudar a diagnosticar e corrigir problemas comuns que podem ser encontrados ao trabalhar com o Amazon MQ para agentes ActiveMQ.

Não consigo ver os registros gerais ou de auditoria do meu corretor no CloudWatch Logs, embora eu tenha ativado o registro.

Se você não conseguir visualizar os registros do seu corretor em CloudWatch Logs, faça o seguinte.

  1. Confira se o usuário que cria ou reinicializa o agente tem a permissão logs:CreateLogGroup. Se você não adicionar a permissão CreateLogGroup a um usuário antes que este crie ou reinicialize o agente, o Amazon MQ não criará o grupo de logs.

  2. Verifique se você configurou uma política baseada em recursos para permitir que o Amazon MQ publique registros no Logs. CloudWatch Para permitir que o Amazon MQ publique registros em seu grupo de CloudWatch registros de registros, configure uma política baseada em recursos para dar ao Amazon MQ acesso às seguintes ações de registros: CloudWatch API

    • CreateLogStream— Cria um fluxo de CloudWatch registros para o grupo de registros especificado.

    • PutLogEvents— Entrega eventos para o fluxo de registro de CloudWatch registros especificado.

Para obter mais informações sobre como configurar o Amazon MQ para que o ActiveMQ publique logs em Logs, consulte Configurando registros CloudWatch .

Após a reinicialização do agente ou da janela de manutenção, não consigo me conectar ao meu agente, embora o status seja RUNNING. Por quê?

Você pode estar enfrentando problemas de conexão após a reinicialização de um agente, após a conclusão de uma janela de manutenção programada ou em um evento de falha, em que a instância em espera é ativada. Em ambos os casos, os problemas de conexão após a reinicialização da corretora provavelmente são causados por um número anormalmente grande de mensagens persistentes no volume de EBS armazenamento da Amazon ou da EFS Amazon de sua corretora. Durante uma reinicialização, o Amazon MQ move mensagens persistentes do armazenamento para a memória do agente. Para confirmar esse diagnóstico, você pode monitorar as seguintes métricas CloudWatch para seu agente Amazon MQ for ActiveMQ:

  • StoragePercentUsage — Grandes porcentagens em ou perto de 100% podem fazer com que o agente recuse conexões.

  • JournalFilesForFullRecovery — Indica o número de arquivos do diário que serão reproduzidos após desligamento e reinicialização não planejados. Um valor crescente, ou consistentemente maior que um, indica transações não resolvidas que podem causar problemas de conexão após a reinicialização.

  • OpenTransactionCount — Um número maior que zero após uma reinicialização indica que o agente tentará armazenar mensagens consumidas anteriormente, causando assim problemas de conexão.

Para resolver esse problema, recomendamos resolver suas transações XA com rollback() ou commit(). Para obter mais informações e ver um exemplo de código para resolver transações XA usando rollback(), consulte Recuperar Transações XA.

Vejo alguns dos meus clientes se conectando ao agente, enquanto outros não conseguem se conectar.

Se o seu agente está no status RUNNING e alguns clientes são capazes de se conectar ao agente com sucesso, enquanto outros não conseguem fazê-lo, você pode ter chegado ao limite de Conexões em nível de fio para o agente. Para verificar se você atingiu o limite de conexões em nível de fio, faça o seguinte:

  • Verifique os registros gerais do broker do seu agente Amazon MQ for ActiveMQ em Logs. CloudWatch Se o limite tiver sido atingido, você verá Reached Maximum Connections nos logs do agente. Para obter mais informações sobre CloudWatch os registros do Amazon MQ para corretores ActiveMQ, consulte. Entendendo a estrutura do registro em CloudWatch Logs

Quando o limite de conexões em nível de fio for atingido, o agente recusará ativamente novas conexões de entrada. Para resolver esse problema, recomendamos atualizar o tipo de instância do seu agente. Para obter mais informações sobre como escolher o melhor tipo de instância para seu workload, consulte Broker instance types.

Se você confirmou que o número de conexões em nível de fio é menor que o limite de conexão do agente, o problema pode estar relacionado à reinicialização de clientes. Verifique, nos logs do agente, entradas numerosas e frequentes de ... Inactive for longer than 600000 ms - removing .... A entrada de log indica reinicialização de clientes ou problemas de conectividade. Esse efeito é mais evidente quando os clientes se conectam ao broker por meio de um Network Load Balancer (NLB) com clientes que frequentemente se desconectam e se reconectam ao broker. Isso geralmente é observado em clientes baseados em contêiner.

Para obter mais detalhes, verifique seus logs no lado do cliente. O agente limpará TCP as conexões inativas após 600.000 ms e liberará o soquete de conexão.

Estou vendo a exceção org.apache.jasper.JasperException: An exception occurred processing JSP page no console do ActiveMQ ao executar operações.

Se você estiver usando autenticação simples e configurando AuthorizationPlugin para autorização de filas e tópicos, certifique-se de usar o AuthorizationEntries elemento em seu arquivo de XML configuração e permitir que o activemq-webconsole grupo tenha permissão para todas as filas e tópicos. Isso garante que o console da Web do ActiveMQ possa se comunicar com o agente do ActiveMQ.

O exemplo AuthorizationEntry a seguir concede permissões de leitura e gravação para todas as filas e tópicos para o grupo activemq-webconsole.

<authorizationEntries> <authorizationEntry admin="activemq-webconsole,admins,users" topic=">" read="activemq-webconsole,admins,users" write="activemq-webconsole,admins,users" /> <authorizationEntry admin="activemq-webconsole,admins,users" queue=">" read="activemq-webconsole,admins,users" write="activemq-webconsole,admins,users" /> </authorizationEntries>

Da mesma forma, ao integrar seu corretorLDAP, certifique-se de conceder permissão para o amazonmq-console-admins grupo. Para obter mais informações sobre LDAP integração, consulteComo LDAP a integração funciona.