Je souhaite savoir comment récupérer les données de journal depuis Amazon CloudWatch Logs à l’aide de différentes méthodes, telles que les filtres d’abonnement, les requêtes Logs Insights, les exportations S3, les API CloudWatch et le téléchargement des journaux sous forme de fichiers CSV.
Brève description
Pour récupérer vos données de journal CloudWatch Logs, appliquez les bonnes pratiques suivantes en fonction de votre cas d’utilisation :
- Diffusez les données de journal avec les filtres d’abonnement.
- Exécutez une requête CloudWatch Logs Insights.
- Exportez les données de journal vers Amazon Simple Storage Service (Amazon S3).
- Utilisez les API CloudWatch.
- Téléchargez les journaux dans un fichier .csv.
Résolution
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 pages Traitement en temps réel des données de journal avec abonnements et Filtres d’abonnement au niveau des groupes de journaux. Pour Amazon Kinesis Data Streams, les API de service limitées sont réessayées automatiquement.
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 pouvoir intervenir si cela se reproduit à l’avenir. Pour en savoir plus, consultez la page 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. Cela peut prendre jusqu’à 12 heures pour que l’exportation des données de journal soit 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.
Utiliser les API CloudWatch
Pour localiser manuellement vos données de journal, utilisez l’API CloudWatch GetLogEvents ou FilterLogEvents. Ces API ne sont pas évolutives en raison du quota de transactions par seconde (TPS). Pour connaître les quotas actuels, consultez la page Quotas CloudWatch Logs. Si vous rencontrez des problèmes d’API, utilisez les filtres d’abonnement.
Télécharger les journaux dans un fichier .csv
Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente d’AWS CLI.
Pour récupérer vos données de journal au format de fichier .csv, utilisez les méthodes suivantes :
- Ouvrez la console CloudWatch.
- Utilisez AWS CLI.
- Utilisez CloudWatch Logs Insights.
Ouvrir la console CloudWatch
Procédez comme suit :
- Ouvrez la console CloudWatch, puis sélectionnez votre groupe de journaux.
- Choisissez le flux de journaux contenant les événements du journal que vous souhaitez télécharger.
- Choisissez Actions, puis Télécharger les résultats de recherche.
Utiliser AWS CLI
Pour récupérer les événements du journal au format de fichier .csv, exécutez la commande get-log-events :
Remarque : remplacez example-loggroup-name par le nom de votre groupe de journaux et example-logstream-name par le nom de votre flux de journaux.
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 : 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 la station de travail. Spécifiez la région appropriée. L’API GetLogEvents peut renvoyer des résultats vides lorsque d’autres événements de journal sont disponibles via le jeton.
Utiliser CloudWatch Logs Insights
Procédez comme suit :
- Exécutez une requête pour récupérer vos données de journal.
- En fonction du nombre de journaux, utilisez l’une des méthodes suivantes pour exporter les données :
Pour moins de 10 000 journaux, choisissez Exporter les résultats.
Pour plus de 10 000 journaux, exportez les journaux vers un compartiment Amazon S3. Téléchargez ensuite les données dans un fichier .csv.