Si vous utilisez Riemann pour ses capacités de monitoring, vous êtes forcément tombé sur riemann-tools. Il s’agit d’un ensemble de programmes destiné à collecter des métriques et événements variés – occupation mémoire ou trafic réseau par exemple – pour les envoyer vers un serveur Riemann.
Chez Ippon Hosting, avec Riemann au cœur de notre solution de monitoring interne nous avons cependant éprouvé beaucoup de difficultés à généraliser l’utilisation des riemann-tools sur un parc de machines hétérogènes. En effet :
- Ruby 1.9.3 est une dépendance transitive à riemann-tools et en fonction des distributions utilisées, il peut être délicat de mettre en place cette version sur certains systèmes.
- Certaines librairies utilisées par* riemann-tools* requièrent la compilation d’une extension C et par conséquent l’installation de toute une chaîne de compilation sur chacune des machines ou les riemann-tools sont utilisés.
- De manière générale, le simple
*gem install riemann-tools
* ramène énormément de dépendances et dans certains cas n’est même pas suffisant pour avoir une installation fonctionnelle ; je pense par exemple à la nécessité d’installer ruby-dev sur Ubuntu.
Si nous apprécions la simplicité d’utilisation de riemann-tools, on ne peut pas en dire autant sur son mode de déploiement et de tout ce qui se cache derrière *gem install riemann-tools*
. A nos yeux, c’est incompatible avec un déploiement à grande échelle sur un parc hétérogène. Aussi, chez Ippon Hosting nous avons décidé de mettre au point notre propre alternative aux riemann-tools avec pour objectif de combler leurs principales lacunes.
Cette alternative c’est Goshin!
Goshin! est une alternative développée en Go aux riemann-tools. S’il ne couvre pas (encore?!) le périmètre des riemann-tools, il permet déjà d’être un parfait remplaçant aux programmes riemann-net et riemann-health. **Goshin! **vous offre la possibilité :
- de profiter d’un mode de déploiement extrêmement simple : un binaire à copier et à lancer.
- de garder la même signification pour vos métriques. Goshin! reporte des métriques identiques aux riemann-tools : même nom, même mode de calcul, même seuil d’alerte, même description.
- d’utiliser les mêmes flags que riemann-tools et éventuellement d’utiliser un fichier de configuration.
- d’éviter d’avoir à lancer riemann-health ET riemann-net en parallèle : Goshin! couvre les 2 programmes et le support de riemann-diskstats est à venir.
Goshin! a d’abord été publié sous le nom de
Gorilla!Or, dans la communauté Go, Gorilla est un toolkit Web déjà bien implanté. Pour éviter toute confusion, nous avons renommé le projet.
Vous pouvez dès à présent commencer à l’utiliser en vous rendant sur la page GitHub du projet :