Comment puis-je recevoir des notifications SNS concernant les événements d'erreur et de journal d'agent SQL Server Amazon RDS qui correspondent à un modèle de filtre CloudWatch ?

Date de la dernière mise à jour : 26/03/2020

Je dispose d'une instance Amazon Relational Database Service (Amazon RDS) qui exécute SQL Server. Je souhaite créer des alarmes Amazon CloudWatch et des rubriques Amazon Simple Notification Service (Amazon SNS) pour recevoir des informations sur les événements d'erreur et de journal d'agent SQL Server qui correspondent à des modèles de filtre CloudWatch spécifiques. Comment procéder ?

Brève description

Une fois que vous avez publié des journaux SQL Server dans Amazon CloudWatch Logs, vous pouvez créer des alarmes CloudWatch et des notifications SNS pour les événements de journaux de base de données SQL Server qui correspondent au modèle de filtre que vous créez.

Une fois que les données du journal SQL Server Amazon RDS sont publiées dans Amazon CloudWatch, vous pouvez créer des filtres de métriques pour rechercher et filtrer les journaux. Les filtres de métriques définissent les termes et les modèles recherchés dans les données de journaux quand elles sont envoyées à CloudWatch Logs. Ensuite, CloudWatch Logs utilise les filtres de métriques pour transformer les données des journaux en métriques CloudWatch numériques pour lesquelles vous pouvez définir des alarmes. Vous pouvez utiliser n'importe quel type de statistiques CloudWatch, y compris les statistiques relatives aux centiles, lors de l'affichage de ces métriques ou de la définition d'alarmes. Pour plus d'informations, consultez la section Recherche et filtrage des données de journaux.

Résolution

Vous pouvez créer des modèles de filtre, tels que « Login failed for user », afin d'identifier les tentatives de connexion ayant échoué. Vous pouvez également créer un filtre pour « les demandes d'E/S qui durent plus de 15 secondes » afin d'identifier les goulots d'étranglement d'E/S ou de disque.

L'exemple suivant utilise un filtre de métrique pour rechercher et compter les événements qui incluent les termes « Login failed for user » pour suivre les tentatives de connexion ayant échoué.

  1. Ouvrez la console Amazon RDS et sélectionnez Bases de données dans le volet de navigation.
  2. Sélectionnez le nom de l'instance de base de données pour laquelle vous souhaitez configurer les métriques CloudWatch.
  3. Dans l'onglet Configuration, sélectionnez Erreur sous CloudWatch Logs. Le volet Journaux s'ouvre dans la console CloudWatch. Si vous ne voyez pas de section Journaux publiés, vérifiez que vous avez activé la publication des journaux SQL Server dans CloudWatch Logs.
  4. Dans le volet de navigation de la console CloudWatch, sélectionnez Groupes de journaux.
  5. Sélectionnez le journal des erreurs pour l'instance de base de données RDS, puis Créer un filtre de métrique.
  6. Dans Modèle de filtre, saisissez un modèle tel que « Login failed for user ».
    Remarque : toutes les entrées du modèle de filtre sont sensibles à la casse.
  7. Sur la même page, vous pouvez tester le modèle de filtre. Sélectionnez le groupe de journaux sur lequel vous souhaitez tester le filtre sous la section Sélectionner les données du journal à tester, puis sélectionnez Tester le modèle.
  8. Dans la section Résultats, vous pouvez voir combien de résultats correspondent au modèle de filtre dans le fichier journal. Vous pouvez également sélectionner Afficher les résultats du test pour afficher plus de détails.
  9. Sélectionnez Affecter une métrique.
  10. Saisissez un Nom du filtre et un Nom de métrique.
  11. Sélectionnez Afficher les paramètres de métrique avancés et vérifiez que l'option Valeur de métriques est définie sur 1. Cette valeur indique que le nombre est incrémenté de 1 pour chaque événement de journal qui contient « Login failed for user ».
  12. Dans le champ Valeur par défaut, saisissez 0.
  13. Sélectionnez Créer un filtre, puis Créer une alarme.
  14. Dans la liste déroulante Période, sélectionnez la période d'évaluation. La période par défaut est de cinq minutes.
  15. Dans la section Conditions, sélectionnez les éléments suivants :
    Type de seuil : Statique.
    Lorsque le test est : Supérieur > seuil.
    À : saisissez 10.
  16. Développez la section Configuration supplémentaire. Pour l'option Points de données avant l'alarme, saisissez le nombre de périodes d'évaluation (points de données) qui doivent afficher l'état ALARM pour déclencher l'alarme.
  17. Dans Traitement des données manquantes, sélectionnez Traiter les données manquantes comme manquantes.
  18. Sélectionnez Suivant.
  19. Dans la section Notification sous Sélectionner une rubrique SNS, sélectionnez une rubrique SNS existante ou créez une rubrique pour recevoir des notifications.
  20. Saisissez l'adresse e-mail du point de terminaison auquel vous souhaitez recevoir la notification.
  21. Sélectionnez Suivant.
  22. Saisissez le Nom de l'alarme et la Description de l'alarme, puis sélectionnez Suivant.
  23. Sur la page Aperçu et création, vérifiez le graphique de la Métrique et les Conditions.
  24. Sélectionnez Créer une alarme.

Après avoir suivi ces étapes, l'état de l'alarme affiche Données insuffisantes pendant les premières minutes. Une fois que l'alarme dispose de suffisamment de données, l'état affiche OK. Si vous recevez plus de 10 échecs de connexion dans un délai de cinq minutes, l'alarme CloudWatch envoie une notification SNS à l'adresse e-mail que vous avez spécifiée.


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d’aide ?