Je souhaite résoudre les problèmes liés à mon cluster Amazon Managed Streaming pour Apache Kafka (Amazon MSK) qui est à l’état HEALING.
Résolution
Votre cluster Amazon MSK passe à l’état HEALING lorsque le service exécute une opération interne pour résoudre un problème. Par exemple, lorsque vos agents ne répondent pas et qu'Amazon MSK exécute une opération interne pour corriger les agents qui ne répondent pas.
Vous pouvez continuer à utiliser le cluster pour produire et utiliser des données même lorsque le cluster est à l’état HEALING. Vous ne pouvez pas effectuer d'opérations de mise à jour de l'API Amazon MSK ou de l'interface de la ligne de commande AWS (AWS CLI) sur le cluster tant que celui-ci n'est pas redevenu à l’état ACTIVE.
Vous pouvez utiliser les métriques Amazon CloudWatch pour Amazon MSK afin de comprendre pourquoi le cluster se trouve à l’état HEALING :
Procédez comme suit :
- Ouvrez la console Amazon CloudWatch.
- Dans le volet de navigation, sélectionnez Métriques, puis Toutes les métriques.
- Dans l'onglet Parcourir, sélectionnez AWS/Kafka.
- Sous Métriques, sélectionnez Nom du cluster.
- Sélectionnez le cluster que vous souhaitez surveiller.
Remarque : Si vous constatez des pics dans la métrique ActiveControllerCount ou OfflinePartitionsCount, cela indique qu'un ou plusieurs agents ne sont pas sains. Les agents non sains ont peut-être fait passer votre cluster à l’état HEALING.
- Pour les métriques au niveau de l’agent, sous Métriques, choisissez ID de l’agent, Nom du cluster.
- Dans la liste, sélectionnez les entrées avec le nom du cluster et les métriques CpuUser et CpuSystem.
- Vérifiez si la somme des valeurs CpuUser et CpuSystem pour toutes les entrées atteint une moyenne de 60 % ou plus pour le cluster. Si la moyenne est supérieure à 60 %, une utilisation élevée du processeur a peut-être entraîné le passage de l’agent à l’état HEALING. Pour en savoir plus, consultez la section Surveiller l’utilisation du processeur.
Un cluster Amazon MSK peut également passer à l'état HEALING pour l'une des raisons suivantes :
- Amazon MSK doit remplacer un nœud ou un volume Amazon Elastic Block Store (Amazon EBS) en raison d'une panne matérielle.
- Un nœud ne répond pas au SLA de performance Amazon MSK pour l’agent et Amazon MSK doit remplacer le nœud pour des performances efficaces.
Amazon MSK étant un service entièrement géré, les agents disposent de flux de travail autogérés qui exécutent eux-mêmes des actions correctives. Par exemple, lorsqu'un volume Amazon EBS chez un agent devient non sain, Amazon MSK observe l'état du volume pendant un certain temps. Si le volume redevient normal pendant cette période, AWS MSK n'entreprend aucune action. Si le volume ne fonctionne toujours pas correctement après cette période, Amazon MSK le remplace automatiquement. Le cluster passe à l'état HEALING lorsqu'Amazon MSK exécute ces actions. Toutefois, le cluster Amazon MSK est disponible tant que vous respectez les bonnes pratiques.
Votre cluster Amazon MSK se trouve dans un état HEALING perpétuel
La charge de travail sur le cluster est élevée
Si la charge de travail sur le cluster est élevée et qu'AWS MSK remplace continuellement les agents, votre cluster risque de passer à un état HEALING perpétuel. Pour éviter une charge de travail élevée sur le cluster, n'utilisez pas d'instances t3.small pour héberger des clusters de production. Si vous utilisez des instances m5, assurez-vous de choisir la taille adaptée à votre cluster. Pour déterminer la taille correcte de votre cluster en fonction de votre charge de travail, surveillez l'utilisation de votre processeur, le nombre de partitions ou le débit.
Assurez-vous également que le nombre de partitions par agent ne dépasse pas la valeur recommandée.
Le groupe Auto Scaling ne peut pas créer de nouvelle instance
En cas de problème interne, tel qu'une dépendance manquante, le groupe de mise à l'échelle automatique ne peut pas créer de nouvelle instance et votre cluster passe à un état HEALING perpétuel.
Par exemple, vous pouvez accéder plus longtemps à la clé AWS Key Management Service (AWS KMS) que vous avez spécifiée lors de la création du cluster.
Un événement interne a un impact sur la disponibilité de l'instance EC2
Votre cluster peut également passer à un état HEALING perpétuel pour l'une des raisons suivantes :
- Un événement interne affecte la disponibilité des instances Amazon Elastic Compute Cloud (Amazon EC2) sous-jacentes.
- Un problème interne provoque même une latence Amazon EBS dans une zone de disponibilité ou une région AWS.
Si votre cluster demeure à l’état HEALING perpétuel et que cela n'est pas dû à des charges de travail élevées, contactez AWS Support.
Informations connexes
Comprendre les états de clusters provisionnés par MSK
Bienvenue dans le guide du Développeur Amazon MSK
Surveiller un cluster provisionné Amazon MSK
Bonnes pratiques pour les clients d'Apache Kafka