Monitoring dans le Cloud : Problèmes rencontrés et résolutions

30a534d5aca396f0883d7d054c730aee?s=47 RiceBowlJr
October 19, 2018

Monitoring dans le Cloud : Problèmes rencontrés et résolutions

Le monitoring par des outils comme Zabbix peut être à la fois très puissant mais peut aussi rapidement lever des faux positifs et nécessiter du développement sur de l'infrastructure éphémère comme le sont les infrastructures Cloud. Pour résoudre ces problématiques, des outils Open Source existent et permettent, lorsqu'ils sont combinés entre eux, de retrouver à peu près tout ce que l'on veut avec un détail assez précis.

30a534d5aca396f0883d7d054c730aee?s=128

RiceBowlJr

October 19, 2018
Tweet

Transcript

  1. #sysadmindays Monitoring dans le Cloud Problèmes et résolutions 1

  2. #sysadmindays devient 2

  3. Qui nous sommes Alexandre Kervadec Ingénieur Cloud github.com/RiceBowlJr Didier Nandiegou

    Ingénieur Cloud @damigoudidier 3
  4. #sysadmindays Alter Way Cloud Consulting, anciennement Osones, Pure Player Cloud

    depuis 2013. Nous accompagnons les entreprises durant toutes les phases de leurs projets Cloud. Une expertise de pointe sur le Cloud : Amazon Web Services OpenStack Conteneurs La société Azure 4
  5. #sysadmindays 1. Méthode de monitoring historique 2. Les problèmes rencontrés

    3. Notre solution a. Théorique b. Pratique 4. Monitoring d’infrastructures conteneurisées Au programme 5
  6. #sysadmindays - Infogérance d’infrastructures sur AWS - Instances éphémères (jetables)

    - Outils non adaptés au infrastructure Cloud (IaaS) - Configuration manuelle Contexte et problématiques Objectif : - Implémenter une solution de monitoring orientée CATTLE - Simplifier la configuration 6
  7. #sysadmindays Méthode historique Agents Collecte Analyse 7

  8. #sysadmindays Méthode historique - Beaucoup de faux positifs - UX

    peu intuitive 8
  9. #sysadmindays Les problèmes rencontrés 1. Aspect éphémère du CATTLE 2.

    Déploiements blue/green 3. Services managés 9
  10. #sysadmindays Les problèmes rencontrés Approches PET et CATTLE 10

  11. #sysadmindays Les problèmes rencontrés Approches PET et CATTLE Stateless :

    données persistantes externalisées a. Base de données relationnelle b. Base de données clé/valeur c. File System (images, documents, …) d. Configuration e. Logs 11
  12. #sysadmindays Les problèmes rencontrés Déploiements blue/green - Réplication de l’infrastructure

    - Bascule DNS - Rollback facile et rapide - Test complet avant bascule 12
  13. #sysadmindays Notre solution : théorie - Netdata - Prometheus -

    Grafana - Pager Duty / Slack / Mail 13
  14. #sysadmindays Notre solution : théorie - Alertes Netdata trop sensibles

    - Interface en temps réel inutile pour notre utilisation 14
  15. #sysadmindays Notre solution : théorie - Toutes les datas restent

    chez le client - Grafana commun pour tous les clients 15
  16. Notre solution : théorie Prometheus - Installation simple - TSDB

    - Pulling de métadonnées sur les targets, Netdata dans notre cas (en opposition au push) 16
  17. Notre solution : théorie Prometheus Source : http://offlinewallet.net/zabbix-vs-prometheus/ Zabbix Prometheus

    Écrit en C et PHP, utilise une base de données relationnelle Écrit en Go, a sa propre base de données non-relationnelle en backend Puissant, mais manque de reporting en temps réel Permet une grosse personnalisation et supporte le monitoring en temps réel Bonnes performances jusqu’à 10000 noeuds Rapide et stable pour les larges set de données Recommandé pour du monitoring hardware / bare metal / machines virtuelles Recommandé pour les infrastructures Cloud 17
  18. Notre solution : théorie Netdata - Remonte des metadatas système

    poussées (conso. RAM par user system, …) - Zéro configuration (ou presque) - Architecture distribuée - Pas de discovery par le master mais push des métriques par les agents 18
  19. Notre solution : théorie Grafana - Organisations / dashboards cloisonnés

    - Visualisation claire des métriques - Variété des visualisations : time série, charts, gauges, couleurs - Multitude de plugins de notifications externes - Partage en lecture seule - Annotations sur les visualisations (Déploiements ou autre) 19
  20. Notre solution : pratique 20

  21. Notre solution : pratique curl -X POST -H "Authorization: Bearer

    <token>" -H "Content-Type: application/json" -d "<JSON>" https://<URL> 21
  22. Notre solution : pratique - Remontée des alertes dans Slack

    avec screen du graph - Détection rapide du soucis (à 3h du matin) - Auto-résolution par l’API 22
  23. Infrastructure containerisée Monitoring d’une infrastructure containerisée 23

  24. Infrastructure containerisée Ce qui change sur l’infrastructure : - Niveau

    d’abstraction supérieur : responsabilité déportée de l’infrastructure sous-jacente - Infrastructure encore plus flexible - Multitude micro-services à monitorer (+87 services chez un de nos clients) 24
  25. Kubernetes Operators Operator : - Extension de l’API Kubernetes pour

    manager des ressources Exemples : - Prometheus Operator - Etcd Operator 25
  26. Prometheus Operator Prometheus Operator CRDs : - Prometheus - ServiceMonitor

    - Prometheus Rule - AlertManager 26
  27. Prometheus Operator 27

  28. Prometheus Operator Merci à CoreOs pour ces templates (HELM charts)

    https://github.com/coreos/prometheus-operator/tree/master/helm 28
  29. Des questions ? 29

  30. MERCI ! On recrute : recrutement@osones 30