Aujourd’hui, nous allons voir un panorama des solutions de monitoring open source disponibles !
#1 Canopsis
Canopsis est un outil de centralisation, de traitement et de présentation de l’ensemble des événements du SI.
En premier lieu, il collecte les informations dont il a besoin : applications métiers, solutions de supervision, outils de ticketing… Après cela, il traite les données en fonction des filtres et règles établies. Enfin, il restitue les données sur un tableau de bord en temps réel et différé (reporting, données métrique, bac à alarmes…).
Canopsis est la tour de contrôle de l’incident management et un incontournable du monitoring open source.
#2 Zabbix
Zabbix est une solution de supervision distribuée très complète. Livrée avec des agents multi-plateformes, la solution supporte également le SNMP et le IPMI. Son interface Web avancée permet en effet de réaliser toutes les tâches d’administration et configuration mais également la modélisation de graphiques et de cartes. Poussée par une forte communauté, la solution propose désormais des fonctionnalités avancées comme la découverte du réseau ou la simulation de parcours d’un visiteur sur un service WEB.
Zabbix est un puissant outil de collecte des états et métriques.
#3 Icinga2
Icinga, d’abord basé sur Nagios, a été complètement réécrit en C++ en 2014 pour donner vie à Icinga2, plus orienté interopérabilité et sécurisation de l’infrastructure de supervision. Il réalise la plupart des fonctions de ce que vous pouvez attendre d’un outil de supervision classique, c’est-à-dire : exécution de commandes, récupération d’informations, traitement de l’information, notification d’alertes, création de graphiques… Il y a 3 choses à savoir sur Icinga2. Premièrement, une machine Icinga2 peut avoir 3 rôles bien spécifiques : master (serveur central), satellite (serveur dans une zone différente rattaché au nœud master), client (chargé de lancer des commandes locales).
Deuxièmement, il y a 2 manières de superviser :
- Top Down Command Endpoint : le serveur ou le satellite va exécuter des commandes à distance sur un de ses Endpoints (voir hôte par exemple).
- Top Down Config Sync : les fichiers de configuration d’objet sont synchronisés de la zone parente vers les zones spécifiées.
Troisièmement, Icinga2 fournit des agents tout en supportant le SNMP et le passage de commandes au travers de SSH ou NRPE.
Nous apprécions l’API Icinga2 qui permet une forte intégration de cet outil de monitoring.
#4 Centreon
Cette solution de supervision flexible et puissante est assurément orientée sur la simplicité de son interface Web afin de permettre au plus grand nombre d’utilisateurs d’accéder aux états des systèmes.
Historiquement basée sur Nagios, la société française Centreon a depuis décider de développer son propre moteur de collecte et son propre gestionnaire d’événements (sortis en 2012).
Centreon repose désormais sur trois composants :
- Centreon Broker qui permet la gestion d’événements
- Centreon Engine le moteur pour la collecte des données
- Centreon Web l’interface de visualisation
Centreon dispose d’une forte représentativité sur le marché des outils de supervision.
#5 Shinken
Shinken est une application de supervision qui permet de faire de la surveillance de systèmes et réseaux. L’application propose une architecture distribuée. L’outil est facile à mettre en place.
Shinken s’articule en 6 modules : L’arbitre (arbiter), qui se charge de la validation et du chargement de la configuration, l’ordonnanceur (scheduler) organise les contrôles (checks), analyse et de déclenche une action si besoin. Le collecteur (poller) actionne les plugins en fonction des requêtes des ordonnanceurs. Le « réactionneur » (reactionner) envoie des notifications et lance les actions automatiques programmables (event_handlers). Le courtier (broker) récupère des données sur les ordonnanceurs et les rend disponibles à des outils tiers et, enfin, le receveur (receiver) met à disposition certaines données aux ordonnanceurs adéquats.
Utilisé par de très grands comptes, nous attendons avec impatience sa nouvelle version open source.
#6 Prometheus
Prometheus est une solution de supervision novatrice. Créé à l’origine par Soundcloud en 2012, le projet a rejoint la Cloud Native Computing Foundation en 2016 en tant que deuxième projet hébergé, après Kubernetes.
Basée sur la collecte de métriques et leur stockage dans une base de données maison de type séries temporelles (time series), la solution Prometheus propose une surveillance d’événements robuste avec une gestion des alertes sur seuil.
La restitution des données est assurée grâce au puissant langage de requête maison PromQL. La solution offre une interface WEB pour la restitution, mais la production de tableaux de bord avancée se fait couramment avec Grafana.
Prometheus est un outil « prometteur » sur le marché du monitoring.
#7 LibreNMS
LibreNMS est une solution de découverte automatique (auto-découverte) du réseau réalisé sous PHP/MySQL, c’est un fork d’observium. LibreNMS mise sur la simplicité, la facilité du déploiement et supporte la surveillance d’un vaste panel de matériels via une batterie de MIBs (management information base, base d’information pour la gestion du réseau) déjà intégrées. La solution fournie une interface Web très « user-friendly » de type Web2 (flat design) permettant de configurer des dashboards personnalisables à l’aide de widgets.
Trop méconnu, LibreNMS est, pour sa simplicité de mise en œuvre et son efficacité, un excellent outil.
#8 Grafana
Grafana est une plateforme de visualisation et d’analyse de métriques. Elle est désormais considérée comme une solution de supervision à par entière car elle intègre une gestion d’alertes sur seuil et d’actions associées.
Grafana se connecte à un grand nombre de sources de données parmi lesquelles figure InfluxDB, Graphite, Mysql, PostgreSQL, Loki ou encore Elasticsearch.
L’incontournable des générateurs de tableaux de bord.
#8 Cucumber et Sikuli (EUE)
Inclus dans une pile complète d’EUE (End User Experience), Cucumber scénarise des actions sur des applications web. Les résultats de disponibilité et de latences sont transmis à un outil tiers (Canopsis, par exemple) pour être exploités. Son pendant, Sikuli, quant à lui réalise des scénarios sur des applications lourdes en mode « screenshot » (capture d’écran).
Les outils d’EUE open source sont de très bons compléments au monitoring.
#9 ELK Stack (Elasticsearch, Logstash, Kibana)
Référence incontournable dans le monde des logs, ELK exploite toutes les données, qu’elles soient structurées ou non structurées. Il centralise, traître et fournit des tableaux de bord. Ses évolutions constantes laissent présager de nouvelles orientations comme le SIEM (Security Information and Event Management) par exemple.
ELK peut être facilement une source de données pour Canopsis pour un monitoring open source au top de la Sup’ !