Comment monitorer de façon habituelle une base de données Oracle / AWS RDS?

LinkedIn 0
Twitter
Facebook 0
Google+ 0
En début d’année, un de nos clients nous a sollicités après avoir finalisé un projet de replatforming d’une partie de ses bases de données ORACLE, vers le service AWS nommé RDS (Relational Database Service).
Le souhait de notre client était de pouvoir continuer à surveiller ses bases de données avec sa solution standard et normalisée, à savoir, un NAGIOS On Premise. L’objectif étant de rendre le plus transparent possible, dans le cadre du monitoring quotidien, du fait que certaines de ses bases de données se trouvent désormais dans « le nuage AWS ».
Ce bref article a pour vocation de vous présenter la solution proposée, retenue, et d’ailleurs toujours utilisée.

 

Présentation de AWR RDS
Amazon Relational Database Service (Amazon RDS) permet de provisionner et de gérer aisément une base de données relationnelle dans le cloud AWS.
Amazon RDS est disponible sur plusieurs types d’instances de base de données (optimisées pour la mémoire, les performances ou les I/O). Ce service donne le choix entre six moteurs de base de données notamment Oracle, Amazon Aurora, PostgreSQL, MySQL, MariaDB et Microsoft SQL Server.
Un service spécifique (AWS Database Migration Service) permet de migrer ou répliquer rapidement ses bases de données existantes, vers le service Amazon RDS.

 

— Présentation de Amazon CloudWatch
Amazon CloudWatch est un service de surveillance pour les ressources du cloud AWS et notamment, puisque que c’est cela qui nous intéresse ici, pour les instances Amazon RDS DB.
Amazon CloudWatch permet, entre autres, de collecter et de suivre de nombreuses métriques.
En nous renseignant sur ce service, nous nous sommes rendus compte de l’existence d’un nombre conséquent d’API(s) proposées nativement, ainsi que de scripts disponibles dans les dépôts publics (GitHub etc ..). A partir de là, la réponse à proposer à notre client était pratiquement toute faite.

 

— Solution proposée
Voici la dernière itération du script Python que nous avons utilisé :

Ci-dessous, un exemple d’exécution du script, depuis le serveur NAGIOS On Premise de notre client :

Ici, on interroge la métrique « CloudWatch » nommée « DatabaseConnections » et relative à la base RDS nommée « my_database ».
La liste exhaustive et évolutive des métriques « CloudWatch » est disponible dans la documentation AWS :

 

Afin de sécuriser le tout, les credentials d’accès au service ont été stockés directement dans le .bash_profile du compte OS qui exécutait le script.
Une fois le bon fonctionnement de ce script éprouvé, il ne suffisait alors plus que de l’intégrer en tant que plugin dans NAGIOS, et le tour était joué :

 
Grâce à cette solution, les équipes opérationnelles en charge du monitoring des multiples bases de données du site n’ont pas à faire la distinction, au quotidien, entre les environnements On Premise et les environnements présents dans le Cloud AWS.
 

LinkedIn 0
Twitter
Facebook 0
Google+ 0

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *