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.