Comment puis-je surveiller mon utilisation de CPU des instances EC2 et le redémarrer s'il rest 100% trop longtime?

De time en time (peut-être une fois tous les 3 mois), tout d'un coup, notre instance obtient 100% d'utilisation du processeur et se verrouille et devient très insensible.

Je voudrais find un moyen de détecter cette condition et d'amorcer un redémarrage; Quelle est la meilleure façon d'y parvenir?

Nous avons un abonnement Cloudwatch. Nous exécutons Ubuntu Server 10.04.

Sérieusement, résoudre le problème. Il pourrait y avoir plusieurs raisons pour lesquelles votre utilisation du processeur est à 100%, et le redémarrage du server ou des process de destruction lorsque cela s'est produit sera une recette pour un désastre. S'il s'agit d'un utilitaire tiers – soit l'énumérer ici ou déposer un bug auprès des mainteneurs.

S'il s'agit d'un utilitaire domestique, il semble très bien que vous ayez un problème avec votre application. Ma première intuition serait de vérifier les limites de toutes les loops que vous avez qui pourraient utiliser une forte puissance de traitement. Un autre serait de vérifier si les conditions de résiliation sont ou non remplies. En toute honnêteté, cependant, c'est un problème de debugging et devrait être traité en interne.

En ce qui concerne votre question réelle, il n'y a probablement rien de construit, mais avec les permissions correctes, vous pouvez certainement configurer Nagios pour triggersr un redémarrage à distance (c'est-à-dire via ssh) lorsqu'il détecte certaines conditions. Vous pouvez utiliser les indicateurs de charge du système (utilisation! = Charger ) pour surveiller, par exemple, les intervalles de 15 minutes pour une certaine valeur maximale. Vous pouvez également le faire via un script cron qui, disons, fonctionne chaque minute

J'espère que vous corrigez le bug plutôt que de le contourner – les futurs responsables seront reconnaissants, surtout si c'est vous!