Les alternatives à Collectd

À la recherche des alternatives à Collectd pour la collecte des données de métrologie…

Collectd est le client en mode passif, autrement appelé mode push, le plus connu et il fait un excellent job. Il y a pourtant comme d’habitude des cas où il est souhaitable de passer par une alternative, le cas le plus évident étant le besoin d’un client Windows. Celui de Collectd est payant.

Il faut bien sûr que ces alternatives puissent fonctionner dans mon contexte d’architecture qui est InfluxDB et Grafana et qu’elles ne constituent pas en elles-même une solution complète de supervision. Juste la collecte…

Tous les outils présentés sont capables… Ou presque de collecter des métriques sur des intervalles de temps courts, inférieurs à 30 secondes.

Munin

Munin

Munin, c’est le vieux briscard de la bande. Il existe depuis une bonne dizaine d’années, est écrit en Perl, mais sait encore se montrer intéressant dans certains cas, notamment quand vous recherchez des plugins un peu ésotériques. En le couplant avec un utilitaire de ce type, il vous est tout à fait possible d’envoyer les métriques collecté par Munin dans Graphite, donc InfluxDB. Et si vous avez une installation de monitoring basée sur Munin, c’est l’occasion de donner un coup de neuf à vos graphiques à peu de frais.

Diamond

Diamond est certainement celui qui se rapproche le plus de Collectd. Il est par contre écrit en Python et dispose de moins de plugins. Il possède un plugin natif pour InfluxDB, ce qui peut en faire un très bon choix, surtout si vous avez des serveurs Windows à monitorer. La liste des « collectors » dans le jargon Diamond est assez impressionnante et vous devriez trouver votre bonheur là-dedans.

Host sFlow

Host sFlow

Host sFlow n’est certainement pas le plus connu du lot mais existe aussi depuis pas mal de temps. Son intérêt réside surtout dans sa capacité à utiliser le protocle sFlow, ce qui peut s’avérer intéressant pour qui veut monitorer finement son trafic réseau par exemple. L’agent tourne sur toutes les plateformes connues et remonte aussi bien métriques réseaux que système. La connexion à InfluxDB se fait par contre malheurseument via un programme intermédiaire, rendant son exploitation plus contraignante.

cAdvisor

cAdvisor

cAdvisor est le collecteur écrit par Google pour les environnements de type containers, qu’il soient au format Docker ou LXC. Son scope est donc plus restreint mais ce qu’il fait, il le fait bien et avec une web UI en prime. Il pourrait donc plus compléter que remplacer un Collectd, qui reste assez « lourd » à configurer quand il s’agit de monitorer des machines virtuelles type containers.

Performance Co-pilot

Performance Co-pilot

Performance co-pilot, « pcp » pour les intimes, est celui que j’ai le moins testé de cette sélection. Le bougre possède pourtant de sérieux atouts mais est plus complexe à appréhender que ces congénères. C’est peut-être dû à des fonctionnalités supplémentaires comme le fait de pouvoir faire une reprise à postériori de valeurs collectées auparavant. La connexion à InfluxDB se fait là aussi au travers d’une interface type graphite par un module pcp du nom de pcp2graphite, ce qui est peu surpenant au demeurant !

Telegraf

Telegraf

Telegraf est le petit dernier et le petit nouveau de cette sélection. La version 0.1.1 vient juste de sortir. C’est aussi le client « natif » InfluxDB puisque développé en Go par les mêmes développeurs que la base de données. Il est donc censé exposer l’ensemble des possiblités de InfluxDB, notamment la possiblité d’ajouter des tags sur ces métriques. Peu de plugins donc pour le moment, mais à coup sûr un projet à suivre. Les données remontées pour le système « cpu, disk io, mémoire, réseau » sont en tout cas très complètes.

À l’heure du choix

Il n’est pas fait en ce qui me concerne et dépend en grande partie du contexte d’utilisation. Mon choix par défaut se porterait sur Diamond, ou plus tard Telegraf pour leur capacité à utiliser nativement l’API de InfluxDB. Il est bon en tout cas de savoir qu’une multitude de collecteurs compatibles Graphite/InfluxDB sont à notre disposition pour pourvoir s’adapter à chacun de ces contextes.

Olivier Jan

À propos de l’auteur

| Cofondateur de Check my Website

Check my Website est un service pour la supervision et la surveillance à distance de la disponibilité, de la performance et du bon fonctionnement des sites et applications web.

Suivez @olivjan sur Twitter !

Laissez un commentaire

comments powered by Disqus