AWS CloudWatch est un service qui vous permet de :
- Surveiller les performances : Collecter et suivre des métriques pour les ressources AWS.
- Définir des alarmes : Configurer des alarmes pour réagir aux changements dans les métriques.
- Visualiser des logs : Collecter, surveiller et analyser les logs d'application et de système.
- Réagir automatiquement : Utiliser des actions automatiques pour réagir aux alarmes, comme le redimensionnement automatique des instances EC2.
Exemples de Ligne de Commande
Pour interagir avec AWS CloudWatch via la ligne de commande, vous pouvez utiliser l'AWS Command Line Interface (CLI). Voici quelques exemples de commandes avancées pour créer, gérer et surveiller des ressources avec CloudWatch.
Prérequis
Avant de commencer, assurez-vous que l'AWS CLI est installé et configuré sur votre machine. Vous pouvez configurer l'AWS CLI avec la commande suivante :
aws configure
Vous devrez fournir votre clé d'accès AWS, votre clé secrète, la région par défaut et le format de sortie.
Créer une Alarme
Pour créer une alarme CloudWatch :
aws cloudwatch put-metric-alarm --alarm-name my-cpu-alarm --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 70 --comparison-operator GreaterThanThreshold --dimensions Name=InstanceId,Value=i-1234567890abcdef0 --evaluation-periods 2 --alarm-actions arn:aws:sns:us-east-1:123456789012:my-sns-topic
Lister les Alarmes
Pour lister toutes les alarmes CloudWatch :
aws cloudwatch describe-alarms
Supprimer une Alarme
Pour supprimer une alarme CloudWatch :
aws cloudwatch delete-alarms --alarm-names my-cpu-alarm
Créer un Groupe de Logs
Pour créer un groupe de logs CloudWatch :
aws logs create-log-group --log-group-name my-log-group
Créer un Flux de Logs
Pour créer un flux de logs dans un groupe de logs :
aws logs create-log-stream --log-group-name my-log-group --log-stream-name my-log-stream
Publier des Événements de Log
Pour publier des événements de log dans un flux de logs :
aws logs put-log-events --log-group-name my-log-group --log-stream-name my-log-stream --log-events file://log-events.json
Le fichier log-events.json
pourrait ressembler à ceci :
[ { "timestamp": 1609459200000, "message": "This is a log message." } ]
Lister les Groupes de Logs
Pour lister tous les groupes de logs CloudWatch :
aws logs describe-log-groups
Lister les Flux de Logs
Pour lister tous les flux de logs dans un groupe de logs :
aws logs describe-log-streams --log-group-name my-log-group
Récupérer des Événements de Log
Pour récupérer des événements de log à partir d'un flux de logs :
aws logs get-log-events --log-group-name my-log-group --log-stream-name my-log-stream
Créer une Règle d'Événement
Pour créer une règle d'événement CloudWatch :
aws events put-rule --name my-event-rule --event-pattern file://event-pattern.json
Le fichier event-pattern.json
pourrait ressembler à ceci :
{ "source": ["aws.ec2"], "detail-type": ["EC2 Instance State-change Notification"], "detail": { "state": ["stopped"] } }
Ajouter une Cible à une Règle d'Événement
Pour ajouter une cible à une règle d'événement :
aws events put-targets --rule my-event-rule --targets file://targets.json
Le fichier targets.json
pourrait ressembler à ceci :
[ { "Id": "my-target-id", "Arn": "arn:aws:sns:us-east-1:123456789012:my-sns-topic" } ]
Lister les Règles d'Événement
Pour lister toutes les règles d'événement CloudWatch :
aws events list-rules
Supprimer une Règle d'Événement
Pour supprimer une règle d'événement CloudWatch :
aws events delete-rule --name my-event-rule
Conclusion
AWS CloudWatch est un service puissant pour surveiller et gérer les ressources AWS. En utilisant l'AWS CLI, vous pouvez automatiser et simplifier la création, la gestion et la surveillance des ressources avec CloudWatch. Ces exemples de commandes vous donnent un bon point de départ pour commencer à utiliser AWS CloudWatch via la ligne de commande.