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

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Ă©:
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:
- hosted Graphite: 255 $ par mois, mais peut trĂšs vite monter Ă 1050 $ par mois en ajoutant quelques serveurs
- Grafana Cloud: 40 $ par mois
- Ovh Metrics Data Platorm: pas dâalerte via grafana (dĂ©sactivĂ© sur lâinterface)
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 !
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 !