Utilisation des CloudWatch alarmes avec Amazon Managed Service pour Apache Flink - Service géré pour Apache Flink

Le service géré Amazon pour Apache Flink était auparavant connu sous le nom d’Amazon Kinesis Data Analytics pour Apache Flink.

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.

Utilisation des CloudWatch alarmes avec Amazon Managed Service pour Apache Flink

À l'aide des alarmes CloudWatch métriques Amazon, vous observez une CloudWatch métrique sur une période que vous spécifiez. L’alarme réalise une ou plusieurs actions en fonction de la valeur de la métrique ou de l’expression par rapport à un seuil sur un certain nombre de périodes. L'envoi d'une notification à un sujet Amazon Simple Notification Service (AmazonSNS) est un exemple d'action.

Pour plus d'informations sur les CloudWatch alarmes, consultez la section Utilisation d'Amazon CloudWatch Alarms.

Cette section contient les alarmes recommandées pour surveiller les applications de service géré pour Apache Flink.

Le tableau décrit les alarmes recommandées et comporte les colonnes suivantes :

  • Expression métrique : métrique ou expression métrique à tester par rapport au seuil.

  • Statistique : statistique utilisée pour vérifier la métrique, par exemple, Moyenne.

  • Seuil : l’utilisation de cette alarme vous oblige à déterminer un seuil qui définit la limite des performances attendues de l’application. Vous devez déterminer ce seuil en surveillant votre application dans des conditions normales.

  • Description : causes susceptibles de déclencher cette alarme et solutions possibles à ce problème.

Expression de métrique Statistique Seuil Description
downtime> 0 Moyenne 0 Un temps d'arrêt supérieur à zéro indique que l'application a échoué. Si la valeur est supérieure à 0, l’application ne traite aucune donnée. Recommandé pour toutes les applications. La Downtime métrique mesure la durée d'une panne. Un temps d'arrêt supérieur à zéro indique que l'application a échoué. Pour le dépannage, voirL'application redémarre.
RATE (numberOfFailedCheckpoints)> 0 Moyenne 0 Cette métrique compte le nombre de points de contrôle échoués depuis le démarrage de l'application. Selon l’application, il peut être tolérable que les points de contrôle échouent de temps en temps. Mais si les points de contrôle échouent régulièrement, l’application est probablement malsaine et nécessite une attention accrue. Nous recommandons une surveillance RATE (numberOfFailedpoints de contrôle) pour émettre une alarme sur la pente et non sur les valeurs absolues. Recommandé pour toutes les applications. Utilisez cette métrique pour surveiller l'état de santé des applications et la progression des points de contrôle. L'application enregistre les données d'état aux points de contrôle lorsqu'elles sont saines. Le point de contrôle peut échouer en raison de délais impartis si l'application ne progresse pas dans le traitement des données d'entrée. Pour le dépannage, voirLe délai du point de contrôle est expiré.
Operator.numRecordsOutPerSecond< seuil Moyenne Le nombre minimum d'enregistrements émis par l'application dans des conditions normales. Recommandé pour toutes les applications. Le fait de tomber en dessous de ce seuil peut indiquer que l'application ne progresse pas comme prévu en ce qui concerne les données d'entrée. Pour le dépannage, voirLe débit est trop lent.
records_lag_max|millisbehindLatest> seuil Maximum Latence maximale attendue dans des conditions normales. Si l'application utilise Kinesis ou Kafka, ces indicateurs indiquent si l'application prend du retard et doit être redimensionnée afin de suivre le rythme de charge actuel. Il s’agit d’une bonne métrique générique facile à suivre pour tous les types d’applications. Mais elle ne peut être utilisée que pour une mise à l’échelle réactive, c’est-à-dire lorsque l’application a déjà pris du retard. Recommandé pour toutes les applications. Utilisez la records_lag_max métrique pour une source Kafka ou millisbehindLatest pour une source de flux Kinesis. Le fait de dépasser ce seuil peut indiquer que l'application ne progresse pas comme prévu sur les données d'entrée. Pour le dépannage, voirLe débit est trop lent.
lastCheckpointDuration> seuil Maximum Durée maximale prévue du point de contrôle dans des conditions normales. Surveille la quantité de données stockées dans l'état et le temps nécessaire pour passer un point de contrôle. Si les points de contrôle augmentent ou prennent du temps, l’application passe continuellement du temps à effectuer les points de contrôle et réduit le nombre de cycles de traitement réels. À certains moments, les points de contrôle peuvent devenir trop grands ou prendre tellement de temps qu’ils échouent. En plus de surveiller les valeurs absolues, les clients devraient également envisager de surveiller le taux de variation avec RATE(lastCheckpointSize) et RATE(lastCheckpointDuration). Si le taux augmente lastCheckpointDuration continuellement, le fait de dépasser ce seuil peut indiquer que l'application ne réalise pas les progrès escomptés en ce qui concerne les données d'entrée ou qu'il existe des problèmes de santé de l'application, tels qu'une contre-pression. Pour le dépannage, voirCroissance illimitée de l'État.
lastCheckpointSize> seuil Maximum Taille maximale prévue du point de contrôle dans des conditions normales. Surveille la quantité de données stockées dans l'état et le temps nécessaire pour passer un point de contrôle. Si les points de contrôle augmentent ou prennent du temps, l’application passe continuellement du temps à effectuer les points de contrôle et réduit le nombre de cycles de traitement réels. À certains moments, les points de contrôle peuvent devenir trop grands ou prendre tellement de temps qu’ils échouent. En plus de surveiller les valeurs absolues, les clients devraient également envisager de surveiller le taux de variation avec RATE(lastCheckpointSize) et RATE(lastCheckpointDuration). Si le taux augmente lastCheckpointSize continuellement, le fait de dépasser ce seuil peut indiquer que l'application accumule des données d'état. Si les données d'état deviennent trop volumineuses, l'application peut manquer de mémoire lors de la restauration à partir d'un point de contrôle, ou la restauration à partir d'un point de contrôle peut prendre trop de temps. Pour le dépannage, voirCroissance illimitée de l'État.
heapMemoryUtilization> seuil Maximum Cela donne une bonne indication de l'utilisation globale des ressources de l'application et peut être utilisé pour un dimensionnement proactif, sauf si l'application est liée aux E/S. heapMemoryUtilizationTaille maximale attendue dans des conditions normales, avec une valeur recommandée de 90 %. Vous pouvez utiliser cette métrique pour surveiller l'utilisation maximale de la mémoire par les gestionnaires de tâches au sein de l'application. Si l'application atteint ce seuil, vous devez allouer davantage de ressources. Pour ce faire, activez le dimensionnement automatique ou augmentez le parallélisme des applications. Pour plus d'informations sur l'augmentation des ressources, consultezMise à l'échelle.
cpuUtilization> seuil Maximum Cela donne une bonne indication de l'utilisation globale des ressources de l'application et peut être utilisé pour un dimensionnement proactif, sauf si l'application est liée aux E/S. cpuUtilizationTaille maximale attendue dans des conditions normales, avec une valeur recommandée de 80 %. Vous pouvez utiliser cette métrique pour surveiller l'CPUutilisation maximale des gestionnaires de tâches au sein de l'application. Si l'application atteint ce seuil, vous devez fournir davantage de ressources. Pour ce faire, activez le dimensionnement automatique ou augmentez le parallélisme des applications. Pour plus d'informations sur l'augmentation des ressources, consultezMise à l'échelle.
threadsCount> seuil Maximum threadsCountTaille maximale attendue dans des conditions normales. Vous pouvez utiliser cette métrique pour détecter les fuites de threads dans les gestionnaires de tâches de l'application. Si cette métrique atteint ce seuil, vérifiez le code de votre application pour détecter les threads créés sans les fermer.
(oldGarbageCollectionTime * 100)/60_000 over 1 min period')> seuil Maximum oldGarbageCollectionTimeDurée maximale prévue. Nous vous recommandons de définir un seuil tel que le temps de collecte des déchets habituel soit de 60 % du seuil spécifié, mais le seuil correct pour votre application peut varier. Si cette métrique augmente continuellement, cela peut indiquer une fuite de mémoire dans les gestionnaires de tâches de l'application.
RATE(oldGarbageCollectionCount) > seuil Maximum Le maximum attendu oldGarbageCollectionCount dans des conditions normales. Le seuil correct pour votre candidature peut varier. Si cette métrique augmente continuellement, cela peut indiquer une fuite de mémoire dans les gestionnaires de tâches de l'application.
Operator.currentOutputWatermark - Operator.currentInputWatermark > seuil Minimum L'augmentation minimale du filigrane attendue dans des conditions normales. Le seuil correct pour votre candidature peut varier. Si cette métrique augmente continuellement, cela peut indiquer que l'application traite des événements de plus en plus anciens ou qu'une sous-tâche en amont n'a pas envoyé de filigrane depuis de plus en plus longtemps.