Comment configurer GoSH sur une instance Amazon RDS qui exécute MySQL ?

Lecture de 2 minute(s)
0

J'ai une instance Amazon Relational Database Service (Amazon RDS) qui exécute MySQL. Je souhaite activer et configurer l'historique d'état global (GoSH) sur mon instance de base de données RDS. Comment dois-je procéder ?

Brève description

Vous pouvez utiliser GoSH pour gérer l'historique des différentes variables d'état dans Amazon RDS pour MySQL. Tout d'abord, vous devez activer un planificateur d'événements avant de pouvoir utiliser GoSH. Vous pouvez ensuite modifier GoSH pour qu'il s'exécute à des intervalles spécifiques et pour faire pivoter les tables régulièrement. Par défaut, les informations GoSH sont collectées toutes les cinq minutes, stockées dans la table mysql.rds_global_status_history et la table est alternée tous les sept jours.

Résolution

1.    Modifiez le groupe de paramètres de base de données personnalisé associé à l'instance afin que event_scheduler soit défini sur ON.

2.    Connectez-vous à votre instance de base de données, puis exécutez cette commande :

SHOW PROCESSLIST;
SHOW GLOBAL VARIABLES LIKE 'event_scheduler';

3.    Activez GoSH en exécutant cette commande :

CALL mysql.rds_enable_gsh_collector;

4.    Pour modifier l'intervalle de surveillance à une minute, exécutez cette commande :

CALL mysql.rds_set_gsh_collector(1);

5.    Activez la rotation des tables GoSH en exécutant cette commande :

CALL mysql.rds_enable_gsh_rotation;

6.    Modifiez la rotation en exécutant cette commande :

CALL mysql.rds_set_gsh_rotation(5);

Interrogez les tables GoSH pour récupérer des informations sur des opérations spécifiques. Par exemple, la requête suivante fournit des informations relatives au sur le nombre d'opérations de langage de manipulation de données (DML) effectuées sur l'instance chaque minute.

SELECT collection_start, collection_end, sum(value) AS 'DML Queries Count' from (select collection_start, collection_end, "INSERTS" as "Operation", variable_Delta as "value" from mysql.rds_global_status_history  where variable_name = 'com_insert' union select collection_start, collection_end, "UPDATES" as "Operation", variable_Delta as "value" from mysql.rds_global_status_history  where variable_name = 'com_update' union select collection_start, collection_end, "DELETES" as "Operation", variable_Delta as "value" from mysql.rds_global_status_history  where variable_name = 'com_delete') a group by 1,2;

Remarque : Cette requête ne s'applique pas à MySQL 8.0.


Informations connexes

Tâches DBA courantes pour les instances de base de données MySQL

Gestion de l'historique d’état global

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans