journaux de base de données - AWS Directives prescriptives

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.

journaux de base de données

Les bases de données MySQL et MariaDB génèrent des journaux auxquels vous pouvez accéder à des fins d'audit et de dépannage. Ces journaux sont les suivants :

  • Audit— La piste d'audit est un ensemble d'enregistrements qui enregistrent l'activité du serveur. Pour chaque session client, il enregistre qui s'est connecté au serveur (nom d'utilisateur et hôte), quelles requêtes ont été exécutées, quelles tables ont été consultées et quelles variables du serveur ont été modifiées.

  • Erreur— Ce journal contient les données du serveur (mysqld) les heures de démarrage et d'arrêt, ainsi que les messages de diagnostic tels que les erreurs, les avertissements et les notes qui apparaissent lors du démarrage et de l'arrêt du serveur, ainsi que pendant son fonctionnement.

  • Général— Ce journal enregistre l'activité demysqld, y compris les activités de connexion et de déconnexion pour chaque client et les requêtes SQL reçues des clients. Le journal général des requêtes peut être très utile lorsque vous soupçonnez une erreur et que vous souhaitez savoir exactement à quoi le client a envoyémysqld.

  • Requête lente— Ce journal fournit un enregistrement des requêtes SQL dont l'exécution a pris beaucoup de temps.

À titre de meilleure pratique, vous devezpublier des journaux de base de données depuis Amazon RDS vers AmazonCloudWatchJournaux. AvecCloudWatchJournaux, vous pouvez effectuer une analyse en temps réel des données des journaux, stocker les données dans un stockage hautement durable et gérer les données à l'aide duCloudWatchAgent de journalisation. Tu peuxaccéder aux journaux de votre base de données et les consulterdepuis la console Amazon RDS. Vous pouvez également utiliserCloudWatchLogs Insights pour rechercher et analyser de manière interactive les données de vos journaux dansCloudWatchJournaux. L'exemple suivant illustre une requête dans le journal d'audit qui vérifie combien de foisCONNECTles événements apparaissent dans le journal, indiquant les personnes connectées et le client (adresse IP) à partir duquel elles se sont connectées. L'extrait du journal d'audit pourrait ressembler à ceci :

20221201 14:07:05,ip-10-22-1-51,rdsadmin,localhost,821,0,CONNECT,,,0,SOCKET 20221201 14:07:05,ip-10-22-1-51,rdsadmin,localhost,821,0,DISCONNECT,,,0,SOCKET 20221201 14:12:20,ip-10-22-1-51,rdsadmin,localhost,822,0,CONNECT,,,0,SOCKET 20221201 14:12:20,ip-10-22-1-51,rdsadmin,localhost,822,0,DISCONNECT,,,0,SOCKET 20221201 14:17:35,ip-10-22-1-51,rdsadmin,localhost,823,0,CONNECT,,,0,SOCKET 20221201 14:17:35,ip-10-22-1-51,rdsadmin,localhost,823,0,DISCONNECT,,,0,SOCKET 20221201 14:22:50,ip-10-22-1-51,rdsadmin,localhost,824,0,CONNECT,,,0,SOCKET 20221201 14:22:50,ip-10-22-1-51,rdsadmin,localhost,824,0,DISCONNECT,,,0,SOCKET

L'exemple de requête Log Insights montre querdsadminconnecté à la base de données depuislocalhosttoutes les 5 minutes, pour un total de 22 fois, comme le montre l'illustration suivante. Ces résultats indiquent que l'activité provient de processus internes à Amazon RDS tels que le système de surveillance lui-même.

Rapport Log Insights

Les événements du journal incluent fréquemment des messages importants que vous souhaitez comptabiliser, tels que des avertissements ou des erreurs concernant les opérations associées aux instances de base de données MySQL et MariaDB. Par exemple, si une opération échoue, une erreur peut se produire et être enregistrée dans le fichier journal des erreurs comme suit :ERROR 1114 (HY000): The table zip_codes is full. Vous souhaiterez peut-être surveiller ces entrées pour comprendre la tendance de vos erreurs. Tu peuxcréer une personnalisationCloudWatchmétriques issues des journaux Amazon RDS à l'aide de filtrespour activer la surveillance automatique des journaux de base de données Amazon RDS afin de surveiller un journal spécifique afin de détecter des modèles spécifiques et de générer une alarme en cas de violation du comportement attendu. Par exemple, créez un filtre métrique pour le groupe de journaux/aws/rds/instance/database-1/errorqui surveillerait le journal des erreurs et rechercheraitmotif spécifique, tels queERROR. Réglez leModèle de filtrepourERRORetValeur métriquepour1. Le filtre détectera chaque enregistrement de journal contenant le mot cléERROR, et il incrémentera le nombre de 1 pour chaque événement du journal contenant le message « ERROR ». Après avoir créé le filtre, vous pouvez définir une alarme pour vous avertir si des erreurs sont détectées dans le journal des erreurs MySQL ou MariaDB.

Pour en savoir plus sur la surveillance du journal des requêtes lentes et du journal des erreurs en créant unCloudWatchtableau de bord et utilisationCloudWatchLogs Insights, voir l'article de blogCréation d'un AmazonCloudWatchtableau de bord pour surveiller Amazon RDS et Amazon Aurora MySQL.