Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Résolution des problèmes liés à Amazon MQ pour ActiveMQ
Utilisez les informations de cette section pour identifier et résoudre les problèmes courants que vous pouvez rencontrer lorsque vous travaillez avec les agents Amazon MQ for ActiveMQ.
Table des matières
- Je ne peux pas voir les journaux généraux ou d'audit de mon courtier dans CloudWatch Logs, même si j'ai activé la journalisation.
- Après le redémarrage ou la fenêtre de maintenance de l’agent, je ne peux pas me connecter à mon agent même si le statut est RUNNING. Pourquoi ?
- Certains de mes clients se connectent à l’agent, tandis que d’autres ne peuvent pas se connecter.
- Je vois une exception org.apache.jasper.JasperException: An exception occurred processing JSP page sur la console ActiveMQ lorsque j’effectue des opérations.
Je ne peux pas voir les journaux généraux ou d'audit de mon courtier dans CloudWatch Logs, même si j'ai activé la journalisation.
Si vous ne parvenez pas à consulter les journaux de votre courtier dans CloudWatch Logs, procédez comme suit.
-
Vérifiez si l’utilisateur qui crée ou redémarre l’agent dispose de l’autorisation
logs:CreateLogGroup
. Si vous n'ajoutez pas l'autorisationCreateLogGroup
à l'utilisateur avant que l'utilisateur crée ou redémarre l'agent, Amazon MQ ne crée pas le groupe de journaux. -
Vérifiez si vous avez configuré une politique basée sur les ressources pour autoriser Amazon MQ à publier des journaux dans Logs. CloudWatch Pour autoriser Amazon MQ à publier des journaux dans votre groupe de journaux, configurez une politique basée sur les ressources afin de permettre à Amazon MQ d'accéder aux actions de CloudWatch journaux suivantes : CloudWatch API
-
CreateLogStream
— Crée un flux de CloudWatch journaux pour le groupe de journaux spécifié. -
PutLogEvents
— Fournit des événements au flux de journal CloudWatch des journaux spécifié.
-
Après le redémarrage ou la fenêtre de maintenance de l’agent, je ne peux pas me connecter à mon agent même si le statut est RUNNING
. Pourquoi ?
Il se peut que vous rencontriez des problèmes de connexion après le redémarrage d½un agent que vous avez initié, après la fin d’une fenêtre de maintenance planifiée, ou lors d’un événement d’échec, où l’instance de secours est activée. Dans les deux cas, les problèmes de connexion consécutifs au redémarrage d'un courtier sont probablement dus à un nombre anormalement élevé de messages persistants dans le volume de EBS stockage Amazon EFS ou Amazon de votre courtier. Lors d’un redémarrage, Amazon MQ déplace les messages persistants du stockage vers la mémoire de l’agent. Pour confirmer ce diagnostic, vous pouvez surveiller les mesures suivantes CloudWatch pour votre courtier Amazon MQ pour ActiveMQ :
-
StoragePercentUsage
— Des pourcentages élevés à 100 % ou près de 100 % peuvent amener l’agent à refuser des connexions. -
JournalFilesForFullRecovery
— Indique le nombre de fichiers journaux qui seront réutilisés après un arrêt et un redémarrage incorrect. Une valeur croissante, ou constamment supérieure à un, indique des transactions non résolues qui peuvent causer des problèmes de connexion après le redémarrage. -
OpenTransactionCount
— Un nombre supérieur à zéro à la suite d’un redémarrage indique que l’agent tentera de stocker les messages précédemment consommés, provoquant ainsi des problèmes de connexion.
Pour résoudre ce problème, nous vous recommandons de résoudre vos transactions XA à l’aide d’un rollback()
ou un commit()
. Pour plus d’informations et pour voir un exemple de code de résolution de transactions XA à l’aide derollback()
, consultez récupération de transactions XA.
Certains de mes clients se connectent à l’agent, tandis que d’autres ne peuvent pas se connecter.
Si le statut de votre agent est RUNNING
et que certains clients parviennent à se connecter à l'agent avec succès, alors que d'autres n'y parviennent pas, il se peut que vous ayez atteint la limite de connexions au niveau filaire pour l'agent. Pour vérifier que vous avez atteint la limite de connexions au niveau filaire, procédez comme suit :
-
Consultez les journaux généraux du courtier de votre courtier Amazon MQ pour ActiveMQ dans Logs. CloudWatch Si la limite a été atteinte, vous verrez
Reached Maximum Connections
dans les journaux de l’agent. Pour plus d'informations sur CloudWatch Logs for Amazon MQ pour les courtiers ActiveMQ, consultez. Comprendre la structure de la journalisation dans CloudWatch Logs
Une fois que la limite de connexions au niveau filaire est atteinte, l’agent refuse activement les connexions entrantes supplémentaires. Pour résoudre ce problème, nous vous recommandons de mettre à niveau le type d’instance de votre agent. Pour plus d’informations sur le choix du meilleur type d’instance pour votre application, consultez la section Broker instance types.
Si vous avez confirmé que le nombre de vos connexions filaires est inférieur à la limite de connexion de l’agent, le problème peut être lié au redémarrage des clients. Vérifiez dans les journaux de votre agent s’il y a des entrées nombreuses et fréquentes de ... Inactive for longer than 600000 ms - removing ...
. L’entrée du journal indique un redémarrage des clients ou des problèmes de connectivité. Cet effet est plus évident lorsque les clients se connectent au courtier via un Network Load Balancer (NLB) avec des clients qui se déconnectent et se reconnectent fréquemment au courtier. Ceci est typiquement observé dans les clients axés sur des conteneurs.
Vérifiez vos journaux côté client pour plus de informations. Le courtier nettoiera TCP les connexions inactives après 600 000 ms et libérera le socket de connexion.
Je vois une exception org.apache.jasper.JasperException: An exception occurred processing JSP page
sur la console ActiveMQ lorsque j’effectue des opérations.
Si vous utilisez une authentification simple et que vous configurez l'autorisation AuthorizationPlugin
des files d'attente et des sujets, veillez à utiliser l'AuthorizationEntries
élément dans votre fichier de XML configuration et à autoriser le activemq-webconsole
groupe à accéder à toutes les files d'attente et à toutes les rubriques. Cela garantit que la console web ActiveMQ peut communiquer avec l’agent ActiveMQ.
L’exemple AuthorizationEntry
suivant accorde des autorisations de lecture et d’écriture pour toutes les files d’attente et les rubriques au groupe 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>
De même, lors de l'intégration de votre courtierLDAP, assurez-vous d'accorder l'autorisation au amazonmq-console-admins
groupe. Pour plus d'informations sur LDAP l'intégration, consultezComment fonctionne LDAP l'intégration.