Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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.

RiceBowlJr

October 19, 2018
Tweet

Other Decks in Technology

Transcript

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

    View Slide

  2. #sysadmindays
    devient
    2

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  7. #sysadmindays
    Méthode historique
    Agents
    Collecte
    Analyse
    7

    View Slide

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

    View Slide

  9. #sysadmindays
    Les problèmes rencontrés
    1. Aspect éphémère du CATTLE
    2. Déploiements blue/green
    3. Services managés
    9

    View Slide

  10. #sysadmindays
    Les problèmes rencontrés
    Approches PET et CATTLE
    10

    View Slide

  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

    View Slide

  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

    View Slide

  13. #sysadmindays
    Notre solution : théorie
    - Netdata
    - Prometheus
    - Grafana
    - Pager Duty / Slack / Mail
    13

    View Slide

  14. #sysadmindays
    Notre solution : théorie
    - Alertes Netdata trop sensibles
    - Interface en temps réel inutile
    pour notre utilisation
    14

    View Slide

  15. #sysadmindays
    Notre solution : théorie
    - Toutes les datas restent
    chez le client
    - Grafana commun pour
    tous les clients
    15

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  20. Notre solution : pratique
    20

    View Slide

  21. Notre solution : pratique
    curl -X POST -H "Authorization: Bearer " -H "Content-Type: application/json" -d
    "" https://
    21

    View Slide

  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

    View Slide

  23. Infrastructure containerisée
    Monitoring d’une
    infrastructure containerisée
    23

    View Slide

  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

    View Slide

  25. Kubernetes Operators
    Operator :
    - Extension de l’API Kubernetes pour manager des ressources
    Exemples :
    - Prometheus Operator
    - Etcd Operator
    25

    View Slide

  26. Prometheus Operator
    Prometheus Operator CRDs :
    - Prometheus
    - ServiceMonitor
    - Prometheus Rule
    - AlertManager
    26

    View Slide

  27. Prometheus Operator
    27

    View Slide

  28. Prometheus Operator
    Merci à CoreOs pour ces templates (HELM charts)
    https://github.com/coreos/prometheus-operator/tree/master/helm
    28

    View Slide

  29. Des questions ?
    29

    View Slide

  30. MERCI !
    On recrute :
    [email protected]
    30

    View Slide