Comment surveiller les performances de mon instance de base de données Amazon RDS for MySQL ?

Dernière mise à jour : 16/07/2021

Je souhaite surveiller les performances de mon instance de base de données Amazon Relational Database Service (Amazon RDS) for MySQL. Quelle est la meilleure façon de procéder ?

Brève description

Il existe plusieurs façons de surveiller votre instance de base de données Amazon RDS for MySQL :

Pour résoudre les problèmes ou les pannes multiples, la bonne pratique consiste à surveiller votre instance de base de données à l'aide de plusieurs de ces méthodes de surveillance.

Résolution

Amazon CloudWatch

Amazon CloudWatch fournit des métriques en temps réel de votre instance de base de données Amazon RDS for MySQL. Par défaut, les métriques Amazon RDS sont automatiquement envoyées à Amazon CloudWatch toutes les 60 secondes. Vous pouvez également créer une alarme d'utilisation pour surveiller une seule métrique Amazon RDS sur une période de temps spécifique.

Pour surveiller les métriques Amazon RDS avec Amazon CloudWatch, effectuez les opérations suivantes :

Remarque : les métriques sont d'abord regroupées par l'espace de noms du service, puis par les différentes combinaisons de dimensions dans chaque espace de noms.

1.    Ouvrez la console Amazon CloudWatch.

2.    (Facultatif) Mettez à jour votre région AWS. Dans la barre de navigation, choisissez la région AWS où se trouvent vos ressources AWS. Pour en savoir plus, consultez la page Régions et points de terminaison.

3.    Dans le volet de navigation, sélectionnez Metrics (Métriques).

4.    Choisissez l'espace de nom de la métrique RDS.

5.    Sélectionnez une dimension métrique.

6.    (Facultatif) Triez, filtrez, mettez à jour l'affichage de vos métriques :
Pour trier vos métriques, utilisez l'en-tête de colonne.
Pour créer une vue graphique de votre métrique, cochez la case à côté de la métrique.
Pour filtrer par ressource, choisissez l'ID de la ressource, puis Add to search (Ajouter à la recherche).
Pour filtrer par métrique, choisissez le nom de la métrique, puis Add to search (Ajouter à la recherche).

Surveillance améliorée (dans un intervalle de granularité de 1 à 5 secondes)

Lorsque vous utilisez la surveillance améliorée dans Amazon RDS, vous pouvez afficher les métriques en temps réel d'un système d'exploitation sur lequel votre instance de base de données s'exécute.

Remarque : Vous devez créer un rôle AWS Identity Access Management (IAM) qui permet à Amazon RDS de communiquer avec Amazon CloudWatch Logs.

Pour activer la surveillance améliorée dans Amazon RDS, effectuez les opérations suivantes :

1.    Faites défiler jusqu'à la section Surveillance.

2.    Choisissez Enable enhanced monitoring (Activer la surveillance améliorée) pour votre instance de base de données ou votre réplica en lecture.

3.    Pour Monitoring Role (Rôle de surveillance), spécifiez le rôle IAM que vous avez créé.

4.    Choisissez Default(Défaut) pour que Amazon RDS crée le rôle rds-monitoring-role pour vous.

5.    Définissez la propriété Granularité sur l'intervalle, en secondes, entre les points où les métriques sont collectées pour votre instance de base de données ou votre réplica en lecture. La propriété Granularité peut être définie sur l'une des valeurs suivantes : 1, 5, 10, 15, 30 ou 60.

Performance Insights de RDS

Remarque : si Performance Insights est activé manuellement après la création de l'instance de base de données, un redémarrage de l'instance est nécessaire pour activer Performance Schema. Performance Schema est désactivé lorsque le paramètre est défini sur « 0 » ou « 1 » ou que la colonne Source du paramètre est définie sur « utilisateur ». Lorsque le paramètre performance_schema est désactivé, Performance Insights affiche une charge de base de données classée selon l'état de la liste du processus Amazon RDS for MySQL. Pour activer le paramètre performance_schema, utilisez le paramètre reset performance_schema.

Lorsque vous utilisez Performance Insights de RDS, vous pouvez visualiser la charge de la base de données et filtrer la charge par attentes, instructions SQL, hôtes ou utilisateurs. Ainsi, vous pouvez identifier les requêtes à problème et afficher le type d'attente et les événements d'attente qui leur sont associés.

Vous pouvez activer Performance Insights for Amazon RDS for MySQL dans la console Amazon RDS.

Journalisation des requêtes lente

Vous pouvez activer votre journal de requêtes lentes en définissant la valeur slow_query_log à « 1 ». (La valeur par défaut est « 0 », ce qui signifie que votre journal de requêtes lentes est désactivé.) Un journal de requêtes lentes enregistre toutes les requêtes qui s'exécutent plus longtemps que le nombre de secondes spécifié pour la métrique long_query_time. (La valeur par défaut de la métrique long_query_time est « 10 ».) Par exemple, pour consigner les requêtes qui durent plus de deux secondes, vous pouvez mettre à jour le nombre de secondes pour la métrique long_query_time sur une valeur telle que « 2 ».

Pour activer les journaux de requêtes lentes pour Amazon RDS for MySQL en utilisant un groupe de paramètres personnalisés, effectuez les opérations suivantes :

1.    Ouvrez la console Amazon RDS.

2.    Dans le panneau de navigation, sélectionnez Parameter groups (Groupes de paramètres).

3.    Choisissez le groupe de paramètres que vous souhaitez modifier.

4.    Choisissez Parameter group (Actions du groupe de paramètres).

5.    Sélectionnez Edit (Modifier).

6.    Choisissez Edit parameters (Modifier les paramètres).

7.    Mettez à jour les paramètres suivants :
log_output : si le journal général ou le journal des requêtes lentes est activé, mettez à jour la valeur sur « fichier » pour écrire les journaux dans le système de fichiers. Les fichiers journaux font l'objet d'une rotation toutes les heures.
long_query_time : mettez à jour la valeur sur « 2 » ou plus, pour consigner les requêtes qui s'exécutent en deux secondes ou plus.
slow query_log : mettez à jour la valeur sur « 1 » pour activer la journalisation. (La valeur par défaut est « 0 », ce qui signifie que la journalisation est désactivée.)

8.    Choisissez Save Changes (Enregistrer les modifications).

Remarque : vous pouvez modifier les valeurs des paramètres dans un groupe de base de données personnalisé, mais pas dans un groupe de paramètres de base de données par défaut. Si vous ne parvenez pas à modifier le paramètre dans un groupe de paramètres de base de données personnalisé, vérifiez si le type de valeur est défini sur « Modifiable ». Pour plus d'informations sur la façon de publier des journaux MySQL dans un groupe de journaux Amazon CloudWatch, consultez Publication de journaux MySQL dans Amazon CloudWatch Logs.