REL 6: Comment surveillez-vous les ressources de charge de travail ?
Les journaux et les métriques sont de puissants outils pour obtenir informations sur l'état de votre charge de travail. Vous pouvez configurer votre charge de travail de sorte à surveiller les journaux et les métriques et envoyer des notifications lorsque les seuils sont franchis ou que des événements significatifs se produisent. La surveillance permet à votre charge de travail de reconnaître quand des seuils de faible performance sont franchis ou quand des défaillances se produisent, en vue de sa reprise automatique.
Ressources
Using Amazon CloudWatch Metrics
Publishing Custom Metrics
Using Amazon CloudWatch Dashboards
Using Canaries (Amazon CloudWatch Synthetics)
Amazon CloudWatch Logs Insights Sample Queries
AWS Systems Manager Automation
What is AWS X-Ray?
Debugging with Amazon CloudWatch Synthetics and AWS X-Ray
The Amazon Builders' Library: Instrumenting distributed systems for operational visibility
Bonnes pratiques:
-
Surveiller tous les composants de la charge de travail (génération): Surveillez les composants de la charge de travail avec Amazon CloudWatch ou des outils tiers. Surveillez les services AWS avec Personal Health Dashboard.
-
Définir et calculer des métriques (regroupement): Stockez les données des journaux et appliquez des filtres si nécessaire pour calculer les métriques, en particulier le décompte d'un événement de journal spécifique ou la latence calculée à partir des horodatages des événements de journaux
-
Envoyer des notifications (traitement et alarmes en temps réel): Les organisations qui désirent être informées des événements significatifs reçoivent des notifications lorsque ceux-ci se produisent.
-
Automatiser les réponses (traitement et alarmes en temps réel): Utilisez l'automatisation pour agir en cas de détection d'événement, par exemple, pour remplacer les composants défectueux.
-
Stockage et analyse: Collecter des fichiers journaux et des historiques de métriques et les analyser pour obtenir des informations plus générales sur les tendances et la charge de travail
-
Procéder à des examens réguliers: Examiner fréquemment comment la surveillance de la charge de travail est mise en œuvre et la mettre à jour en fonction d'événements et de modifications importants
-
Surveiller le suivi de bout en bout des demandes via votre système: Utilisez AWS X-Ray ou des outils tiers afin que les développeurs puissent plus facilement analyser et déboguer des systèmes distribués pour comprendre les performances de leurs applications et de leurs services sous-jacents.
Plan d'amélioration
Surveiller tous les composants de la charge de travail (génération)
- Définir tous les services AWS que vous utilisez
- Activer la journalisation pour tous les services: AWS offre la journalisation sur de nombreux services. Si le service ne comporte pas
de journalisation au niveau souhaité, vous pouvez l'ajouter à partir de vos charges
de travail.
- Activer la journalisation d'Amazon S3
Amazon S3 Server Access Logging - Activer la journalisation d'Elastic Load Balancing
Access logs for your application load balancer
Access Logs for Your Network Load Balancer
Enable Access Logs for Your Classic Load Balancer - Activer les journaux de flux VPC
VPC Flow Logs - Activer les journaux CloudTrail
Creating a trail - Utiliser l'agent Amazon CloudWatch pour diffuser les données de journaux de flux de
l'instance vers CloudWatch Logs
Install the CloudWatch agent on an Amazon EC2 instance - Utiliser le pilote de journal awslogs avec Amazon ECS pour diffuser les données de
journaux vers CloudWatch Logs
Using CloudWatch Logs with container instances - AWS Lambda diffuse automatiquement les données de journaux vers CloudWatch Logs
Accessing Amazon CloudWatch Logs for AWS Lambda
- Activer la journalisation d'Amazon S3
AWS Services That Publish CloudWatch Metrics
- Les métriques peuvent être évaluées individuellement ou en groupe.
- Accéder à la console CloudWatch et explorer les métriques collectées
- Voir la documentation pour connaître les métriques et les dimensions collectées
Amazon CloudWatch Logs Insights Sample Queries
Publish custom metrics
- Si vous avez besoin de l'utilisation de la mémoire ou de l'utilisation du disque,
utilisez l'agent CloudWatch ou l’API PutMetricData
Monitoring memory and disk metrics for Amazon EC2 linux instances
- Utiliser CloudWatch Logs pour les fichiers journaux courants
- Il est possible d'utiliser CloudWatch Logs pour la plupart des cas courants d'utilisation
des agrégations de journaux.
What are Amazon CloudWatch Logs?
- Il est possible d'utiliser CloudWatch Logs pour la plupart des cas courants d'utilisation
des agrégations de journaux.
- Stocker tous les journaux dans Amazon S3 ou Amazon S3 pour un stockage à long terme
- Vous pouvez exporter les journaux CloudWatch Logs vers Amazon S3. Les journaux CloudTrail
et Elastic Load Balancing sont envoyés vers Amazon S3.
Exporting log data to Amazon S3
- Vous pouvez exporter les journaux CloudWatch Logs vers Amazon S3. Les journaux CloudTrail
et Elastic Load Balancing sont envoyés vers Amazon S3.
Définir et calculer des métriques (regroupement)
- Les filtres de métriques définissent les termes et les modèles à rechercher dans les
données de journaux telles qu'envoyées à CloudWatch Logs. CloudWatch Logs utilise
ces filtres de métriques pour transformer les données des journaux en métriques CloudWatch
numériques que vous pouvez représenter graphiquement ou sur lesquelles vous pouvez
définir une alarme.
Searching and Filtering Log Data - Utiliser un agent tiers de confiance pour agréger les journaux
- Suivez les instructions de l'agent tiers. La plupart des agents tiers s'intègrent à CloudWatch et Amazon S3.
- Certains services AWS peuvent publier des journaux directement dans Amazon S3. Ainsi,
si votre principale exigence pour les journaux est le stockage dans Amazon S3, vous
pouvez facilement faire en sorte que le service produisant les journaux les envoie
directement à Amazon S3 sans configurer d'infrastructure supplémentaire.
Sending Logs Directly to Amazon S3
Envoyer des notifications (traitement et alarmes en temps réel)
- Les tableaux de bord Amazon CloudWatch sont des pages d'accueil personnalisables de
la console CloudWatch que vous pouvez utiliser pour surveiller vos ressources dans
une seule fenêtre, y compris les ressources réparties sur différentes régions.
Using Amazon CloudWatch Dashboards - Créer une alarme lorsque la métrique dépasse une limite
Using Amazon CloudWatch Alarms
Automatiser les réponses (traitement et alarmes en temps réel)
AWS Systems Manager Automation
- Créez et utilisez des documents Systems Manager Automation. Ces documents définissent
les actions exécutées par Systems Manager sur vos instances gérées et d'autres ressources
AWS lorsqu'une exécution d'automatisation s'exécute.
Working with Automation Documents (Playbooks)
Creating an EventBridge Rule That Triggers on an Event from an AWS Resource
- Faire l'inventaire de toutes vos procédures de réponse aux alertes: Vous devez planifier vos réponses d'alerte avant de classer les tâches.
- Inventaire de toutes les tâches avec des actions spécifiques devant être effectuées: La plupart de ces actions sont documentées dans les runbooks. Vous devez également disposer de manuels pour les alertes d'événements inattendus.
- Examinez les runbooks et les manuels à la recherche de toutes les actions pouvant être automatisées.: En règle générale, toute action qui peut être définie peut très probablement être automatisée.
- Classez d'abord les activités sources d'erreurs ou chronophages.: La suppression des sources d'erreurs et la réduction du temps de résolution sont plus avantageuses.
- Établir un plan pour effectuer l'automatisation: Disposer d'un plan actif pour automatiser et mettre à jour l'automatisation
- Examiner les exigences manuelles relatives aux circonstances opportunes d'automatisation: Remettre en question votre processus manuel et rechercher des pistes d'automatisation
Stockage et analyse
Analyzing Log Data with CloudWatch Logs Insights
Amazon CloudWatch Logs Insights Sample Queries
How do I analyze my Amazon S3 server access logs using Athena?
- Créez une stratégie de cycle de vie S3 pour votre compartiment de journaux d'accès
au serveur. Configurez la stratégie de cycle de vie de sorte à supprimer régulièrement
les fichiers journaux. Cette suppression permet de réduire la quantité de données
analysées par Athena pour chaque requête.
How Do I Create a Lifecycle Policy for an S3 Bucket?
Procéder à des examens réguliers
Using Amazon CloudWatch Dashboards
- Inspecter les tendances dans les métriques: Comparez les valeurs des métriques aux valeurs historiques pour voir s'il existe des tendances qui peuvent indiquer que quelque chose doit faire l'objet d'une enquête. Voici quelques exemples : augmentation de la latence, diminution de la fonction principale de l'entreprise et augmentation des réponses aux échecs.
- Inspecter les valeurs aberrantes/anomalies dans vos métriques: Les moyennes ou les médianes peuvent masquer des valeurs aberrantes. Observez les valeurs les plus élevées et les plus faibles pendant la période et examinez les causes des scores extrêmes. L'abaissement de votre définition de l'extrême vous permet de continuer à améliorer l'homogénéité des performances de votre charge de travail au fur et à mesure que vous continuez à éliminer ces causes.
- Rechercher des changements importants de comportement: Un changement immédiat de quantité ou de direction d'une métrique peut indiquer qu'il y a eu un changement dans l'application ou la présence de facteurs externes pour le suivi desquels vous devez ajouter des métriques supplémentaires.
Surveiller le suivi de bout en bout des demandes via votre système
What is AWS X-Ray?
Debugging with Amazon CloudWatch Synthetics and AWS X-Ray