Logilab bottom bottom

La supervision pilotée par Salt avec carbon, graphite, grafana

Introduction

Nantes Monitoring Meetup mars 2016 - Nantes

Arthur Lutz (Logilab) @arthurlutz @logilab

Architecture

image

Démo!

Étapes 1/3

  • déployer un pseudo-dns interne en utilisant la mine de salt
  • déployer graphite : installation paquets debian et configuration apache
  • configurer tous les minions avec le returner carbon
  • utiliser le scheduler de salt pour lancer status.loadavg et envoyer le résultat à carbon

Étapes 2/3

  • déployer grafana pour exploiter les résultats
  • utiliser des plugins existants : exemple de munin
  • déployer les plugins munin et désactiver le munin-node (l'agent salt-minion suffit)
  • configurer le scheduler pour faire des munin.run (ou munin.run_all) renvoyant le résultat à carbon

Étapes 3/3

  • configurer le frontal apache
  • utiliser apache.server_status pour superviser apache
  • déployer la base de données
  • déployer les sondes munin spécifiques à la base postgresql
  • activer ces sondes via le scheduler de salt
  • déployer l'application entre le frontal et la base de données

Retour d'expérience

nos sondes "maison" (une dizaine de lignes de python chacune)

  • backuppc : état des backups
  • uptime : monitoring de sites
  • shinken avec livestatus : état des checks de la supervision
  • munin : vérification de la récolte des données
  • cyrus : quotas des boites IMAP
  • forges : nombre de patchs à relire, statistiques sur les projets, etc.
  • salt : distance entre l'infrastructure et sa description
  • équivalent smokeping : résultat de ping dans un dictionnaire
  • sitespeed : métriques de performances des sites

Mon tableau de bord quotidien

(flou intentionnel)

image

Suite

  • certaines métriques peuvent être mises à jour suite à un changement dans l'infrastructure (event drive infrastructure)
  • système d'alertes
  • returner influxdb ?

Fin