Brevet FR2802676A1 — publié le 20010622

Procédé et dispositif de déploiement d'une supervision distribuée La présente invention concerne un procédé et un dispositif de déploiement d'une supervision distribuée d'un système informatique. Le système informatique est constitué d'un ensemble d'équipements informatiques, appelés ressources distribuées, chacune étant interconnectée aux autres par un réseau de communication. Les grandes entreprises ont un nombre croissant d'équipements informatiques à gérer. Ces équipements, reliés entre eux par un réseau de communication appelé "Réseau Local dEntreprise" (RLE, LAN), sont administrés par un administrateur. Pour administrer (contrôler, agir, surveiller, piloter) à distance ces équipements à partir d'un point, le modèle d'architecture comportant un administrateur et un agent, par exemple, type SNMP, est le plus couramment adopté. Dans ce modèle d'architecture, les agents (SNMP), implémentés sur les équipements du réseau renseignent l'administrateur sur l'état de chacun des équipements administrés. Dans la grande majorité des cas, cet administrateur gère plusieurs centaines de milliers d'équipements répartis sur un ou plusieurs pays. Afin de caractériser le comportement d'un ensemble de ressources interconnectées par un réseau, tout procédé de supervision synthétise, et donc calcule des valeurs, appelées indicateurs, permettant de caractériser le fonctionnement et l'état de ces ressources. Le calcul d'un indicateur est réalisé par un agent dit "agent-indicateur" qui calcule périodiquement une valeur résultant d'une fonction combinant, d'une part des valeurs mesurées, à l'aide d'une couche protocolaire de type SNMP ou CMIP, et d'autre part des valeurs calculées par d'autres agents indicateurs. La difficulté dans la mise en place d'une supervision d'équipement selon l'art antérieur réside dans la multiplication du nombre d'équipements qui implique une distribution de l'administration et par conséquent nécessite d'automatiser le déploiement de cette supervision distribuée. La présente invention a donc pour objet de pallier les inconvénients de l'art antérieur en proposant un procédé de déploiement d'une supervision distribuée permettant d'automatiser et de paralléliser le déploiement d'une supervision. Ce but est atteint par le procédé le dispositif de déploiement d'une supervision distribuée selon la revendication 1. Des développements supplémentaires de l'invention sont décrits dans les revendications dépendantes 2 à 7. Un deuxième but de l'invention a pour objet de pallier les inconvénients de l'art antérieur en proposant un dispositif de déploiement d'une supervision distribuée permettant d'automatiser et de paralléliser le déploiement d'une supervision. Ce but est atteint par le dispositif de déploiement d'une supervision distribuée selon la revendication 8. Des développements supplémentaires de l'invention sont décrits dans les revendications dépendantes 8 à 14. L'invention, avec ses caractéristiques et avantages, ressortira plus clairement à la lecture de la description faite en référence aux dessins annexés dans lesquels : - la figure 1 représente un schéma simplifié d'un système informatique dans lequel le procédé selon l'invention peut être appliqué. - la figure 2 représente le processus de déploiement d'un procédé de supervision. La mise en place d'une supervision d'un système informatique nécessite la configuration puis le déploiement de cette supervision. Une configuration d'une supervision est définie par un ensemble de domaines et d'indicateurs. Un domaine regroupe symboliquement un ensemble d'équipements du système informatique à superviser. Un indicateur désigne à la fois une valeur caractérisant l'état ou le fonctionnement d'un ensemble d'équipements à superviser, et l'équation permettant de calculer cette valeur. La configuration d'une supervision consiste à spécifier pour chaque indicateur le ou les domaines pour lesquels l'indicateur pourra être déployé. Déployer un indicateur pour un domaine donné consiste à instancier cet indicateur pour chacun des équipements appartenant à ce domaine. Le procédé et le dispositif selon l'invention permettent de réaliser ce déploiement. L'invention va à présent être décrite en référence aux figures 1 et 2. Comme expliqué précédemment, un système (1) informatique comprend au moins un réseau local d'entreprise (10, 20) communiquant avec un système central (2) ou administrateur au travers d'un réseau grande distance (3). Chaque réseau local d'entreprise (10, 20) comprend au moins un équipement informatique (101, 102, 201, 202), appelé ressource. Selon l'art antérieur, la supervision de l'ensemble des ressources (101, 102, 201, 202) est réalisée par l'intermédiaire d'agents (SNMP ou CMIP suivant le protocole d'administration considéré) distants implantés sur chaque ressource (101, 102, 201, 202). Ces agents permettent à un administrateur de réaliser la collecte des informations sur les ressources (101, 102, 201, 202) en mesurant des paramètres déterminés, par exemple par l'émission d'une requête SNMP GetRequest vers l'agent SINIMP considéré, puis transmettent les informations collectées vers l'administrateur (2) par l'intermédiaire de requêtes, par exemple, GetResponse dans le monde SNMP. L'administrateur (2) effectue ensuite l'évaluation des indicateurs à partir de ces informations reçues. On comprend donc que toutes les requêtes envoyées par l'administrateur (2) pour recueillir les informations de supervision et les réponses à ces requêtes des agents encombrent considérablement le réseau grande distance (3) diminuant par conséquent ses performances. Selon l'invention, tout ou partie de l'évaluation des indicateurs est distribuée au niveau du réseau local d'entreprise (10, 20) dans des agents indicateurs. Pour ce faire, pour chaque indicateur (In) caractérisant un fonctionnement ou un état particulier d'une ressource (101, 102, 201, 202), un agent indicateur (Al, A2, Bl, 132) spécifique est installé sur la ressource (101, 102, 201, 202). Dans l'exemple de réalisation représentée figure 1, chaque agent (Al, A2, Bl, 132) est responsable de l'évaluation d'un indicateur (In) différent. En d'autres termes, chaque indicateur (In) permet de déterminer un fonctionnement ou un état différent sur chaque ressource (101, 102, 201, 202). Cependant, chaque agent (AI, A2, BI, B2) décrit en référence à la figure 1, peut être présent, par exemple, sur toutes les ressources (101, 102, 201, 202) ou toutes les ressources d'un même type du système informatique (1). A titre d'exemple, un premier agent (Al) peut évaluer un indicateur (IA1) dont la formule permet, par exemple, de connaître le nombre d'alarmes par minute émises par une première ressource (101). On comprend donc que cet agent (AI) peut être implanté sur toutes les ressources (l 01, 102, 201, 202) d'un système informatique (1). Les agents indicateurs (Al, A2, BI, B2) sont des entités de programmation élémentaire et d'exécution. Les agents indicateurs (Al, A2, BI, B2) sont autonomes pour obtenir la propriété d'extensibilité de la structure en permettant l'ajout ou l'enlèvement facile d'un ou plusieurs agents indicateurs dans l'architecture. Ils sont rendus autonomes en définissant parfaitement l'interface de ces agents. Ils sont autonomes aussi en termes de communication. Ils communiquent en utilisant des notifications et non par appel de procédure, ce qui permet d'ouvrir l'architecture. Cette communication est asynchrone, ceci permettant d'obtenir une meilleure parallélisation des agents indicateurs et donc un meilleur potentiel d'évolution de l'architecture. Les agents indicateurs (Al, A2, BI, 132) peuvent être des objets persistants, leur état est fait de données qui peuvent dans ce cas exister en dehors de toute structure d'exécution et être mémorisées dans des mémoires persistantes de type E 2 PROM ou disque dur. Un agent indicateur (Al, A2, BI, B2) est une machine indépendante qui réagit aux notifications. Chaque agent (Al, A2, BI, 132) est un objet d'une classe et est identifié par un identifiant id(Al) respectivement id(A2) ; id(BI) ; id(B2) unique dans le système (1) informatique, pour que les communications entre agents indicateurs soient possibles et permettre de le localiser. Un agent peut être créé sur un serveur à distance. L'entité de création est responsable de la création de l'identificateur. La structure de l'identifiant doit prendre en compte la localisation statique des agents pour permettre au système de faire suivre les notifications et une "production" locale des identifiants pour les agents à distance. L'identifiant d'un agent comprend trois parties qui sont - l'identification (idsac) du serveur d'agents accueillant l'agent de création, - l'identification (idsal) du serveur d'agents accueillant l'agent créé et - une estampille (el), locale au serveur d'agent accueillant l'agent de création. Un agent 'usine' (factory) est présent sur tous les serveurs d'agent et a la charge de créer des objets sur le serveur. Il permet de gérer la création des agents à distance. Comme selon l'invention, chaque agent indicateur (Al, A2, Bl, 132) est responsable de l'évaluation d'un indicateur (In). Il doit comprendre pour ce faire, d'une part des propriétés lui permettant d'aller collecter une mesure (Mn) sur la ressource (101, 102, 201, 202) à laquelle il est associé et, d'autre part des propriétés de communication pour demander ou recevoir, le cas échéant au moins un autre indicateur évalué par un autre agent indicateur (Al, A2, Bl, 132) selon l'invention, par exemple, par l'intermédiaire de notifications. Ces propriétés sont obtenues par l'intermédiaire de modules spécifiques de programme constituant chaque agent indicateur (Al, A2, Bl, 132). Ainsi, un agent indicateur (Al, A2, Bl, 132) comprend un module de collecte et/ou un module de communication. De même, un agent indicateur (Al, A2, Bi, 132) comprend également un module d'évaluation permettant de calculer l'indicateur proprement dit, à partir de la formule utilisant les informations collectées par les deux autres modules. Dans ce module d'évaluation, l'équation définissant la valeur d'un indicateur (IAl par exemple) peut faire référence à un ensemble éventuellement vide d'autres indicateurs (IA2, IB1, par exemple). Les agents indicateurs utilisent, par exemple, un protocole de communication de préférence asynchrone, ce qui signifie que lorsqu'un agent indicateur émet une requête pour collecter une mesure sur une ressource du système ou une notification vers un autre agent indicateur, il n'attend pas la réponse à cette requête ou cette notification pour éventuellement émettre une nouvelle requête ou notification. En d'autres termes, l'envoi des requêtes et des notifications est réalisé en parallèle. De même, le protocole d'administration peut être asynchrone. A titre d'exemple, le protocole d'administration asynchrone utilisé est le protocole SNMP ou le protocole CMIP. Toutefois, il est possible d'utiliser un protocole synchrone, mais les performances sont alors inférieures, notamment en terme de vitesse d'évaluation des indicateurs. De plus, il convient de mettre en place un dispositif asynchrone de collecte et de mémorisation des mesures, de sorte que l'agent indicateur qui a émis la requête n'ait qu'à consulter la mémoire de ce dispositif de collecte de mesures. Ce dispositif est, par exemple, une base d'informations de gestion (MIB : Management Information Base) particulière appelée par l'homme de métier MIB Rmon. Chaque agent indicateur gère une liste dite d'abonnés sur laquelle peuvent s'inscrire d'autres agents indicateurs selon l'invention. Cette liste est mémorisée sur les moyens de mémorisation de l'équipement d'information associé à l'agent indicateur, par exemple sous forme de table (1010, 2010). Un agent indicateur AI s'inscrit sur cette liste par l'intermédiaire de l'envoi d'une notification spécifique dite d'abonnement "Subscribe (id(Al) Information Gestion (Al " à un autre agent indicateur BI qui calcule l'indicateur (1131). Cette notification comprend comme paramètres, d'une part une information dite de gestion permettant à l'agent émetteur de réaliser l'association entre une propagation de modification de valeur et l'autre agent indicateur (BI) et d'autre part, l'identifiant id(Al). Dès réception d'une notification d'abonnement, l'agent destinataire (BI) traite la notification en inscrivant dans la table d'abonnés (2010) l'identifiant (IdAl) de l'agent émetteur ainsi que l'information de gestion (Information Gestion (Al dans la liste. Cette liste est consultée par l'agent indicateur (BI) qui la gère, après évaluation de l'indicateur (1131) de l'agent (BI). Si la nouvelle valeur de l'indicateur est différente de la valeur précédemment évaluée et mémorisée par l'agent, alors l'agent envoie à chaque agent inscrit sur sa liste d'abonnés (2010) et identifiés par le paramètre (id(Al , une notification de changement de valeur (ValueChanged) comprenant la nouvelle valeur (Val(1131 de l'indicateur (11311). Pour ce faire, après l'évaluation de l'indicateur (1131), un module de comparaison de l'agent indicateur (BI) compare la nouvelle valeur de l'indicateur (Val(IBI avec la valeur précédemment calculée (Valp(IBl et mémorisée. Si les deux valeurs sont différentes, le module de comparaison déclenche une procédure d'envoi de la notification (ValueChanged) de changement de valeur à tous les agents, par exemple A, inscrits sur sa liste d'abonnés (2010) puis enregistre la nouvelle valeur de l'indicateur sur les moyens de mémorisation de son équipement informatique. La notification de changement de valeur comprend comme paramètres la nouvelle valeur de l'indicateur (Val(IBl ainsi que l'information de gestion (Information Gestion (Al de l'agent cible, de sorte que l'agent cible puisse attribuer la valeur reçue à l'indicateur attendu. Selon l'invention, le domaine de supervision constitué par l'ensemble de ressources (101, 102, 201, 202) est organisé en une pluralité de sous- domaines (dl={Al, A21 ; d2=#B1, 132}). Chacun des sous-domaines regroupe soit un ensemble de ressources à superviser, et/ou un ensemble de sous- domaines. Un sous-domaine est également caractérisé par les agents indicateurs fonctionnant sur les ressources constituant le sous-domaine. Pour chaque sous-domaine, un ensemble d'agents dit agents de synthèse est installé sur une ressource particulière pour construire un n#ud de synthèse. Cette ressource peut être une ressource dédiée à la supervision ou bien une ressource banalisée choisie en fonction de ses caractéristiques techniques pour supporter le n#ud de synthèse. De plus, cette ressource peut être indifféremment une ressource déterminée du sous-domaine ou d'un autre sous- domaine. En effet, une ressource peut supporter la supervision de plusieurs sous-domaines, allant par exemple de 0 à n, si cette ressource est capable de supporter la charge induite par le calcul réalisé par une pluralité d'ensembles d'agents de synthèse. Fondamentalement, la structure d'un agent de synthèse est identique à celle d'un agent indicateur, la différence de comportement et d'utilisation réside principalement dans la formule représentative de l'indicateur à évaluer. Lors de la configuration de la supervision du domaine de supervision selon le procédé de l'invention, un service de nommage est utilisé afin de définir et maintenir les associations entre le nom du sous-domaine et l'identification de l'agent indicateur responsable de l'évaluation d'un indicateur du sous-domaine. En d'autres termes, le service de nommage (SN) fournit pour chaque sous-domaine, l'ensemble des agents indicateurs présents sur ce sous- domaine et associe, par exemple, dans une table (4) ou dans un fichier d'associations, chaque agent indicateur (AI) à l'indicateur (lal) qu'il calcule et au sous-domaine (dl) auquel il appartient. Ce service de nommage SN est ensuite utilisé lors de la configuration de chaque agent de synthèse. Ce service de nommage peut être soit centralisé, soit distribué. Lorsque le service de nommage est centralisé, comme représenté figure 1, l'information relative à l'association entre un sous-domaine et un agent indicateur est centralisée dans un lieu unique du domaine de supervision représenté, par exemple, par une ressource du domaine de supervision. Lorsque le service de nommage est distribué, le service de nommage associé à chaque machine à agent possède les noms des agents qu'elle gère, ainsi que le sous-domaine auquel appartient chaque agent. La machine à agents gère un certain nombre de propriétés qui sont, d'une part l'aspect atomique de la réaction d'un agent à une notification et d'autre part la délivrance des notifications suivant un ordre causal d'émission. La machine à agents assure la diffusion des notifications, la transmission des notifications et la gestion de l'atomicité de l'ensemble. La machine à agents comprend différentes entités tel qu'un moteur d'exécution, un canal de communication, ce canal possédant deux queues, une queue locale et une queue externe. La machine à agents a été distribuée. Les machines à agent communiquent entre elles, les agents ne voient pas cette distribution puisqu'ils communiquent par notifications et s'adressent à leur machine à agents locale. La réaction d'un agent reste locale. Le service de nommage SN centralisé ou distribué est nécessaire pour la configuration des agents de synthèse (As). En effet, en règle générale, un agent de synthèse est destiné à évaluer un indicateur dont la formule comporte au moins un opérateur ensembliste, tel qu'une somme, une moyenne, la détermination d'un minimum ou d'un maximum sur un ou plusieurs indicateurs du sous-domaine auquel l'agent de synthèse est associé. Cependant, un agent de synthèse peut également évaluer un indicateur représentatif du fonctionnement général du sous-domaine auquel il est associé. Ainsi, la configuration d'un agent de synthèse nécessite que ce dernier s'abonne à tous les agents indicateurs du sous-domaine supervisé par l'agent de synthèse et évaluant le ou les indicateurs contenus dans la formule de l'indicateur de l'agent de synthèse. Pour ce faire, l'agent de synthèse (As) émet vers le service de nommage (SN), et pour chaque indicateur nécessaire à l'évaluation de son propre indicateur, une notification de demande de visualisation d'indicateur (indicatorLookupReq) spécifiant le nom du sous domaine (dl) que l'agent de synthèse (As) supervise, ainsi que le nom des indicateurs nécessaires à l'évaluation de son propre indicateur. En réponse à cette notification, le service de nommage effectue une recherche pour retrouver le nom de tous les agents réalisant l'évaluation de l'indicateur demandé dans le sous-domaine spécifié dans la notification. Le service de nommage construit et envoie ensuite une notification de réponse (indicatorLookupResp) vers l'agent de synthèse demandeur contenant le nom du domaine (dl) et le nom du ou des agents indicateurs (Al, A2), s'ils existent. Cette notification de réponse est traitée par l'agent de synthèse qui extrait le nom des agents indicateurs et déclenche, pour chaque agent indicateur extrait, la procédure d'abonnement décrite précédemment. Dans une variante de réalisation, lorsqu'il n'existe pas d'agent indicateur correspondant à l'association nom de sous-domaine, nom d'indicateur, le service de nommage peut comporter des moyens pour mémoriser le nom de l'agent de synthèse qui a émis la notification et le nom de l'indicateur demandé. Ainsi, dès qu'un nouvel agent indicateur est installé sur le sous-domaine, il est détecté par les moyens de détection du service de nommage (SN) ou est déclaré à celui-ci par l'installateur. Le service de nommage comporte des moyens de réaliser une mise à jour des associations nom de sous-domaine, nom d'indicateur et vérifier si le nom de l'indicateur correspond à un nom d'indicateur mémorisé. Dans l'affirmative, des moyens du service de nommage construisent puis envoient la notification de réponse (indicatorLookupResp) vers les agents dont le nom a été mémorisé préalablement et qui ont demandé le nom de l'agent responsable du nouvel indicateur détecté. Dans une autre variante, le service de nommage fait appel à un outil de création d'agent, tel qu'une machine à agents pour construire l'agent demandé. En d'autres termes, le service de nommage construit un agent indicateur évaluant l'indicateur demandé dans le sous-domaine spécifié. Selon l'invention, le nombre de ressources par sous-domaine est inférieur à un nombre maximum déterminé. Ce nombre est déterminé en fonction de la politique de supervision choisie. Par exemple, le nombre maximum de ressources par machine est déterminé pour que le coût du calcul des indicateurs des agents de synthèse soit le plus faible possible, de façon à diminuer la charge de calcul sur la ou les ressources supportant les agents de synthèse. Une autre possibilité consiste à déterminer le nombre maximum de ressources par domaine pour que le nombre de n#uds de synthèse soit le plus faible possible de façon à diminuer le nombre de ressources responsables de supervision et à concentrer l'information représentative de la supervision. Selon la figure 2, le déploiement d'une configuration de supervision consiste à prendre en charge l'instanciation, c'est-à-dire la création des agents indicateurs pour les indicateurs définis par la liste {(dl.ll), ..., (di.1j), .... (d n. 1 n , où l'indicateur Ij doit être évalué sur le sous-domaine di. Pour ce faire, le procédé de déploiement utilise un agent dit agent déployeur de configuration (ADC). Cet agent déployeur de configuration prend en charge la création d'agents dits agents configurateurs (AC). Ainsi, pour chaque ressource d'un sous-domaine de supervision, l'agent déployeur de configuration (ADC) crée un agent configurateur (ACa, AC15) qui prend en charge le processus de création des agents indicateurs (Ai, Bi, Ci) spécifiés par la configuration pour la ressource qui lui a été affectée. Ainsi, le déploiement des différentes configurations est parallélisé sur chacun des sous-domaines à superviser. En effet, les agents déployeur de configuration sont créés pour chaque sous- domaine à superviser de façon parallèle. Les agents déployeurs de configuration (ADC) et les agents configurateurs (AC) possèdent les mêmes caractéristiques que les agents indicateurs, c'est-à-dire qu'ils sont également gérés par au moins une machine à agents d'au moins une ressource du domaine à superviser. La localisation des configurateurs est de peu d'importance, les différents agents configurateurs peuvent résider sur une même ressource ou peuvent être déployés sur des ressources différentes, incluant par là même les ressources supervisées. Comme expliqué précédemment, un agent configurateur (AC) prend en charge la création des agents indicateurs spécifiés par la configuration pour une ressource donnée M, appartenant à l'un au moins des sous-domaines (di) pour lequel cet indicateur In doit être créé. A cette fin, pour tout indicateur In de la configuration succeptible d'être instanciée sur la ressource M, l'agent configurateur crée un agent, dit agent deployeur d'indicateur (ADIa, ADIB, fig. 2) chargé du déploiement du ou des indicateurs 1 sur la ressource M. L'agent déployeur d'indicateur (ADI) peut être crée sur la même ressource que l'agent configurateur (AC) ou sur une ressource distincte. Dans une variante de réalisation où le langage de programmation utilisé est le langage Java , les agents configurateurs (AC) vont provoquer le chargement dynamiquement des classes I_Deployer et 1-Indicator en utilisant les mécanismes définis par le runtime Java. Lorsque ces classes ne sont pas présentes sur la ressource sur laquelle s'effectue le processus de configuration, l'agent configurateur reçoit une exception de type classe non trouvée Class NotFou nd Exception , ce qui déclenche au niveau du configurateur des moyens de procéder au rapatriement des éléments logiciels qui lui sont nécessaires sur la ressource, réalisant par là-même le déploiement incrémental des éléments logiciels nécessaires à la supervision et ce, à partir d'un noyau minimal. Ainsi, le procédé de supervision selon l'invention apporte une solution au double problème de la configuration d'une supervision distribuée, c'est-à-dire au déploiement de la configuration logicielle et de la configuration de la supervision. Un agent déployeur d'indicateurs (ADI) est un agent qui détermine pour un type d'indicateur donné les différentes combinaisons des valeurs des variables pour lesquelles l'indicateur sera instancié. Il prend donc en charge, d'une part le processus de résolution de noms (décrit ci-dessous) et d'autre part la création des agents indicateurs ainsi que leur déclaration auprès du service de nommage (SN). Les noms des objets référencés par l'agent indicateur calculant l'indicateur ainsi que l'identification des agents calculant les indicateurs référencés dans le cours du calcul font partie des paramètres de création de tout agent indicateur lors de son instanciation par l'agent déployeur d'indicateurs. Pour tout indicateur ln, un compilateur d'indicateurs génère, après analyse de l'équation définissant l'indicateur, deux classes d'objets I_Deployer et 1-Indicator qui correspondent respectivement aux agents déployeurs d'indicateurs qui déploient les instances de la classe 1 - Indicator chargée de l'évaluation de l'indicateur et aux agents indicateurs qui évaluent l'indicateur. La classe I_Deployer permet de connaître quels sont les agents indicateurs identifiés par la classe 1 - Indicator qu'il faut créer et permet de déclarer au service de nommage (SN) les agents indicateurs effectivement créés. Un agent déployeur d'indicateurs possède la connaissance explicite des indicateurs et des identifiants des objets référencés par l'équation. Chacun de ces identifiants d'objets {Idl, .... Idml définit une structure dont certains éléments peuvent être des variables. Lorsque le protocole d'administration choisi est le protocole asynchrone SNMP, l'agent déployeur d'indicateurs exécute le processus (décrit ultérieurement) de résolution des noms des objets référencés dans l'équation ou la formule de l'indicateur et crée les agents indicateurs correspondants en déterminant les combinaisons valides des valeurs des variables. En effet, l'équation qui définit le calcul de la valeur d'un indicateur fait référence à des objets identifiés par {Idl, .... Idm) utilisant un ensemble éventuellement vide de variables {Vl, .... Vn). A chaque identificateur d'objet Idi est associé un ensemble de variables {Wl, .... MI appartenant à l'ensemble {Vl, .... Vn). La détermination de la première combinaison valide des valeurs des variables Vi, consiste à appliquer un processus (décrit ultérieurement) de découverte sur les Idi, par exemple, dans l'ordre 1 à m, afin d'instancier progressivement toutes les variables {VI, .... Vn} et donc de calculer les {Idl, Idm}. Lorsque tous les objets identifiés par (Idl, .... IdmI dans lesquels on a substitué aux variables leurs valeurs correspondantes appartenant à la combinaison de valeurs {VI, .... Vn) existent, le processus de découverte de l'agent déployeur d'indicateur (ADI) vérifie si la contrainte exprimée sur les valeurs de variables est satisfaite ou non. L'agent déployeur d'indicateurs (ADI) instancie l'agent indicateur uniquement lorsque cette dernière contrainte est respectée. Les objets effectivement référencés par l'équation de l'indicateur sont ceux identifiés par {IdI, ..., Idm} dans lesquels on a substitué aux variables leurs valeurs correspondantes appartenant à la combinaison de valeurs #Vl, .... Vn}. Ces objets sont passés à l'agent indicateur en tant que paramètre lors de la création de l'agent indicateur. Pour découvrir les combinaisons valides suivantes des valeurs des variables Vi, le processus de découverte de l'agent déployeur d'indicateur (ADI) recherche l'indice k pour lequel il existe un élément suivant pour ldk, pour k variant entre m et 1. Si une telle valeur de k n'existe pas, alors le processus de découverte est terminé. Si une telle valeur de k existe, alors nous appliquons le processus de découverte sur les Idi dans l'ordre k+l à m par exemple afin d'instancier progressivement toutes les variables {VI, .... Vn# et donc de calculer les {Idl, Idm). Le processus de découverte permet donc de calculer tous les objets {Id l, ..., Idnl de l'équation représentative d'un indicateur. Le processus de découverte comprend un processus de liaison de liaison des variables, défini comme suit, et qui permet déterminer les différentes variables des Idi. Soit un identificateur d'objet Id dans lequel les variables Ml, ... 1 Wk), appartenant à l'ensemble {VI, .... Vn) précédemment cité. L'identifiant Id est de la forme al.Wl.a2.W2. ... ak.Wk.ak+l où les coefficients ai possèdent la structure d'un nom d'objet au sens ASNA du terme, c'est-à-dire que les coefficients ai sont constitués d'une séquence d'entiers positifs. Soit j l'indice pour lequel les variables d'indices successifs {Wl, .... Wjl sont déjà liées. Découvrir l'ensemble des objets désignables par cet identifiant consiste à parcourir la MIB instanciée en recherchant des objets en lançant une requête du type SNIVIP GetNextRequest en prenant comme paramètre un identifiant d'objet, dont les identifiants commencent par la racine R al.Wl.a2.W2. ... aj.Wj et en appliquant un critère d'unifiabilité d'identifiant d'objets défini ultérieurement. Soit Id' la réponse à la requête SNMP GetNextRequest appliquée à la racine R, si un tel objet existe. L'objet n'existe pas, si la réponse à la requête GetNextRequest indique que l'objet désigné n'existe pas auquel cas la découverte est terminée. Si Id et Id' sont unifiables selon le critère défini ci-après alors les variables {Wl, .... MI sont toutes liées, c'est-à-dire qu'elles possèdent toutes une valeur, et nous venons de découvrir l'identifiant d'un objet désignable par Id à savoir Id'. Pour découvrir la combinaison valide suivante des variables {Wl, .... MI connaissant Id', il faut réitérer le processus précédent en utilisant comme point de départ de la recherche, Id' après avoir délié, c'est-à-dire retrouvé la valeur précédente, les variables Wi qui n'étaient pas liées au tout début du processus de découverte précédant. Si Id et Id' ne sont pas unifiables et que l'identificateur Id' débute par R, alors la découverte se poursuit comme précédemment en prenant Id' comme point de départ et en déliant toute variable Wi qui n'était pas liée au tout début du processus de découverte précédent. Si Id' ne débute pas par R, alors il n'existe plus d'objet dont l'identifiant puisse être unifié à Id. Le processus de découverte est alors terminé. Le critère d'unifiabilité est défini comme suit. Soit Id' un identifiant de référence (sans partie variable) dont tous les éléments sont des valeurs entières, deux identifiants Id et Id' sont unifiables si les deux identifiants sont de même taille et si les Id.ai Id'.ai pour tout i appartenant à [ 1, k+1 ]. Soit {wl, ..., wkI les valeurs entières de l'identifiant Id' qui sont en correspondance avec les variables {W1, .... Wk} dId, c'est-à-dire qui se trouvent à la même position dans l'indentificateur correspondant. La liaison des variables Wi s'effectue séquentiellement pour des indices variant entre 1 et k par la méthode suivante : si Wi est liée, c'est-à-dire si Wi possède déjà une valeur, alors cette valeur doit être égale à wi; si cette dernière condition n'est pas vérifiée, alors Id et Id'ne sont pas unifiables et la liaison des (Wl, .... WkI n'est pas réalisable; si Wi est libre, c'est-à-dire si Wi ne possède pas encore de valeur, alors la variable Wi sera liée a la valeur wi. A titre d'exemple, soit Id 1.2.3.Wl.4.5.W2.6.7 et Id' 1.2.3.10.4.5.20.6.7. Ces deux identifiants d'objets sont unifiables pour des variables de Wl et W2 dont les valeurs sont 10 et 20. Par contre, si Id 1.2.3.Wl.4.5.Wl.6.7 et Id' alors Id et Id' ne sont pas unifiables parce que la variable Wl ne peut prendre à la fois pour valeurs 10 et 20. Le processus d'unification d'identifiant permet à la fois de vérifier que deux identifiants sont unifiables et de déterminer pour quelles valeurs des variables encore libres avant le début du processus d'unification, cette unification est réalisable Lorsque le processus de résolution des noms a épuisé toutes les combinaisons valides, l'agent déployeur d'indicateur (ADI) devient inutile si l'on considère que la configuration supervisée n'est jamais modifiée. Lorsque la configuration logicielle et/ou matérielle de la machine supervisée peut évoluer, par exemple, selon l'invention, lorsque le nombre maximum déterminé de machines par sous-domaine est atteint, les agents déployeurs d'indicateurs sont réactivés afin de réévaluer la configuration matérielle et logicielle en procédant à une découverte des éléments instanciables, en n'instanciant que ceux des agents indicateurs qui n'existent pas déjà et en supprimant ceux qui n'ont plus de raison d'être. Dans une variante de réalisation, lorsque le langage de programmation est Java, la création d'un agent configurateur, d'un agent déployeur d'indicateurs ou d'un agent indicateur consiste à envoyer une requête de création d'agent agentCreateRequest vers l'agent usine (factory) de la machine à agents gérant le sous-domaine sur lequel l'agent doit être déployé. Cette requête comprend comme paramètres l'identification de l'agent et l'état de l'agent. L'état de l'agent correspond à l'objet Java sérialisé de cet agent. Lorsque l'agent usine (factory) reçoit cette requête, il désérialise l'objet Java sérialisé et obtient donc l'agent demandé. Ainsi le procédé selon l'invention se caractérise par une étape de configuration spécifiant pour chaque indicateur à déployer, le ou les domaines du système informatique sur lesquels chaque indicateur doit être déployé, un indicateur caractérisant l'état ou le fonctionnement d'une ou plusieurs ressources du système informatique, et une étape de déploiement de la configuration spécifiée, mise en #uvre par un agent appelé agent déployeur de configuration qui crée pour chaque ressource à superviser un agent appelé agent configurateur, cet agent configurateur prenant en charge la création des agents indicateurs pour la ressource qui lui a été affectée par l'agent déployeur de configuration. Dans un autre mode de réalisation, chaque agent configurateur crée un agent appelé déployeur d'indicateur, pour chaque indicateur de la ressource à laquelle il est affecté, cet agent déployeur d'indicateur détermine, pour l'indicateur auquel il est associé, les différentes combinaisons des valeurs des variables pour lesquelles l'indicateur est calculé. Dans un autre mode de réalisation, pour tout indicateur, un compilateur d'indicateur génère, après analyse de la formule définissant l'indicateur, deux classes d'objets I_Deployer et 1 - Indicator qui correspondent respectivement aux agents déployeurs d'indicateurs qui déploient les instances de la classe 1 - Indicator et aux agents indicateurs qui évaluent l'indicateur. Dans un autre mode de réalisation, l'agent déployeur d'indicateurs exécute un processus de résolution des noms des objets référencés dans la formule de l'indicateur et crée les agents indicateurs correspondants en déterminant les combinaisons valides des valeurs des variables de ces objets. Dans un autre mode de réalisation, le processus de résolution des noms consiste à appliquer un processus de découverte pour tous les objets identifiés dans la formule de l'indicateur, le processus de découverte consistant à vérifier pour un objet référencé si une contrainte exprimée sur les valeurs de variables est satisfaite, et si la contrainte est vérifiée, à créer l'agent indicateur associé à l'agent déployeur d'indicateurs, en utilisant comme paramètres les objets correspondant aux combinaisons valides des valeurs de variables trouvées. Dans un autre mode de réalisation, les agents déployeurs de configuration et les agents configurateurs sont gérés par au moins une machine à agent installée sur au moins une ressource du domaine de supervision. Dans un autre mode de réalisation, chaque agent déployeur d'indicateurs est géré soit par la machine à agents gérant l'agent configurateur associé à l'agent déployeur d'indicateurs, soit par une machine à agents distincts. De même, le dispositif selon l'invention se caractérise en ce qu'il comporte une pluralité de ressources à superviser formant un domaine de supervision, caractérisé en ce qu'il comprend des moyens de configuration spécifiant pour chaque indicateur à déployer, le ou les domaines du système informatique sur lesquels chaque indicateur doit être déployé, un indicateur caractérisant l'état ou le fonctionnement d'une ou plusieurs ressources du système informatique, les moyens de configuration comprenant également un agent appelé agent déployeur de configuration qui crée pour chaque ressource à superviser un agent appelé agent configurateur, cet agent configurateur prenant en charge la création des agents indicateurs pour la ressource qui lui a été affectée par l'agent déployeur de configuration. Dans un autre mode de réalisation, chaque agent configurateur comprend des moyens de création d'un agent appelé déployeur d'indicateur, pour chaque indicateur de la ressource à laquelle il est affecté, cet agent déployeur d'indicateur déterminant, pour l'indicateur auquel il est associé, les différentes combinaisons des valeurs des variables pour lesquel l'indicateur est calculé. Dans un autre mode de réalisation, le dispositif comprend un compilateur d'indicateur qui génère pour chaque indicateur, et après analyse de la formule définissant l'indicateur, deux classes d'objets I_Deployer et 1-Indicator qui correspondent respectivement aux agents déployeurs d'indicateurs qui déploient les instances de la classe 1-Indicator et aux agents indicateurs qui évaluent l'indicateur. Dans un autre mode de réalisation, l'agent déployeur d'indicateurs comprend des moyens de résolution des noms des objets référencés dans la formule de l'indicateur et des moyens de créer les agents indicateurs correspondants en déterminant les combinaisons valides des valeurs des variables de ces objets déterminées par les moyens de résolution des noms. Dans un autre mode de réalisation, les moyens de résolution des noms comprennent des moyens de découverte pour tous les objets identifiés dans la formule de l'indicateur, les moyens de découverte comprenant des moyens de vérifier pour un objet référencé, si la contrainte exprimée sur les valeurs de variables est satisfaite, et des moyens de créer l'agent indicateur associé à l'agent déployeur d'indicateurs, si la contrainte est vérifiée, en utilisant comme paramètres les objets correspondant aux combinaisons valides des valeurs de variables trouvées. Dans un autre mode de réalisation, les agents déployeurs de configuration et les agents configurateurs sont gérés par au moins une machine à agent installée sur au moins une ressource du domaine de supervision. Dans un autre mode de réalisation, chaque agent déployeur d'indicateurs est géré, soit par la machine à agents gérant l'agent configurateur associé à l'agent déployeur d'indicateurs, soit par une machine a agents distincts. Il doit être évident pour les personnes versées dans l'art que la présente invention permet des modes de réalisation sous de nombreuses autres formes spécifiques sans l'éloigner du domaine d'application de l'invention comme revendiqué. Par conséquent, les présents modes de réalisation doivent être considérés à titre d'illustration, mais peuvent être modifiés dans le domaine défini par la portée des revendications jointes, et l'invention ne doit pas être limitée aux détails donnés ci-dessus. REVENDICATIONS 1. Procédé de déploiement d'une supervision distribuée d'un système informatique comportant une pluralité de ressources à superviser formant au moins un domaine de supervision, caractérisé en ce qu'il comprend : - une étape de configuration spécifiant pour chaque indicateur à déployer, le ou les domaines du système informatique sur lesquels chaque indicateur doit être déployé, un indicateur caractérisant l'état ou le fonctionnement d'une ou plusieurs ressources du système informatique, - une étape de déploiement de la configuration spécifiée, mise en #uvre par un agent appelé agent déployeur de configuration qui crée pour chaque ressource à superviser un agent appelé agent configurateur, cet agent configurateur prenant en charge la création des agents indicateurs pour la ressource qui lui a été affectée par l'agent déployeur de configuration. 2. Procédé de déploiement selon la revendication 1, caractérisé en ce que chaque agent configurateur crée un agent appelé déployeur d'indicateur, pour chaque indicateur de la ressource à laquelle il est affecté, cet agent déployeur d'indicateur détermine, pour l'indicateur auquel il est associé, les différentes combinaisons des valeurs des variables pour lesquelles l'indicateur est calculé. 3. Procédé de déploiement selon la revendication 2, caractérisé en ce que pour tout indicateur, un compilateur d'indicateur génère, après analyse de la formule définissant l'indicateur, deux classes d'objets I_Deployer et 1-Indicator qui correspondent respectivement aux agents déployeurs d'indicateurs qui déploient les instances de la classe 1-Indicator et aux agents indicateurs qui évaluent l'indicateur. 4. Procédé de déploiement selon la revendication 2 ou 3, caractérisé en ce que l'agent déployeur d'indicateurs exécute un processus de résolution des noms des objets référencés dans la formule de l'indicateur et crée les agents indicateurs correspondants en déterminant les combinaisons valides des valeurs des variables de ces objets. 5. Procédé de déploiement selon la revendication 4, caractérisé en ce que le processus de résolution des noms consiste à appliquer un processus de découverte pour tous les objets identifiés dans la formule de l'indicateur, le processus de découverte consistant : à vérifier pour un objet référencé si une contrainte exprimée sur les valeurs de variables est satisfaite, si la contrainte est vérifiée, à créer l'agent indicateur associé à l'agent déployeur d'indicateurs, en utilisant comme paramètres les objets correspondant aux combinaisons valides des valeurs de variables trouvées. 6. Procédé de déploiement selon la revendication 2 ou 3, caractérisé en ce que les agents déployeurs de configuration et les agents configurateurs sont gérés par au moins une machine à agent installée sur au moins une ressource du domaine de supervision. 7. Procédé de déploiement selon la revendication 2 ou 3, caractérisé en ce que chaque agent déployeur d'indicateurs est géré soit par la machine à agents gérant l'agent configurateur associé à l'agent déployeur d'indicateurs, soit par une machine à agents distincts. 8. Dispositif de déploiement d'une supervision distribuée d'un système informatique comportant une pluralité de ressources à superviser formant un domaine de supervision, caractérisé en ce qu'il comprend des moyens de configuration spécifiant pour chaque indicateur à déployer, le ou les domaines du système informatique sur lesquels chaque indicateur doit être déployé, un indicateur caractérisant l'état ou le fonctionnement d'une ou plusieurs ressources du système informatique, les moyens de configuration comprenant également un agent appelé agent déployeur de configuration qui crée pour chaque ressource à superviser un agent appelé agent configurateur, cet agent configurateur prenant en charge la création des agents indicateurs pour la ressource qui lui a été affectée par l'agent déployeur de configuration. 9. Dispositif de déploiement selon la revendication 8, caractérisé en ce que chaque agent configurateur comprend des moyens de création d'un agent appelé déployeur d'indicateur, pour chaque indicateur de la ressource à laquelle il est affecté, cet agent déployeur d'indicateur déterminant, pour l'indicateur auquel il est associé, les différentes combinaisons des valeurs des variables pour lesquelles l'indicateur est calculé. 10. Dispositif de déploiement selon la revendication 9, caractérisé en ce qu'il comprend un compilateur d'indicateur qui' génère pour chaque indicateur, et après analyse de la formule définissant l'indicateur, deux classes d'objets I_Deployer et 1 - Indicator qui correspondent respectivement aux agents déployeurs d'indicateurs qui déploient les instances de la classe 1-Indicator et aux agents indicateurs qui évaluent l'indicateur. 11. Dispositif de déploiement selon la revendication 8 ou 9, caractérisé en ce que l'agent déployeur d'indicateurs comprend des moyens de résolution des noms des objets référencés dans la formule de l'indicateur et des moyens de créer les agents indicateurs correspondants en déterminant les combinaisons valides des valeurs des variables de ces objets déterminées par les moyens de résolution des noms. 12. Dispositif de déploiement selon la revendication 11, caractérisé en ce que les moyens de résolution des noms comprennent des moyens de découverte pour tous les objets identifiés dans la formule de l'indicateur, les moyens de découverte comprenant des moyens de vérifier pour un objet référencé, si la contrainte exprimée sur les valeurs de variables est satisfaite, et des moyens de créer l'agent indicateur associé à l'agent déployeur d'indicateurs, si la contrainte est vérifiée, en utilisant comme paramètres les objets correspondant aux combinaisons valides des valeurs de variables trouvées. 13. Dispositif de déploiement selon la revendication 9 ou 10, caractérisé en ce que les agents déployeurs de configuration et les agents configurateurs sont gérés par au moins une machine à agent installée sur au moins une ressource du domaine de supervision. 14. Dispositif de déploiement selon la revendication 9 ou 10, caractérisé en ce que chaque agent déployeur d'indicateurs est géré, soit par la machine à agents gérant l'agent configurateur associé à l'agent déployeur d'indicateurs, soit par une machine à agents distinct.