www.ITNetwork.fr

Le Blog > Monitorez vos serveurs avec Grafana! Choix des outils

— Loïc BOURG @LoicBourg63


Cet article est le premier d’une sĂ©rie de trois articles Ă  propos du monitoring avec grafana.
Les liens vers les articles suivants se trouveront ici lorsqu’ils seront publiĂ©s.

Notre besoin

Une fois nos applications en production, il est important de nous assurer que les serveurs qui les hĂ©bergent n’ont pas de problĂšmes critiques (disque dur bientĂŽt plein, utilisation critique de la mĂ©moire RAM, 
)

Il y a un an, nous utilisions la partie gratuite de new relic server, mais celle ci a été remplacée par le service payant new relic alerts
Le soucis n’était pas que la solution devienne payante, nous Ă©tions prĂȘt Ă  payer pour ce service, mais le prix du monitoring Ă©tait devenu vraiment Ă©levĂ©:

pricing newrelic

Nous avons actuellement une trentaine de machines chez OVH, ce qui nous aurait fait payer 216 $ par mois pour uniquement utiliser la fonctionnalitĂ© d’alerting du produit.

Nous avons donc dĂ©cidĂ© de changer le systĂšme de monitoring avec ces objectifs en tĂȘte:

  • Technologie open source
  • Solution SaaS (pour de ne pas avoir Ă  monitorer le systĂšme de monitoring)
  • Ne pas avoir de prix par machine
  • Recevoir les notifications d’alertes sur un channel Slack
  • CrĂ©ation des alertes automatisables

Choix des outils

Nous avions le choix entre deux outils: Nagios et Grafana
Les deux outils sont assez diffĂ©rents mais fournissent tous les deux une possibilitĂ© d’alerting, ce qui nous intĂ©resse dans notre cas.

AprĂšs quelques recherches nous n’avons pas trouvĂ© de solution en SaaS de Nagios nous paraissant satisfaisante, nous nous sommes donc tournĂ©s vers Grafana.

Pour avoir un Grafana fonctionnel, il nous a fallu choisir trois éléments:

  • L’hĂ©bergeur SaaS pour Grafana
  • Une base de donnĂ©es time series en SaaS Ă  laquelle se connectera le Grafana pour lancer les alertes et afficher les graphiques
  • Un agent de collecte de donnĂ©es Ă  installer sur les serveurs pour envoyer les mĂ©triques Ă  la base de donnĂ©es time series

Grafana

Grafana est un outil d’analyse et de surveillance de mĂ©triques. Il permet d’afficher des graphiques avec les donnĂ©es d’une ou plusieurs base de donnĂ©es et d’alerter en cas de mĂ©triques critiques.

Un des avantages de cet outil est qu’il peut se brancher Ă  de nombreuses sources de donnĂ©es diffĂ©rentes.

Choix de l’hĂ©bergement

Pour le hosting de grafana nous avions trois choix:

Pour rappel nous avons une trentaine de serveurs, si nous voulons alerter sur 3 métriques (utilisation disque, utilisation RAM, utilisation processeur) sur chaque serveur, il nous faut 90 alertes au total.
Cela nous donne les prix suivants:

Vu la diffĂ©rence de prix, nous avons dĂ©cidĂ© de partir sur Grafana cloud, qui a Ă©galement l’avantage d’ĂȘtre gĂ©rĂ© par la mĂȘme entreprise qui maintient Grafana.

Base de données time series

Son but est de stocker des séries temporelles.
Par exemple dans notre cas d’usage, une des sĂ©ries temporelles Ă  stocker est le pourcentage d’utilisation du disque Ă  une date donnĂ©e.

Choix de la base de donnĂ©es time series et de l’hĂ©bergement

Il existe de nombreuses base de données time series, les plus populaires étant Graphite et InfluxDB.

Le pricing des bases de données time series en SaaS se fait principalement par le nombre de métriques différentes envoyées par mois et la durée de rétention. Nous avons calculé que nous enverrions environ 15 métriques par serveur donc 450 métriques différentes par mois.

Pour InfluxDB: le fournisseur SaaS que nous avons trouvé est Influx cloud
Le pricing qui nous intéresse est à 150 $ par mois

Il existe Ă©galement Hosted Metrics
Le pricing qui nous intĂ©resse n’est pas indiquĂ©, mais le prix indiquĂ© par mail Ă©tait d’environ 90 $ par mois pour notre usage

Pour Graphite: le fournisseur SaaS que nous avons trouvé est hosted Graphite
Le pricing qui nous intéresse est à 25 $ par mois

Pour OpenTSDB: Ovh Metrics Data Platorm
le pricing qui nous intĂ©resse est Ă  5 € par mois
Ă  noter qu’il est Ă©galement possible d’utiliser d’autres base de donnĂ©es time series sur Ovh, mais toutes les fonctionnalitĂ©s ne sont pas implĂ©mentĂ©es.

Nous avons choisi OVH pour cette partie Ă©tant donnĂ© son faible prix, et Ă©galement car nous sommes dĂ©ja utilisateur d’OVH pour la partie serveur.
Le fait que ce soit une entreprise française est également un plus ! drapeau france

Agent de collecte de données

Son role est de récupérer des métriques sur une machine et de les envoyer à une base de données.

Choix de l’agent

Telegraf est un agent de collecte de donnĂ©es Ă©crit en Go. Le fait qu’il soit Ă©crit en Go est un gros avantage par rapport aux autres outils de ce type (collectd par exemple).
Il suffit de télécharger le binaire et de le lancer en démon sans se soucier des dépendances puisque celles ci sont toutes contenues dans le binaire.
La grande quantitĂ© de mĂ©triques diffĂ©rentes que l’agent est capable d’observer nous a Ă©galement confortĂ© dans ce choix.

Conclusion

Nous avons maintenant choisi tous les outils nécessaires à la mise en place du monitoring, nous verrons dans la deuxiÚme partie comment les configurer !