Publier CloudWatch les statistiques Amazon dans un fichier CSV - Recommandations AWS

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.

Publier CloudWatch les statistiques Amazon dans un fichier CSV

Créée par Abdullahi Olaoye (AWS)

Environnement : PoC ou pilote

Technologies : DevOps

Services AWS : Amazon CloudWatch

Récapitulatif

Ce modèle utilise un script Python pour récupérer les CloudWatch métriques Amazon et pour convertir les informations des métriques dans un fichier de valeurs séparées par des virgules (CSV) pour une meilleure lisibilité. Le script utilise le service AWS dont les métriques doivent être récupérées comme argument obligatoire. Vous pouvez spécifier la région AWS et le profil d'identification AWS en tant qu'arguments facultatifs. Si vous ne spécifiez pas ces arguments, le script utilise la région et le profil par défaut configurés pour le poste de travail sur lequel le script est exécuté. Une fois le script exécuté, il génère et stocke un fichier CSV dans le même répertoire.

Consultez la section Pièces jointes pour le script et les fichiers associés fournis avec ce modèle.

Conditions préalables et limitations

Prérequis

  • Python 3.x

  • Interface de ligne de commande AWS (AWS CLI)

Limites

Le script prend actuellement en charge les services AWS suivants :

  • AWS Lambda

  • Amazon Elastic Compute Cloud (Amazon EC2)

    • Par défaut, le script ne collecte pas les métriques de volume Amazon Elastic Block Store (Amazon EBS). Pour collecter les métriques Amazon EBS, vous devez modifier le metrics.yaml fichier joint.

  • Amazon Relational Database Service (Amazon RDS)

    • Toutefois, le script ne prend pas en charge Amazon Aurora.

  • Application Load Balancer

  • Network Load Balancer

  • Amazon API Gateway

Outils

  • Amazon CloudWatch est un service de surveillance conçu pour les DevOps ingénieurs, les développeurs, les ingénieurs de fiabilité des sites (SRE) et les responsables informatiques. CloudWatch fournit des données et des informations exploitables pour vous aider à surveiller vos applications, à répondre aux changements de performances à l'échelle du système, à optimiser l'utilisation des ressources et à obtenir une vue unifiée de l'état de fonctionnement. CloudWatch collecte des données opérationnelles et de surveillance sous forme de journaux, de mesures et d'événements, et fournit une vue unifiée des ressources, des applications et des services AWS exécutés sur AWS et sur des serveurs sur site.

Épopées

TâcheDescriptionCompétences requises

Installez les prérequis.

Exécutez la commande suivante :

$ pip3 install -r requirements.txt
Developer

Configuration de l'AWS CLI.

Exécutez la commande suivante : 

$ aws configure
Developer
TâcheDescriptionCompétences requises

Ouvrez le script.

Pour modifier la configuration par défaut du script, ouvrezmetrics.yaml.

Developer

Définissez la période du script.

Il s'agit de la période à récupérer. La période par défaut est de 5 minutes (300 secondes). Vous pouvez modifier la période, mais tenez compte des limites suivantes : 

  • Si la valeur des heures que vous spécifiez se situe entre 3 heures et 15 jours, utilisez un multiple de 60 secondes (1 minute) pour la période. 

  • Si la valeur des heures que vous spécifiez se situe entre 15 heures et 63 jours, utilisez un multiple de 300 secondes (5 minutes) pour la période. 

  • Si la valeur des heures que vous spécifiez est supérieure à 63 jours, utilisez un multiple de 3 600 secondes (1 heure) pour la période.

Dans le cas contraire, l'opération d'API ne renverra aucun point de données.

Developer

Définissez les heures du script.

Cette valeur indique le nombre d'heures de métriques que vous souhaitez récupérer. La valeur par défaut est 1 heure. Pour récupérer plusieurs jours de métriques, indiquez la valeur en heures. Par exemple, pour 2 jours, spécifiez 48.

Developer

Modifiez les valeurs statistiques du script.

(Facultatif) La valeur des statistiques globales estAverage, qui est utilisée lors de l'extraction de métriques auxquelles aucune valeur statistique spécifique n'est attribuée. Le script prend en charge les valeurs statistiques MaximumSampleCount, etSum.

Developer
TâcheDescriptionCompétences requises

Exécutez le script.

Utilisez la commande suivante : 

$ python3 cwreport.py <service>

Pour consulter la liste des valeurs de service, des options region et profile des paramètres, exécutez la commande suivante :

$ python3 cwreport.py -h

Pour plus d'informations sur les paramètres facultatifs, consultez la section Informations supplémentaires.

Developer

Ressources connexes

Informations supplémentaires

Utilisation des scripts

$ python3 cwreport.py -h

Exemple de syntaxe

python3 cwreport.py <service> <--region=Optional Region> <--profile=Optional credential profile>

Paramètres

  • service (obligatoire) ‒ Le service sur lequel vous souhaitez exécuter le script. Le script prend actuellement en charge les services suivants : AWS Lambda, Amazon EC2, Amazon RDS, Application Load Balancer, Network Load Balancer et API Gateway.

  • région (facultatif) ‒ La région AWS à partir de laquelle récupérer les métriques. La région par défaut estap-southeast-1.

  • profil (facultatif) ‒ Le profil nommé à utiliser dans l'interface de ligne de commande AWS. Si ce paramètre n'est pas spécifié, le profil d'identification configuré par défaut est utilisé.

Exemples

  • Pour utiliser la région par défaut ap-southeast-1 et les informations d'identification configurées par défaut pour récupérer les métriques Amazon EC2 : $ python3 cwreport.py ec2

  • Pour spécifier une région et récupérer les métriques d'API Gateway, procédez comme suit : $ python3 cwreport.py apigateway --region us-east-1

  • Pour spécifier un profil AWS et récupérer les métriques Amazon EC2 : $ python3 cwreport.py ec2 --profile testprofile

  • Pour spécifier à la fois la région et le profil pour récupérer les métriques Amazon EC2 : $ python3 cwreport.py ec2 --region us-east-1 --profile testprofile

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip