Le Monitoring c’est le fait de surveiller en continu son activité afin de détecter les risques et dysfonctionnement au plus tôt. Qu’il s’agisse d’une activité Métier (un processus de commande, de paiements physiques, processus assurance…) ou d’une activité IT, on retrouve les mêmes mécaniques. Cela fait maintenant plusieurs années que je travaille sur le sujet dans des contextes très variés.
1) Retour express sur 30 ans de monitoring
La façon de répondre à ce besoin a fortement évolué au fil du temps.
Les années 90’s ont symbolisé la course des solutions “customs” faites-maisons par des développeurs internes. Ces solutions non standardisées étaient difficile à maintenir dans le temps. Elles nécessitaient un effort important de mise en oeuvre mais aussi de maintenance. En effet, elles étaient fortement dépendantes des personnes qui les avaient conçues et réalisées.
Les années 2000 ont représenté le grand boom des logiciels d’éditeurs très (trop?) standardisés avec des coûts de licence importants et des montées de version souvent douloureuses ! Mais ces éditeurs ont souvent été rattrapés par les acteurs des Analytics et de la Business Intelligence qui s’est aventurée de plus en plus dans le Temps Réel.
Aujourd’hui d’autres voies existent, et certains essaient de combiner le meilleur des deux mondes. Ils optent alors pour des solutions Open Source pour bénéficier d’un socle technique reconnu et efficace et d’un système ouvert qu’ils vont pouvoir personnaliser à leur guise. Ils optent aussi parfois pour une approche « best-of-breed » qui consiste à utiliser plusieurs briques pour répondre à un même besoin.
En tout cas, je retrouve une constante sur les projets de monitoring sur ces 30 dernières années: trois grandes étapes n’ont pas changé !
2) Les 3 fonctions majeures du monitoring…
Dans toutes les solutions il y a, a minima, ces trois fonctions:
- La Collecte des données : Il faut avant tout capturer l’information unitaire, transactionnelle. Pour cela, on « branche » la solution aux sources de données. Pour certaines solutions, cette collecte se fait via des « agents » c’est à dire des programmes qu’on va installer sur les systèmes sources. En règle générale toutefois, cette capture est faite via des connecteurs. Ces connecteurs accèdent directement à la donnée (mode Push ou Pull) sans modification des sources. Ils ont ainsi l’avantage d’être moins intrusifs et plus évolutifs.
- Le Calcul des KPI’s : La donnée collectée va ensuite être traitée. Elle va alimenter des modèles de données et d’observation. Ces modèles intègrent des Indicateurs (KPI – Key Performance Indicators) qui vont être calculés en Temps Réel afin d’évaluer la situation en continu.
- La Restitution : Une fois que la situation a été évaluée à travers des KPI’s, on met à disposition des utilisateurs des tableaux de bord qui permettent d’analyser l’activité et de visualiser les risques et situations anormales. Cette restitution peut être accessible à travers un navigateur internet ou une application dédiée, sur smartphone, poste de travail ou sur un écran géant…
Quelle que soit la solution de monitoring, il faut s’assurer que ces trois fonctionnalités majeures soient efficaces!
3) … et toutes les autres!
Mais au-delà de ces bases, les solutions de monitoring ambitionnent à faire beaucoup plus!
Au niveau de la Collecte, certaines solutions vont intégrer des fonctionnalités de type nettoyage des données (Data Cleansing). Ainsi lorsqu’on intègre une nouvelle source de données, le système détectera automatiquement les formats et types de données. On pourra également mettre en place des contrôles récurrents ou des appels à des référentiels. On vérifie ainsi que les sources de données alimentent correctement la solution de monitoring. Cela garantit que la solution de monitoring dispose des informations et données pertinentes pour « assurer son job ».
Superviser mieux!
Surtout c’est au niveau du « cœur » du monitoring qu’on trouve le plus de fonctionnalités avancées:
- Évaluation : Des indicateurs c’est bien, mais comment les interpréter? C’est là que les fonctions d’évaluation vont être utiles. L’évaluation de l’indicateur consiste à déterminer si la situation est normale ou au contraire inquiétante. C’est donc une information extrêmement utile pour prendre une décision et analyser le contexte. Cette évaluation est faite soit via des règles métier (ex. des seuils et niveaux d’alertes) soit par apprentissage…
- Apprentissage et Détection : Il s’agit d’utiliser des techniques de type Machine Learning pour déterminer automatiquement les seuils d’alertes. De même, l’apprentissage et la détection plus poussés vont permettre d’établir des corrélations entre indicateurs. Par exemple, lorsque l’indicateur A monte, l’indicateur B baisse… On pourra ainsi avoir une meilleure compréhension non seulement de la situation mais aussi de l’activité supervisée.
- Prévision et Anticipation : Ces modèles peuvent également être utilisés au sein de la solution de monitoring pour « prédire » les évolutions futures. La solution permet alors de « détecter la fumée avant le feu » et d’émettre une alerte avant que le problème ne soit avéré. On cherche ainsi à anticiper et réduire la gravité en prenant les mesures au plus tôt.
- Recommandation : certaines solutions vont jusqu’à intégrer des bases de connaissances afin que l’utilisateur sache comment réagir à telle ou telle situation. A l’extrême, on peut même ainsi recommander des actions en fonction des procédures ou des constatations passées.
Interagir mieux!
De même, la restitution des informations et plus globalement la façon d’interagir avec les solutions ont connu de nombreuses évolutions récentes… Comme il est loin le temps du reporting statique! Les fonctionnalités avancées du monitoring sont notamment les suivantes:
- Notifications : La plupart des outils de monitoring intègrent des fonctions d’alerting au travers de notifications. Ainsi, plus nécessaire de scruter en permanence son écran pour savoir qu’il y a un problème (ou une opportunité!). L’utilisateur reçoit des notifications, sur son écran, son mail, son téléphone en fonction des de ses préférences.
- Investigation et analyses ad-hoc : On constate dans le monitoring la même tendance que celle autrefois constatée dans la Business Intelligence. Après les tableaux de bord prédéfinis, l’utilisateur veut pouvoir analyser lui-même la situation, comprendre le problème, parfois remonter dans le temps (fonction de « Time Machine »). Tout cela impose que les écrans d’analyse soient dynamiques et interactifs et surtout pas figés.
- Langage Naturel : C’est là aussi une évolution qu’on voit arriver depuis le secteur des Analytics. La possibilité de s’affranchir de l’Interface Homme Machine (IHM) et d’interagir directement avec les données et analyses du monitoring. Cette interaction se fait alors en langage naturel (fonctions de type chatbot) voire par la voix (avec une box de type Google Home ou Alexa).
4) Deux pistes pour du monitoring temps réel
Au final, je vois aujourd’hui deux pistes se dégager.
Option 1 : Custom avec des solutions Open Source
Les logiciels Open Source, comme la suite Elastic, permettent d’indexer vos données et de calculer vos indicateurs à la volée. Ils offrent ainsi une bonne base pour construire sa propre brique de monitoring.
Pour restituer vos données, il existe des solutions toutes faites, comme Kibana pour Elastic ou encore Grafana pour Prometheus, qui permettent de construire rapidement des Dashboards. L’utilisation de frameworks performants (ex: Angular) est également possible et permet d’obtenir des dashboards très ergonomiques et rafraîchis en temps réel. Cette combinaison apporte davantage de flexibilité sur la partie restitution car avec un framework Angular 5, toutes les customisations souhaitées sont réalisables.
La différence entre les solutions open source et payantes : les solutions payantes vont souvent permettre d’aller plus loin. Par exemple, dans Elastic, les fonctionnalités d’alerting ou encore de Machine Learning ne sont disponibles que dans la version premium.
Option 2 : Progiciel d’éditeur spécialisé dans le temps réel
Si vous préférez l’option “clef en main”, je vous conseille plutôt d’implémenter une solution « sur étagère ». Ils Elle vous permettra de faire à la fois le calcul des indicateurs et la restitution des données via des dashboards standardisés et le plus souvent personnalisables.
Plusieurs solutions sont disponibles sur le marché. Les utiliser permet de ne pas “réinventer la roue” en terme de tableaux de bord et de disposer rapidement de fonctionnalités avancées.
En synthèse
Le tableau ci-dessous résume les avantages et inconvénients des deux options.
En conclusion
Si le sujet de monitoring et de pilotage des processus en temps réel reste d’actualité, les façons d’y répondre sont variées! Plus que jamais, la bonne solution dépend du contexte.
Mais une chose est sûre, un projet de Monitoring est structurant. Pour deux raisons.
Tout d’abord, parce que se posent assez vite des questions sur l’activité supervisée. Où sont les risques? Quels sont les points de rupture? Qui contacter en cas de problème? Pourquoi travaille-t-on comme ça? Il n’est pas rare qu’un sujet de monitoring amène à repenser son organisation elle-même.
Mais aussi parce que la supervision Temps Réel n’est jamais plus rapide que la transaction elle-même. Ainsi, le monitoring ne pourra être continu que si le Système d’Information est lui-même Temps Réel. Et là aussi, poser la question du monitoring peut amener à revoir la façon de concevoir ses applications elles-mêmes.
(Merci à Timothée qui a co-écrit cet article!)
Mes sujets préférés sont les processus, la data et l’excellence opérationnelle!
N’hésitez pas à me faire un retour sur cet article ou à me contacter sur LinkedIn pour partager nos actualités!
Stéphane
2 Responses
Bonjour.
Je trouve votre bloc très attractif.
Merci pour la qualité de vos sujets et la pertinence de vos textes.
Pour ce qui est du sujet sur le monitoring, il serait plus intéressant de proposer des solution d’éditeurs, pour plus de pertinence.
Merci.
Merci beaucoup pour votre retour. Ca fait chaud au coeur!
Parmi les principales solutions , il y a Axway Decision Insight, Sentinel et de plus en plus Elastic (avec la suite ELK – Elastic Logstash Kibana). Il y en a plein d’autres et c’est la raison pour laquelle effectivement nous n’avons pas tout analysé ici. On va essayer de compléter petit à petit le panorama! En tout cas chaque produit a ses forces et faiblesses mais aussi et surtout son positionnement. La plupart du temps on est sur du monitoring « technique; dans le sens où la supervision se fait sur les briques techniques (serveurs, applications, réseau), mais il est de plus en plus utile sur les aspects fonctionnels et « métier » (où en sont mes commandes? est-ce que je risque de dégrader ma satisfaction client? quels sont mes risques financiers à l’instant t).