Présentation des journaux de base de données Aurora MySQL - Amazon Aurora

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.

Présentation des journaux de base de données Aurora MySQL

Vous pouvez surveiller les types de fichiers journaux Aurora MySQL suivants :

  • Journal des erreurs

  • Journal des requêtes lentes

  • Journal général

  • Journal d'audit

Le journal des erreurs Aurora MySQL est généré par défaut. Vous pouvez générer le journal des requêtes lentes et le journal général en définissant les paramètres nécessaires dans votre groupe de paramètres de base de données.

Journaux des erreurs Aurora MySQL

Aurora MySQL écrit les erreurs dans le fichier mysql-error.log. Le nom du fichier journal comporte l'heure à laquelle le fichier a été généré (au format UTC). Les fichiers journaux comportent également un horodatage permettant de déterminer le moment où les entrées du journal ont été écrites.

Aurora MySQL écrit dans le journal des erreurs uniquement au moment du démarrage, de l'arrêt et lorsqu'une erreur survient. Une instance de base de données peut fonctionner pendant des heures ou des jours sans qu'aucune nouvelle entrée soit écrite dans le journal des erreurs. Si aucune entrée récente ne figure, cela signifie que le serveur n'a pas rencontré d'erreur justifiant une entrée de journal.

Par défaut, les journaux des erreurs sont filtrés de sorte que seuls les événements inattendus tels que les erreurs soient affichés. Toutefois, les journaux des erreurs contiennent également des informations supplémentaires sur la base de données, comme la progression des requêtes, qui ne sont pas affichées. Par conséquent, même en l'absence d'erreurs réelles, la taille des journaux des erreurs peut augmenter en raison des activités en cours sur la base de données. Et même si vous pouvez voir une certaine taille en octets ou en kilo-octets pour les journaux d'erreurs contenus dans la AWS Management Console, ils peuvent être vide lorsque vous les téléchargez.

Aurora MySQL écrit mysql-error.log sur le disque toutes les 5 minutes. Il ajoute le contenu du journal à mysql-error-running.log.

Aurora MySQL assure la rotation du fichier mysql-error-running.log toutes les heures.

Note

La période de conservation des journaux est différente pour Amazon RDS et Aurora.

Journal des requêtes lentes et journal général Aurora MySQL

Vous pouvez écrire le journal des requêtes lentes et le journal général Aurora MySQL dans un fichier ou dans une table de base de données. Pour ce faire, définissez les paramètres de votre groupe de paramètres de base de données. Pour plus d'informations sur la création et la modification d'un groupe de paramètres DB, consultez Utilisation des groupes de paramètres. Vous devez définir ces paramètres avant de pouvoir consulter le journal des requêtes lentes ou le journal général dans la console Amazon RDS ou à l'aide de l'API Amazon RDS, de la CLI Amazon RDS ou de kits SDK AWS.

Vous pouvez contrôler la journalisation Aurora MySQL à l'aide des paramètres de cette liste :

  • slow_query_log : Pour créer le journal des requêtes lentes, définir sur 1. La valeur par défaut est 0.

  • general_log : Pour créer le journal général, définir sur 1. La valeur par défaut est 0.

  • long_query_time : Pour empêcher l'enregistrement des requêtes rapides dans le journal des requêtes lentes, indiquez la valeur de la durée d'exécution de requête la plus courte devant être journalisée, en secondes. La valeur par défaut est de 10 secondes et la valeur minimum est 0. Si log_output = FILE, vous pouvez indiquer une valeur à virgule flottante avec une résolution en microseconde. Si log_output = TABLE, vous devez indiquer un nombre entier avec une résolution en seconde. Seules les requêtes dont la durée d'exécution dépasse la valeur long_query_time sont journalisées. Par exemple, si vous définissez long_query_time sur 0,1, les requêtes s'exécutant pendant moins de 100 millisecondes ne sont pas enregistrées.

  • log_queries_not_using_indexes : Pour enregistrer toutes les requêtes n'utilisant pas d'index dans le journal des requêtes lentes, définir sur 1. Les requêtes n'utilisant pas d'index sont journalisées même si la durée de leur exécution est inférieure à la valeur du paramètre long_query_time. La valeur par défaut est 0.

  • log_output option : Vous pouvez spécifier l'une des options suivantes pour le paramètre log_output.

    • TABLEAU – Écrit les requêtes générales dans le tableau mysql.general_log et les requêtes lentes dans le tableau mysql.slow_log.

    • FICHIER – Écrit les fichiers des requêtes générales et lentes dans le fichier système.

    • AUCUNE– Désactive la journalisation.

    Pour Aurora MySQL version 2, la valeur par défaut pour log_output est FILE.

Pour plus d'informations sur le journal des requêtes lentes et le journal général, accédez aux rubriques suivantes dans la documentation MySQL :

Journal d'audit Aurora MySQL

La journalisation d'audit pour Aurora MySQL se nomme « audit avancé ». Pour activer l'audit avancé, définissez certains paramètres de cluster de bases de données. Pour plus d'informations, consultez Utilisation de l'Audit avancé avec un cluster de bases de données Amazon Aurora MySQL.

Renouvellement et rétention des journaux pour Aurora MySQL

Lorsque la journalisation est activée, Amazon Aurora procède à la rotation ou à la suppression des fichiers journaux à intervalles réguliers. Cette précaution permet de limiter la possibilité qu'un fichier journal volumineux ne bloque l'utilisation de la base de données ou n'affecte les performances. Aurora MySQL gère la rotation et la suppression des journaux comme suit :

  • La taille des fichiers journaux des erreurs Aurora MySQL est limitée à 15 % maximum de l'espace de stockage local pour une instance de base de données. Pour maintenir ce seuil, les journaux sont automatiquement renouvelés toutes les heures. Aurora MySQL supprime les journaux au bout de 30 jours ou lorsque 15 % de l'espace disque est atteint. Si la taille de l'ensemble des fichiers journaux après la suppression dépasse le seuil, les fichiers journaux les plus anciens sont supprimés jusqu'à ce que la taille des fichiers journaux ne soit plus supérieure au seuil.

  • Aurora MySQL supprime les journaux d'audit, généraux et de requêtes lentes au bout de 24 heures ou lorsque 15 % du stockage est utilisé.

  • Lorsque la journalisation FILE est activée, les fichiers journaux généraux et les fichiers journaux des requêtes lentes sont examinés toutes les heures et ceux datant de plus de 24 heures sont supprimés. Dans certains cas, la taille des fichiers journaux combinés restant après la suppression peut dépasser le seuil de 15 % de l'espace local d'une instance de base de données. Le cas échéant, les fichiers journaux les plus anciens sont supprimés jusqu'à ce que la taille des fichiers journaux ne soit plus supérieure au seuil.

  • Lorsque la journalisation TABLE est activée, les tables des journaux ne font l'objet d'aucune rotation ou suppression. Les tables des journaux sont tronquées lorsque la taille de tous les journaux combinés est trop grande. Vous pouvez vous abonner à l'événement low_free_storage pour être informé lorsque les tables de journaux doivent faire l'objet d'une rotation ou d'une suppression manuelle pour libérer de l'espace. Pour plus d'informations, consultez Utiliser la notification d'événements d'Amazon RDS.

    Vous pouvez effectuer une rotation manuelle de la table mysql.general_log en appelant la procédure mysql.rds_rotate_general_log. Vous pouvez effectuer une rotation de la table mysql.slow_log en appelant la procédure mysql.rds_rotate_slow_log.

    Lors de la rotation manuelle des tables de journaux, la table de journal actuelle est copiée vers une table de journal de sauvegarde et les entrées de la table de journal actuelle sont supprimées. Si la table de journal de sauvegarde existe déjà, elle est supprimée avant que la table de journal actuelle ne soit copiée dans la sauvegarde. Si besoin, vous pouvez interroger la table de journal de sauvegarde. La table de journal de sauvegarde de la table mysql.general_log est nommée mysql.general_log_backup. La table de journal de sauvegarde de la table mysql.slow_log est nommée mysql.slow_log_backup.

  • Les journaux d'audit Aurora MySQL font l'objet d'une rotation lorsque la taille des fichiers atteint 100 Mo. Ils sont supprimés au bout de 24 heures.

Pour utiliser les journaux depuis la console Amazon RDS, l'API Amazon RDS, la CLI Amazon RDS ou les kits SDK AWS, définissez le paramètre log_output sur FILE. A l'instar du journal des erreurs Aurora MySQL, ces fichiers journaux font l'objet d'une rotation horaire. Les fichiers journaux qui ont été générés au cours des dernières 24 heures sont conservés. Veuillez noter que la période de rétention est différente pour Amazon RDS et pour Aurora.