Création d'une requête planifiée - Amazon CloudWatch Logs

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.

Création d'une requête planifiée

Créez une requête planifiée qui exécute automatiquement les requêtes CloudWatch Logs Insights et fournit les résultats aux destinations que vous avez choisies.

Conditions préalables

Avant de créer une requête planifiée, assurez-vous de disposer des éléments suivants :

  • Groupes de journaux : un ou plusieurs groupes de journaux contenant les données que vous souhaitez analyser

  • Rôle IAM d'exécution : rôle IAM doté des autorisations suivantes :

    • logs:StartQuery- Autorisation de lancer CloudWatch des requêtes Logs Insights

    • logs:GetQueryResults- Autorisation de récupérer les résultats de la requête

    • logs:DescribeLogGroups- Autorisation d'accéder aux informations du groupe de journaux. Cela n'est requis que pour les groupes de journaux basés sur des préfixes pour la découverte des groupes de journaux

  • Autorisations de destination : autorisations IAM supplémentaires pour la destination que vous avez choisie :

    • Pour les destinations Amazon S3 : s3:PutObject

  • Pour AWS CLI et utilisation de l'API - AWS Informations d'identification configurées avec autorisations pour appeler CloudWatch les journaux APIs

Pour des exemples de politique IAM détaillés, voirGestion des identités et des accès pour Amazon CloudWatch Logs. Il convient également de noter que vous ne pouvez avoir que 1000 requêtes planifiées par compte.

Console
Pour créer une requête planifiée (console)
  1. Ouvrez la console CloudWatch Logs à la https://us-east-1.console.aws.amazon.com/cloudwatch/maison ? region=us-east-1 #LogsV2:Logs-Insights.

  2. Dans le volet de navigation, sélectionnez Logs Insights.

  3. Choisissez Créer une requête planifiée.

  4. Dans la section Définition de la requête :

    1. Pour Langue de requête, choisissez la langue de requête à utiliser dans la liste.

    2. Pour la chaîne de requête, entrez votre requête CloudWatch Logs Insights dans le champ.

    3. Pour les groupes de journaux, sélectionnez les groupes de journaux à interroger dans la liste.

  5. Dans la section Configuration du calendrier :

    1. Pour l'expression Schedule, configurez le moment où la requête s'exécute. Choisissez parmi les options prédéfinies ou entrez une expression cron personnalisée.

    2. Pour Effectif à la création, spécifiez à quel moment le calendrier devient actif. Choisissez de commencer immédiatement ou à une date et à une heure spécifiques en utilisant le YYYY/MM/DD format.

    3. Pour Plage de temps, spécifiez la période rétrospective pour chaque exécution de requête. Entrez la durée en minutes qui définit la distance qui s'est écoulée depuis l'heure d'exécution de la requête.

    4. Pour Continuer indéfiniment, spécifiez la date de fin du calendrier. Choisissez de l'exécuter indéfiniment ou jusqu'à une date et une heure spécifiques en utilisant le YYYY/MM/DD format.

  6. La console affiche les trois prochaines exécutions de requête planifiées en fonction de votre configuration, en indiquant les dates et heures exactes en UTC auxquelles la requête sera exécutée.

  7. Dans la section Publier les résultats de la requête dans S3 - facultatif (si vous utilisez la destination S3) :

    1. Pour l'URI Amazon S3, entrez le compartiment Amazon S3 et le préfixe dans lesquels les résultats seront stockés (par exemple,s3://my-bucket/query-results/).

    2. Choisissez View Amazon S3 pour ouvrir la console Amazon S3 dans un nouvel onglet et vérifier la configuration du compartiment.

    3. Choisissez Parcourir Amazon S3 pour sélectionner un emplacement Amazon S3 existant à l'aide du navigateur Amazon S3.

  8. Dans la section Rôle IAM pour la publication des résultats des requêtes sur Amazon S3 :

    1. Pour Sélectionner un rôle IAM, choisissez un rôle IAM existant avec les politiques requises, ou choisissez créer un nouveau rôle dans la console IAM pour créer un nouveau rôle.

    2. Utilisez le champ de recherche pour trouver et sélectionner le rôle IAM approprié dans la liste.

  9. Dans la section Rôle IAM pour l'exécution planifiée des requêtes :

    1. Pour Sélectionner un rôle IAM, choisissez un rôle IAM existant avec les politiques requises, ou choisissez créer un nouveau rôle dans la console IAM pour créer un nouveau rôle.

    2. Utilisez le champ de recherche pour trouver et sélectionner le rôle IAM approprié dans la liste.

  10. Choisissez Créer un calendrier pour créer la requête planifiée.

AWS CLI
Pour créer une requête planifiée (AWS CLI)
  • Utilisez la create-scheduled-query commande pour créer une nouvelle requête planifiée :

    aws logs create-scheduled-query \ --name "ErrorAnalysisQuery" \ --query-language "CWLI" \ --query-string "fields @timestamp, @message | filter @message like /ERROR/ | stats count() by bin(5m)" \ --schedule-expression "cron(8 * * * ? *)" \ --execution-role-arn "arn:aws:iam::123456789012:role/CloudWatchLogsScheduledQueryRole" \ --log-group-identifiers "/aws/lambda/my-function" "/aws/apigateway/my-api" \ --state "ENABLED"
API
Pour créer une requête planifiée (API)
  • Utilisez cette CreateScheduledQuery action pour créer une nouvelle requête planifiée. L'exemple suivant crée une requête planifiée qui s'exécute toutes les heures :

    { "name": "ErrorAnalysisQuery", "queryLanguage": "CWLI", "queryString": "fields @timestamp, @message | filter @message like /ERROR/ | stats count() by bin(5m)", "scheduleExpression": "cron(8 * * * ? *)", "executionRoleArn": "arn:aws:iam::123456789012:role/CloudWatchLogsScheduledQueryRole", "logGroupIdentifiers": ["/aws/lambda/my-function", "/aws/apigateway/my-api"], "state": "ENABLED" }

Après avoir créé la requête planifiée, vous pouvez la consulter et la gérer à partir de la page Requêtes planifiées et à l'aide de l' ListScheduledQueries API, qui affiche toutes vos requêtes planifiées avec leurs noms, dates de création, statut de la dernière exécution, heure du dernier déclenchement et fréquence de répétition.