Comment puis-je activer et surveiller les journaux d'une instance de base de données Amazon RDS MySQL ?

Date de la dernière mise à jour : 13/02/2020

Je dois activer et surveiller le journal des erreurs, le journal des requêtes lentes et le journal général pour une instance Amazon Relational Database Service (Amazon RDS) exécutant MySQL. Comment faire ?

Brève description

Vous pouvez surveiller le journal des erreurs MySQL, le journal des requêtes lentes et le journal général directement via la console Amazon RDS, l’API Amazon RDS, l’interface de ligne de commande AWS Amazon RDS (CLI AWS) ou les kits SDK AWS. Le fichier journal des erreurs MySQL est généré par défaut et vous pouvez générer le journal des requêtes lentes et le journal général. Vous pouvez utiliser l’utilitaire mysqlbinlog pour télécharger ou diffuser des journaux binaires. Pour plus d’informations sur la configuration de la journalisation binaire MySQL, consultez la section Format de journalisation binaire.

Si vous activez la journalisation de table, la quantité de données écrites dans la base de données peut augmenter, ce qui peut également affecter les performances. Pour plus d’informations sur les journaux MySQL sous forme de table, consultez la section Gestion des journaux MySQL sous forme de table.

Résolution

Tout d’abord, créez un groupe de paramètres de base de données personnalisé, modifiez le paramètre, puis associez le groupe de paramètres à votre instance MySQL.

Créez un groupe de paramètres de base de données.

  1. Ouvrez la console Amazon RDS, puis sélectionnezParameter groups (Groupes de paramètres) dans le volet de navigation.
  2. Sélectionnez Create parameter group (Créer un groupe de paramètres).
  3. Dans la liste déroulante Parameter group family (Famille de groupe de paramètres), sélectionnez une famille de groupes de paramètres de base de données.
  4. Pour Type, sélectionnez DB Parameter Group (Groupe de paramètres de base de données).
  5. Saisissez le nom dans le champ Group name (Nom du groupe).
  6. Saisissez une description dans le champ Description.
  7. Sélectionnez Create (Créer).

Modifier le nouveau groupe de paramètres

  1. Ouvrez la console Amazon RDS, puis sélectionnezParameter groups (Groupes de paramètres) dans le volet de navigation.
  2. Sélectionnez le groupe de paramètres que vous souhaitez modifier.
  3. Sélectionnez « Parameter group actions » (Actions du groupe de paramètres), puis « Edit » (Modifier).
  4. Sélectionnez « Edit parameters » (Modifier les paramètres) et définissez les paramètres suivants sur ces valeurs :
    General_log = 1 (La valeur par défaut est 0 ou aucune journalisation.)
    Slow_query_log = 1 (La valeur par défaut est 0 ou aucune journalisation.)
    Long_query_time = 2 (pour consigner les requêtes qui s’exécutent plus de deux secondes)
    log_output = FILE (pour écrire le journal général et le journal des requêtes lentes dans le système de fichiers et autoriser l’affichage de ces journaux à partir de la console Amazon RDS)
    log_output = TABLE (La valeur par défaut écrit les requêtes dans une table afin que vous puissiez afficher ces journaux avec une requête.)
  5. Sélectionnez Save changes (Enregistrer les modifications).
    Remarque : vous ne pouvez pas modifier les paramètres d'un groupe de paramètres de base de données par défaut. Vous pouvez modifier le paramètre dans un groupe de paramètres de base de données personnalisé si Is Modifiable (Modifiable) est défini sur true (vrai).

Associer l’instance au groupe de paramètres de base de données

  1. Ouvrez la console Amazon RDS, puis sélectionnez Databases (Bases de données) dans le volet de navigation.
  2. Sélectionnez l'instance que vous souhaitez associer au groupe de paramètres de base de données et sélectionnez Modify (Modifier).
  3. Dans la section Database options (Options de base de données), sélectionnez le groupe de paramètres de base de données que vous souhaitez associer à l'instance de base de données.
  4. Sélectionnez Continue (Continuer).
    Remarque : le nom du groupe de paramètres change et s'applique immédiatement, mais le groupe de paramètres n'est pas appliqué tant que vous n'avez pas redémarré l'instance manuellement. Le redémarrage d'une instance de base de données entraîne une interruption momentanée, au cours de laquelle le statut de l'instance de base de données est défini sur redémarrage.

Facultatif : exécutez la commande suivante pour interroger les tables de journaux :

Select * from mysql.slow_log
Select * from mysql.general_log