Je souhaite savoir comment récupérer les données de journal depuis Amazon CloudWatch Logs à l’aide des filtres d’abonnement, des requêtes Logs Insights, des exportations Amazon Simple Storage Service (Amazon S3), des API CloudWatch et en téléchargeant les journaux sous forme de fichiers CSV.
Résolution
Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.
Pour récupérer vos données de journal CloudWatch Logs, adoptez les bonnes pratiques suivantes.
Diffuser les données de journal avec les filtres d’abonnement
Pour récupérer vos données de journal depuis CloudWatch Logs en temps réel, utilisez les filtres d’abonnement. Les filtres d’abonnement aux données de journal empêchent la limitation d’API CloudWatch. Pour en savoir plus, consultez les sections Traitement en temps réel des données de journal avec abonnements et Filtres d’abonnement au niveau des groupes de journaux.
Remarque : Amazon Kinesis Data Streams effectue automatiquement de nouvelles tentatives sur les API de service limitées.
Utiliser les API CloudWatch
Pour localiser manuellement vos données de journal, utilisez les opérations d’API CloudWatch GetLogEvents ou FilterLogEvents. Vous ne pouvez pas mettre à l’échelle ces opérations d'API en raison du quota de transactions par seconde (TPS). L’opération d’API GetLogEvents peut renvoyer des résultats vides lorsque d’autres événements de journaux sont disponibles via le jeton. Pour connaître les quotas actuels, consultez la section Quotas CloudWatch Logs. Si vous rencontrez des problèmes de limitation d’API, utilisez les filtres d’abonnement.
Exécuter une requête CloudWatch Logs Insights
Pour rechercher et analyser vos données de journal, exécutez une requête dans CloudWatch Logs Insights. Les requêtes vous aident à résoudre les problèmes et à identifier les causes pour une résolution de problèmes plus approfondie. Pour en savoir plus, consultez la section Analyse des données de journal avec CloudWatch Logs Insights.
Exporter les données de journal vers Amazon S3
Vous pouvez exporter les données CloudWatch Logs vers Amazon S3 dans des cas d’utilisation par lot. L’exportation des données de journal peut prendre jusqu’à 12 heures pour être disponible depuis CloudWatch Logs. Pour une analyse et un traitement en temps réel, utilisez les filtres d’abonnement.
Remarque : un compte AWS ne peut avoir qu’une seule tâche d’exportation pour les données de journal à l’état EN ATTENTE, EN ATTENTE_ANNULÉ ou EN COURS D’EXÉCUTION.
Télécharger les journaux dans un fichier .csv
Vous pouvez utiliser la console CloudWatch, l'AWS CLI ou CloudWatch Logs Insights pour récupérer vos données de journal.Utiliser la console CloudWatch
Procédez comme suit :
- Ouvrez la console CloudWatch.
- Sélectionnez votre groupe de journaux.
- Sélectionnez le flux de journaux contenant les événements de journaux que vous souhaitez télécharger.
- Choisissez Actions, puis Télécharger les résultats de recherche.
Utiliser l’AWS CLI
Pour récupérer les événements de journaux au format de fichier .csv, exécutez la commande get-log-events de l'AWS CLI suivante :
aws logs get-log-events --log-group-name example-loggroup-name --log-stream-name example-logstream-name --start-time 1705147529 --end-time 1705233929 log_events.csv
Remarque : remplacez example-loggroup-name par le nom de votre groupe de journaux, example-logstream-name par le nom de votre flux de journaux, 1705147529 par votre heure de début et 1705233929 par votre heure de fin.
Le fichier .csv est stocké dans le même répertoire que celui depuis lequel la commande a été lancée. En outre, AWS CLI utilise la région et le profil AWS par défaut configurés pour le poste de travail. Spécifiez la région de votre poste de travail dans la commande AWS CLI précédente.
Utiliser CloudWatch Logs Insights pour récupérer vos données de journal
Exécutez une requête pour récupérer vos données de journal. Pour exporter des données contenant moins de 10 000 journaux, choisissez Exporter les résultats. Ou, pour exporter les données de plus de 10 000 journaux, exportez les journaux vers un compartiment S3, puis téléchargez les données dans un fichier .csv.