BedrockStreaming / Statsd

PHP component easing the statsd usage
13 stars 14 forks source link

POC : Add tags support for influxDb 0.9 #17

Closed johndodev closed 8 years ago

johndodev commented 8 years ago

Node is "merged" with tags :

foo:1|c into foo,tag1=value1,tag2=value2:1|c

Tests still passing, sending format is not modified if no tags are sent.

johndodev commented 8 years ago

Hello,

en faisant un mix entre http://tech.m6web.fr/monitoring-applicatif-pourquoi-et-comment/ http://www.symantec.com/connect/blogs/metrics-cocktail-statsdinfluxdbgrafana et quelques autres recherches on a opté pour une stack avec influxdb et grafana.

Or influxDb dans sa dernière version 0.9 change un peu le concept de node en mettant des tags, qui pourrait s'apparenter à des champs indexés. En gros, au lieu d'envoyer 2 nodes genre _memorypeak.project1 et _memorypeak.project2 on envoie juste _memorypeak avec le tag project voulu.

Ça permet de faire toute sorte de calculs entre les deux (genre la moyenne), il me semble que c'est pas possible avec 2 mesures différentes (dans influxDb). Ca ressemble à du mysql quoi, la doc d'influxDb est assez bien foutu : https://influxdb.com/docs/v0.9/introduction/index.html

Il y a une PR existante dans etsy/statsd (#539) que j'ai forké pour m'en servir du coup, le projet ayant l'air peu maintenu.

Pour l'implémentation en php on a pas trouvé de lib qui permettait d'envoyer le tout simplement à statsd (mais genre directement à influxDb, ou alors des trucs super lourd et très verbeux), du coup on a choisi le votre pour l'implémenter, les modifs étant assez mineures.

Après modif tout est bon de notre côté, les tags s’insèrent en base, grafana les autocomplete et gère influxDb 0.9 nativement (vraiment top ce truc), on va avancer comme ça.

On a aussi besoin du support des tags dans le bundle, du coup je vais m'y atteler, si ça vous intéresse je ferais la PR :) !

omansour commented 8 years ago

ça me parait bon :+1:

merci

johndodev commented 8 years ago

Cool, pas de soucis, merci à vous !

omansour commented 8 years ago

j'ajouterais juste un test sur l'exception "'Tags has to be an array'" et c'est nickel pour moi :)

johndodev commented 8 years ago

Done ^^

omansour commented 8 years ago

j'aimerais bien d'autres retours : cc @mikaelrandy @fabdsp @gbouyge

fabdsp commented 8 years ago

Me parait bien aussi - en plus influxDB c'est l'avenir ;-)

gbouyge commented 8 years ago

:+1:

omansour commented 8 years ago

v1.3.0