0

J'ai un service "cloudwatch" pour surveiller les journaux de mes instances EC2 en cours d'exécution. Mais la console Web ColudWatch ne semble pas avoir un bouton pour vous permettre de télécharger/exporter les données du journal.AWS CloudWatch | Exporter les journaux vers le serveur EC2

Des idées comment je peux atteindre cet objectif via CLI ou GUI?

Répondre

0

méthode avec boto3 (Python),

log_client=boto3.client('logs') 
result_1=log_client.describe_log_streams(logGroupName='<NAME>') 

(Je ne sais pas ce que les noms de groupe journal pour les instances EC2 ressemblent;. Pour Lambda, ils sont de la forme '/aws/lambda/FuncName' Essayez saisir les noms que vous voyez dans la console).

result_1 contient deux clés utiles: logStreams (le résultat que vous voulez) et nextToken (pour la pagination, je vous laisse regarder l'utilisation).

Maintenant, result_1['logStreams'] est une liste d'objets contenant un logStreamName. Sont également utiles les codes firstEventTimestamp et lastEventTimestamp.

Maintenant que vous avez connecter noms de flux, vous pouvez utiliser

log_client.get_log_events(logGroupName='<name>',logStreamName='<name>' 

La réponse contient nextForwardToken et nextBackwardToken pour la pagination et events pour les événements du journal que vous voulez. Chaque événement contient un timestamp et un message.

Je vous laisse le soin de vérifier l'API pour voir quels autres paramètres pourraient vous être utiles. À propos, la console vous permet de diffuser vos journaux dans un compartiment S3 ou dans le service ElasticSearch d'AWS. ElasticSearch est un plaisir à utiliser, et l'interface utilisateur de Kibana est suffisamment intuitive pour que vous puissiez obtenir des résultats même sans apprendre leur langage de requête.

0

Vous pouvez utiliser la console ou l'AWS CLI pour télécharger des journaux CloudWatch sur Amazon S3. Vous devez connaître le nom du groupe de journaux, de & aux horodatages dans le journal, le compartiment de destination et le préfixe. Amazon recommande un compartiment S3 distinct pour vos journaux. Une fois que vous avez un seau, vous créez une tâche d'exportation, sous (dans la console) Navigation - Journaux - sélectionnez votre groupe de journaux - Actions - Exporter des données vers S3 - saisissez les détails de votre exportation - sélectionnez Exporter des données. La documentation d'Amazon explique assez bien à: http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3Export.html. Et les instructions CLI sont là aussi si vous voulez l'utiliser. J'imagine qu'avec l'interface de ligne de commande, vous pouvez également programmer votre exportation, mais vous devrez définir les variables d'une manière ou d'une autre afin de ne pas écraser une exportation existante.

Si cela fait partie de votre planification globale de reprise après incident AWS, vous voudrez peut-être vérifier quelques conseils & bonnes pratiques, telles que le papier blanc d'Amazon sur la reprise après incident AWS et la discussion de NetApp d'utiliser le cloud for disaster recovery.