Une solution de monitoring adaptée au Cloud avec intégration continue

Une solution de monitoring adaptée au Cloud avec intégration continue

Historique
 

Edifixio utilise depuis quelques années une solution de monitoring dynamique adaptée à l’usage du Cloud : Sensu. Dès l’origine, Edifixio a souhaité faciliter le déploiement de Sensu pour une meilleure efficacité et a conçu les outils à partir de containers Docker. Parmi les avantages de la containerisation, la portabilité et le multicloud sont essentiels avec ce choix. L’objectif était de proposer aux clients d’Edifixio une mise en œuvre rapide sur différents fournisseurs du Cloud. Sensu offre aussi une compatibilité avec les sondes Centreon ou Nagios existantes et la distribution est Open Source. Le service de monitoring AWS Cloudwatch peut aussi s’interfacer avec Sensu.
 

Edifixio a en fait construit une solution de monitoring complète en intégrant d’autres composants : Uchiwa comme tableau de bord, Prometheus , Elasticsearch et Grafana pour l’exploitation des métriques, Slack pour les notifications et ITOP pour le ticketing automatique.  L’application est ainsi modulaire et complètement containérisée. Edifixio a ensuite rapidement adopté Kubernetes pour l’orchestration des différents conteneurs et assurer une meilleure une résilience.

sensu

Automatisation et intégration continue :

La mise en œuvre de conteneurs est aussi bien adaptée à la méthodologie d’intégration continue (CI/CD).  Les fichiers (Dockerfiles) qui sont utilisés pour construire les images des conteneurs sont maintenus sur un dépôt Git interne. Git va héberger tous les fichiers nécessaires à la construction de toutes les images de la solution de monitoring. Git permet de maintenir différentes configurations et une chronologie de version pour différents projets ou clients. L’intégration en continue est réalisée avec gitlab-ci, composant qui permet de construire, tester, déployer les images dont les configurations sont dans le dépôt Git.
 

Sensu et AWS :

La solution développée par Edifixio utilise de nombreux services AWS quand elle est déployée sur le cloud AWS :

    • EFS
    • AutoScaling
    • ELB
    • Route53
    • RDS
    • SQS / SNS / SES
    • ECR for docker images

amazon EKS

AWS a mis à disposition un service managé Amazon Elastic Kubernetes Service (Amazon EKS) qui a beaucoup facilité le déploiement et la gestion de conteneurs avec Kubernetes. Avec AWS EKS et Helm  (gestionnaire de paquets pour Kubernetes) Edifixio a encore amélioré le contrôle de sa solution Sensu.

 

Ce socle Kubernetes est actuellement la solution standard utilisée pour plusieurs Clients Edifixio.
 

Cas d’usage :

Les bases de données sur AWS sont installées de préférence sur des instances managées RDS mais aussi sur des instances EC2.
 

Pour une application de commerce B2B migrée récemment, un cluster SQL Server 2014 Always-On a été installé sur 2 instances EC2. Des sondes de monitoring classiques ont été mises en place pour vérifier le bon fonctionnement de la base SQL Server.  Des configurations spécifiques ont été mises en place : une sonde pour signaler un SWITCHOVER du cluster et une autre sonde pour vérifier la synchronisation entre le primaire et le secondaire.
 

Les bases de données RDS ont des métriques publiées par le service AWS Cloudwatch. Edifixio a développé des scripts standards qui s’interfacent avec Sensu pour afficher des données telles que : check_rds_storage_<RDS_NAME>, check_rds_cpu_10mn_<RDS_NAME>, check_rds_memory_<RDS_NAME> ou check_rds_connections_<RDS_NAME>.

 

Conclusion :

Edifixio peut fournir à ces clients une solution de monitoring innovante, adaptée au Cloud. Le système de monitoring est portable, installé et updaté rapidement grâce à des conteneurs et un processus d’intégration continue ( CI/CD). La solution est complète et produit des données et des tableaux de bord de façon intégrée.

 

Console Uchiwa :

 

Tableau de bord Grafana :

Console Uchiwa