Il y a quelques semaines, souci rencontré sur un projet client avec une base de données qui grossissait de manière anormale. Ne gérant pas l'hébergement pour ce projet, je n'ai eu aucune alerte, avant que le site plante car le serveur de base de données n'avait plus d'espace disque disponible.
Quelques requêtes plus tard nous avons pu identifier les tables fautives et donc les causes.
Afin de surveiller ça de manière basique, j'ai alors développé un petit module drupal qui affiche les tables avec le plus de lignes et les tables qui prennent le plus d'espace disque. Et la même chose pour les tables de cache au passage.
J'ai pris le temps de packager le module sur drupal.org, car je me suis dis qu'il pourrait être utile à d'autres (et à moi pour d'autres projets).
La page drupal.org est la suivante : https://www.drupal.org/project/database_dashboard
Installation
Comme n'importe quel module drupal :
composer require drupal/database_dashboard
Il vous faudra modifier le fichier settings.php ou settings.local.php et ajouter les lignes suivantes à la fin :
$databases['schema']['default'] = [
'host' => 'mariadb', // À adapter
'database' => 'information_schema',
'username' => 'drupal', // À adapter
'password' => 'drupal', // À adapter
'prefix' => '',
'port' => '3306',
'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
'driver' => 'mysql',
];
Activez le module via le backoffice ou via drush.
Ensuite rendez-vous sur /admin/reports/database ou via le menu d'administration : Rapports / Database Dashboard afin de consulter la page.
Rien de révolutionnaire, mais ça peut servir.
N'hésitez-pas si vous avez des idées d'indicateurs à ajouter !
Contenus en rapport
Un point qui revient souvent lors du développement est la gestion des paramètres de configuration (MySQL par exemple) sur les différents environnements (production, préproduction, local…) et entre différents développeurs d'une même équipe.
Ajouter un commentaire