data • Carbon est un démon qui reçoit les métriques et les injecte dans Whisper • Graphite est une application Django (python) qui rend vos données sous forme de graphique
• Mais peut travailler avec différentes résolutions: ◦ 1 point toutes les 10 secondes pendant 1 jour ◦ 1 point toutes les 10 minutes pendant 10 jour ◦ 1 point toutes les heures pendant 5 ans ◦ ….
une nouvelle valeur arrive. • Les fichiers .wsp feront toujours la même taille • Il agrège aussi les data “anciennes” en fonction des fichiers storage-schema.conf et storage-agregation.conf
• Statsd va envoyer en plus à carbon: ◦ valeur max ◦ valeur min ◦ nombre de valeur recu ◦ 99 percentil ◦ moyenne ◦ médiane • Convient très bien pour une conso mémoire
aggragation doivent être les mêmes entre statsd et carbon. Sinon vous allez: perdre des données (statd > carbon) avoir des données à 0 (statsd < carbon)
faisant la moyenne, dans certains cas il faut: • garder la valeur max • garder la valeur min • faire le total https://github. com/etsy/statsd/blob/master/docs/graphite.md
: ◦ kernel.terminate ▪ pour grapher les temps de réponse ▪ la mémoire ▪ le status code ◦ doctrine: temps passé à requêter la DB, le type de query (SELECT, UPDATE, …) ◦ security: avoir des informations sur le login ...
• On peut “glober” avec graphite ◦ analysis.details.grade.* ◦ http.request.method.* • Il faut éviter les conflits lorsqu’on glob • Toujours bien namespacer les métriques
graphite sur un SSD • Installer graphite sur un SSD • Installer graphite sur un SSD • Installer graphite sur un SSD • Installer graphite sur un SSD • Installer graphite sur un SSD • Installer graphite sur un SSD
whisper-dump.py • whisper-resize.py ◦ permet de changer le xfilefactor ◦ permet de changer la taille des fenêtres ◦ C’est lent … (120Go de data transformé en 15h)
Mais c’est moche et peu ergonomique Il existe pléthore de moteurs de dashboard open source exploitant l’API JSON de graphite. Il y a environ autant de moteurs de dashboard que de développeurs.