Risoluzione dei problemi: Amazon MQ per ActiveMQ - Amazon MQ

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi: Amazon MQ per ActiveMQ

Utilizza le informazioni contenute in questa sezione per diagnosticare e risolvere problemi comuni che possono verificarsi durante l'utilizzo di broker Amazon MQ per ActiveMQ.

Non riesco a visualizzare i log generali o di controllo del mio broker in CloudWatch Logs anche se ho attivato la registrazione.

Se non riesci a visualizzare i log del tuo broker in CloudWatch Logs, procedi come segue.

  1. Controllare se l'utente che crea o riavvia il broker dispone dell'autorizzazione logs:CreateLogGroup. Se non si aggiunge l'autorizzazione CreateLogGroup all'utente prima che l'utente crei o riavvi il broker, Amazon MQ non crea il gruppo di registri.

  2. Verifica se hai configurato una policy basata sulle risorse per consentire ad Amazon MQ di pubblicare i log su Logs. CloudWatch Per consentire ad Amazon MQ di pubblicare i log nel tuo gruppo di log CloudWatch Logs, configura una policy basata sulle risorse per consentire ad Amazon MQ di accedere alle seguenti azioni dell'API Logs: CloudWatch

    • CreateLogStream— Crea un flusso di CloudWatch log di Logs per il gruppo di log specificato.

    • PutLogEvents— Fornisce gli eventi al flusso di log di CloudWatch Logs specificato.

Per ulteriori informazioni sulla configurazione di Amazon MQ for ActiveMQ per la pubblicazione dei log nei log CloudWatch , consulta Configurazione della registrazione.

Dopo il riavvio o la finestra di manutenzione del broker, non riesco a connettermi al mio broker anche se lo stato è RUNNING. Perché?

Potresti riscontrare problemi di connessione dopo il riavvio di un broker, dopo aver completato una finestra di manutenzione pianificata o in un evento di fallimento, nei quali l'istanza di standby è attivata. In entrambi i casi, i problemi di connessione a seguito di un riavvio del broker sono probabilmente causati da un numero insolitamente grande di messaggi persistenti nel volume di archiviazione Amazon EFS o Amazon EBS del broker stesso. Durante il riavvio, Amazon MQ sposta i messaggi persistenti dall'archiviazione alla memoria del broker. Per confermare questa diagnosi, puoi monitorare le seguenti metriche per il tuo broker Amazon MQ CloudWatch for ActiveMQ:

  • StoragePercentUsage: grandi percentuali pari o vicine al 100%, possono causare il rifiuto delle connessioni da parte del broker.

  • JournalFilesForFullRecovery: indica il numero di file di registro che vengono riprodotti dopo uno spegnimento e un riavvio. Un valore crescente o costantemente superiore a uno indica transazioni non risolte che possono causare problemi di connessione in seguito al riavvio.

  • OpenTransactionCount: un numero maggiore di zero dopo un riavvio indica che il broker tenterà di archiviare i messaggi consumati in precedenza, causando problemi di connessione.

Per risolvere questo problema, ti consigliamo di risolvere le tue transazioni XA con un rollback() o con un commit(). Per ulteriori informazioni e per vedere un esempio di codice di risoluzione di transazioni XA utilizzando rollback(), consulta recupero di transazioni XA.

Vedo che alcuni dei miei client si connettono al broker, mentre altri non sono in grado di farlo.

Se il tuo broker è nello stato RUNNING e alcuni client sono in grado di connettersi con successo al broker, mentre altri non sono in grado di farlo, potresti aver raggiunto il limite di connessioni a livello di filo per il broker. Per verificare di aver raggiunto il limite di connessioni a livello di filo, procedi come segue:

  • Controlla i log generali del broker per il tuo broker Amazon MQ for ActiveMQ in Logs. CloudWatch Se il limite è stato raggiunto, vedrai Reached Maximum Connections nei registri del broker. Per ulteriori informazioni sui CloudWatch log per i broker Amazon MQ for ActiveMQ, consulta. Comprensione della struttura di registrazione nei log CloudWatch

Una volta raggiunto il limite di connessioni a livello di filo, il broker rifiuterà attivamente ulteriori connessioni in entrata. Per risolvere questo problema, suggeriamo di aggiornare il tipo di istanza di broker. Per ulteriori informazioni sulla scelta del tipo di istanza migliore per un carico di lavoro specifico, consulta Broker instance types.

Se hai confermato che il numero di connessioni a livello di filo è inferiore al limite di connessione del broker, il problema potrebbe essere correlato al riavvio dei client. Controlla i registri del tuo broker per numerose e frequenti voci di ... Inactive for longer than 600000 ms - removing .... La voce di registro indica i problemi di riavvio dei client o di connettività. Questo effetto è più evidente quando i client si connettono al broker tramite un load balancer di rete (NLB, Network Load Balancer) con client che spesso si disconnettono e si riconnettono al broker. Tipicamente, questo è osservato soprattutto nei client basati su container.

Per ulteriori dettagli, controlla i registri sul lato client. Il broker ripulirà le connessioni TCP inattive dopo 600000 ms e libererà il socket della connessione.

Vedo un'eccezione org.apache.jasper.JasperException: An exception occurred processing JSP page sulla console ActiveMQ durante l'esecuzione delle operazioni.

Se utilizzi l'autenticazione e la configurazione semplici AuthorizationPlugin per l'autorizzazione di coda e argomento, assicurati di utilizzare l’elemento AuthorizationEntries nel file di configurazione XML e permetti l’autorizzazione di gruppo activemq-webconsole per tutte le code e gli argomenti. Ciò garantirà che la console Web ActiveMQ possa comunicare con il broker ActiveMQ.

L'esempio seguente, AuthorizationEntry, concede le autorizzazioni di lettura e scrittura per tutte le code e gli argomenti al gruppo 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>

Allo stesso modo, quando integri il tuo broker con LDAP, assicurati di concedere l’autorizzazione al gruppo amazonmq-console-admins. Per ulteriori informazioni sull'integrazione LDAP, consulta Come funziona l'integrazione LDAP.