CA2209304A1 - Procede de surveillance d'une pluralite de types d'objets d'une pluralite de noeuds a partir d'un noeud d'administration dans un systeme informatique - Google Patents

Procede de surveillance d'une pluralite de types d'objets d'une pluralite de noeuds a partir d'un noeud d'administration dans un systeme informatique

Info

Publication number
CA2209304A1
CA2209304A1 CA002209304A CA2209304A CA2209304A1 CA 2209304 A1 CA2209304 A1 CA 2209304A1 CA 002209304 A CA002209304 A CA 002209304A CA 2209304 A CA2209304 A CA 2209304A CA 2209304 A1 CA2209304 A1 CA 2209304A1
Authority
CA
Canada
Prior art keywords
node
parameter
objects
param
action
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002209304A
Other languages
English (en)
Inventor
Marcel Boukobza
Gerard Sitbon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull SA
Original Assignee
Bull S.A.
Marcel Boukobza
Gerard Sitbon
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull S.A., Marcel Boukobza, Gerard Sitbon filed Critical Bull S.A.
Publication of CA2209304A1 publication Critical patent/CA2209304A1/fr
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/328Computer systems status display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Abstract

La présente invention concerne un procédé de surveillance d'une pluralité de types d'objets sur une pluralité de noeuds (N1, N2, ...,Nn) comprenant un noeud d'administration (MN) dans un système informatique. Ce procédé est remarquable en ce que, la surveillance est configurée puis diffusée de manière filtrée à partir du noeud d'administration (MN) vers des agents autonomes (SM), un agent autonome étant installé sur chaque noeud à surveiller pour, en offrant une corrélation intertype, soit traiter au plus près les différents types d'objets ou ensemble d'objets d'un domaine appelé objet global défini de manière générique, soit remonter des informations à visualiser vers l'interface graphique du noeud d'administration, chaque agent comportant une pluralité de modules spécifiques (SM1, SM2, ..., SMn) propres aux différents types d'objets ou à un domaine particulier, chaque module spécifique mesurant des paramètres statiques et dynamiques, particuliers au type d'objet qu'il surveilleet collectant lesdites mesures, testant des conditions sur lesdits paramètres relativement à des seuils prédéfinis et déclenchant éventuellement des actions associées auxdites conditions testées, les paramètres, les conditions et les actions étant modifiables par l'utilisateur du noeud d'administration.

Description

CA 02209304 l997-06-26 Procédé de surveillance d'une pluralité de types d'objets d'une pluralité
de noeuds à partir d'un noeud d'administration dans un système illh rl"atique.

La présente invention concerne un procédé de surveillance d'une pluralité de types d'objets d'une pluralité de noeuds à partir d'un noeud d'administration dans un système informatique.

De manière générale, un environnement de gestion distribuée permet d'intégrer 0 la gestion des systèmes, des réseaux et des applications utilisateur. Les applications de gestion sont conçues de manière à avantageusement dissimuler à l'utilisateur les étapes détaillées nécessaires pour effectuer des travaux de gestion et garantir l'intégrité des informations de gestion. Ces applications gèrent des objets en utilisant des interfaces claires et concises avec les services communs de gestion. Les services communs de gestion permettent de simplifier le développement des applications de gestion. Des services "bases d'informations de gestion", appelés couramment par l'homme du métier MIB (Management Information Base), permettent aux applications de gestion de manipuler lesdites informations de gestion, ces services utilisent, de préférence, les normes applicables comme les normes OSI CMIS/CMIP (Open Systems Interconnection Common Management Information Services/Common Management Information Protocol) et Internet SNMP (Simple Network Management Protocol). Un objet géré est, dans cet environnement informatique, une représentation de ressources telles qu'une machine, un fichier, un périphérique, un utilisateur, une application, etc.. Une MIB qui est en fait un ensemble d'objets, représente les différentes ressources à administrer dans un système. Un objet d'une MIB est défini par une classe d'objets (correspondant à un type d'objet) et une instance de cette classe d'objets. Une requête est émise par une application en vue de consulter eVou de modifier un objet de la MIB, elle est caractérisée par le type d'opération à appliquer sur un ou plusieurs des objets de la MIB. L'exploitation effficace d'un tel environnement de gestion distribuée suppose une architecture flexible qui autorise une administration aisée de différentes sortes d'objets. Plus formellement, dans un tel environnement, les systèmes informatiques qui sont construits sur des architectures réparties impliquent que les services requis par une application sont situés sur plusieurs systèmes qui communiquent entre eux, comme par exemple, les systèmes de transactionnels, les systèmes de gestion de bases CA 02209304 l997-06-26 de données SGDB, les systèmes d'impression, les systèmes de sécurité, les annuaires, etc.. Cette répartition ou distribution entraîne une grande souplessed'utilisation et autorise des gains importants en performance (réseau en grappe : "cluster"), cependant, le fait de multiplier les systèmes à administrer pose un problème, car cette multiplication a également pour effet d'augmenter de manière significative la probabilité de dysfonctionnement sur au moins un système. Une solution à ce problème consiste à développer des systèmes d'administration pilotés par un gestionnaire (appelé aussi "manager" par l'homme du métier) qui contrôle et dirige tout un système par l'intermédiaire 0 d'agents qui ont exclusivement pour objet d'une part, d'exécuter les requêtes du gestionnaire utilisant principalement des fonctions du type "get" ou "set" etd'autre part d'informer ledit gestionnaire des événements relatifs au système surveillé qui utilise une fonction du type "trap". L'utilisation du protocole SNMP
et d'agents SNMP fournit un exemple courant d'une application d'une telle organisation qui, a pour principal avantage d'être simple, mais qui présente cependant de notables inconvénients dont le premier est de générer un important trafic sur la ligne entre le gestionnaire et les agents pour la transmission des requêtes, des réponses à ces requêtes ainsi que des événements. Un autre important inconvénient est relatif à la lenteur du temps de réaction lors de l'apparition d'un événement, ceci étant dû au fait que l'agent concerné doit d'abord avertir le gestionnaire de cet événement qui ensuite doit prendre une décision manuelle ou automatique relativement à cet événement pour la transmettre audit agent qui à son tour l'exécute et enfin en rend compteau gestionnaire.

La présente invention a pour but de remédier à ces inconvénients de l'art antérieur et propose un procédé qui, entre autres, permet de réduire de manière très significative le trafic sur la ligne et le temps de réaction lors de l'apparition d'événements, procédé qui permet de surveiller efficacement le fonctionnement d'une ou plusieurs applications sur une pluralité de noeuds.

Pour cela le procédé de surveillance mentionné dans le préambule est remarquable en ce que la surveillance est configurée puis diffusée de manière filtrée à partir du noeud d'administration vers des agents autonomes, un agent autonome étant installé sur chaque noeud à surveiller pour, en offrant une corrélation intertype, soit traiter au plus près les différents types d'objets ou ensemble d'objets d'un domaine appelé objet global défini de manière CA 02209304 l997-06-26 générique, soit remonter des informations à visualiser vers l'interface graphique du noeud d'administration, chaque agent comportant une pluralité de modules spécifiques propres aux différents types d'objets ou à un domaine particulier, chaque module spécifique mesurant des paramètres statiques et dynamiques, particuliers au type d'objet qu'il surveille et collectant lesdites mesures, testant des conditions sur lesdits paramètres relativement à des seuils prédéfinis et déclenchant éventuellement des actions associées auxdites conditions testées, les paramètres, les conditions et les actions étant modifiables par l'utilisateur du noeud d'administration.
Ainsi, selon l'idée de l'invention et ceci contre toute attente, I'utilisation d'agents autonomes permet de s'assurer du bon fonctionnement des applications surveillées sur l'ensemble des noeuds à l'aide d'un traitement autonome et emcace, de faire remonter très rapidement des noeuds vers le noeud d'administration les informations utiles et de lancer de manière automatique des actions sur certaines conditions ou de conseiller éventuellement une action. De cette manière, pour assurer une surveillance emcace des applications fonctionnant sur la pluralité de noeuds, le procédé ici appliqué vapermettre de mesurer des paramètres spécifiques de chaque application, de tester des conditions sur ces paramètres relativement à des seuils puis d'exécuter une action pour prévenir d'un problème, pour reconfigurer ou corriger. Pour cela, des mesures sont collectées pour réaliser une analyse en temps différé dans le but d'un examen statistique de l'activité surveillée. Ces mesures collectées concernent tous les types d'objets à surveiller, par exemple iCi des instances telles que des bases de données comme Oracle (marque d'Oracle Corporation), Informix (marque de Informix Software, Inc.), les applications comme Tuxedo (marque de Novell, Inc.), différentes machines ou une quelconque machine d'un système, I'impression distribuée ("DPF"
Distributed Print Facility: marque de Xerox Corporation), etc.. Des corrélationspeuvent être réalisées entre plusieurs mesures différentes, en particulier, entre divers types d'objets: corrélation intertype.

L'utilisateur principal du procédé est l'administrateur de l'application ou l'opérateur. Sauf exception, I'opérateur ne peut agir directement autrement que pour consulter l'amchage pré-configuré. De préférence, pendant la surveillance, sont amchés l'état des applications ainsi que les courbes de paramètres choisies pour leur importance par l'administrateur, ceci afin de permettre de CA 02209304 l997-06-26 vérifier le bon fonctionnement de ou des objets sous surveillance. En outre, si l'opérateur ou l'administrateur désire, de manière ponctuelle mais interactive, visualiser certaines informations plus détaillées, un certain nombre de possibilités lui sont offertes comme l'affichage d'autres courbes de mesure ou le "zoom" sur des mesures ou des parties de courbes. Si, de manière générale, I'objet à surveiller est relatif à un objet unique (de base) faisant partie d'unenvironnement de production, ledit objet peut également être un objet global (ou une application globale), c'est-à-dire un ensemble d'objets de base contenant, par exemple, une ou plusieurs bases de données ainsi qu'une 0 application du type Tuxedo et éventuellement d'autres objets de base. Ces objets globaux peuvent être soit, préalablement connus et donc traités de manière spécifique, soit non connus et, dans ce cas, traités comme une entité
opaque mais contenant des objets de base connus. Dans chaque agent, installé au plus près des objets à traiter, une pluralité de modules spécifiquessont intégrés, chaque module étant spécifique d'un type d'objet, Oracle, Informix, Tuxedo, système Unix, impression distribuée (DPF), etc.. Chaque module spécifique mesure des paramètres particuliers au type d'objet qu'il surveille, il propose, par défaut, une liste de paramètres à mesurer, des conditions à évaluer et des actions associées. L'utilisateur a toute la latitudepour, à partir du noeud d'administration, modifier ces choix par défaut. Chaque agent autonome installé sur chaque noeud (ou machine), outre les mesures de paramètres qu'il effectue, les conditions qu'il évalue (sur ce noeud), les actions (reconfiguration, correction, alerte) associées aux conditions qu'il lance ou les traitements en temps différé qu'il opère, remonte au noeud d'administration les informations à afficher, telles que, par exemple, le changement d'état des objets, les valeurs de paramètres à visualiser sous forme de courbe, etc..

De cette manière, grâce à l'idée de l'invention, le noeud d'administration a uneexcellente visibilité globale puisque le présent procédé permet, une fois la 30 surveillance configurée de manière filtrée (c'est-à-dire qu'une configuration est propre à un objet et son environnement et qu'ainsi un même objet peut être configuré différemment selon sa situation et sa distribution), de surveiller unepluralité de types d'objets, d'en donner des fonctions unifiées et également de permettre de corréler entre elles des mesures sur des objets de type différent.
La corrélation porte sur l'affichage de courbes, de conditions, d'actions associées ainsi que sur l'analyse en temps différé. Il est en outre à remarquer que ce procédé doit être portable sur différentes plate-formes, ceci implique sa CA 02209304 l997-06-26 totale indépendance relativement à son environnement d'exécution, la visualisation se faisant au moyen d'une interface graphique propre audit procédé. Ce procédé est prévu pour autoriser tout interfaçage avec un quelconque système d'administration pour offrir à l'utilisateur une administration intégrée. Les agents autonomes accèdent aux différentes informations à
travers les protocoles standards existants.

Avantageusement, pour l'application du procédé de surveillance selon l'invention, le noeud d'administration comporte entre autres, une interface 0 graphique utilisateur pour la visualisation des objets sélectionnés et l'afffichage de courbes de valeurs de paramètres, un fichier de configuration qui contient l'ensemble des configurations des objets avec la description desdits objets de même que l'ensemble des paramètres prédéfinis statiques ou dynamiques, ce fichier étant analysé et dynamiquement modifié ou complété, des fichiers d'état des noeuds à surveiller ainsi que les fichiers d'afffichage des paramètres, les paramètres mesurés étant stockés dans un fichier d'analyse pour permettre leur afffichage par l'intermédiaire de l'interface graphique.

De manière remarquable, I'agent autonome installé sur chaque noeud à
surveiller se compose principalement d'un agent générique en relation avec une pluralité de modules spécifiques chacun propre à un type d'objet ou à un domaine particulier, de fichiers contenant les fonctions de base utilisées, chaque noeud à surveiller possédant de plus ses propres fichiers de paramètres, de conditions et d'actions associées pour contrôler sa propre surveillance et ainsi autoriser le traitement au plus près des différents types d'objets en mesurant les paramètres, en évaluant les conditions et en lançant les actions liées aux conditions et ceci pour tous les objets décrits.

Egalement de manière remarquable, lorsqu'une condition non liée à un paramètre porte sur un ou plusieurs paramètres et donc sur un ou plusieurs objets, ladite condition est traitée sur le noeud d'administration par un agent générique qui traite les conditions sur plusieurs noeuds, cet agent générique "d'administration" lançant l'action sur le noeud d'administration.

La description suivante en regard du dessin annexé, le tout donné à titre d'exemple non limitatif, fera bien comprendre comment l'invention peut être réalisée.

CA 02209304 l997-06-26 Sur la figure unique est représenté de manière très schématique un exemple d'application du procédé conforme à l'invention pour l'intercommunication entre un noeud d'administration et un noeud à surveiller.

Comme cela a été vu précédemment, le procédé selon l'invention permet de surveiller avantageusement n machines, c'est-à-dire n noeuds, N1, N2,..., Nn, à
partir d'un noeud d'administration MN. Principalement pour l'intercommunication qui intéresse l'invention, le noeud d'administration MN
10 comporte un certain nombre de composants parmi lesquels l'interface graphique utilisateur GUI et le fichier de configuration CF. L'interface GUI
permet de montrer dans la fenêtre principale sur l'écran les objets sélectionnésdans la liste des objets pouvant être visualisés, un icone pour chaque objet avec une couleur, par exemple, vert, orange et rouge, selon son état.
Egalement, lorsqu'un objet est sélectionné et qu'un "zoom" est demandé par l'intermédiaire de la barre de menus, une fenêtre de nom de l'objet est affichéecontenant tous les objets composant ledit objet. L'interface GUI permet aussi l'affichage de courbes de valeurs de paramètres avec, si cela est désiré, plusieurs courbes dans le même graphe. A chaque objet décrit, lors de la configuration de la surveillance, peut être adjointe une liste de graphes, tandis qu'à chaque graphe est associée une liste de paramètres à visualiser.
L'interface GUI permet d'appeler au moins un outil d'administration pour chaque type d'objet alors qu'en outre, I'expertise ou l'expérience mémorisée d'un utilisateur ou d'un outil d'un utilisateur, qui est d'une aide précieuse pour la surveillance, peut être avantageusement affichée. Le fichier de configuration CF contient l'ensemble des configurations des objets avec la description desdits objets de même que l'ensemble des paramètres prédéfinis statiques ou dynamiques, il peut être analysé et dynamiquement modifié ou complété. Par téléchargement du fichier de configuration, par exemple, les agents autonomes sont installés, via l'interface IWMN (du noeud N1 ) avec le noeud d'administration MN sur les noeuds à surveiller à partir du noeud d'administration MN, une commande spécifique étant utilisée pour installer l'agent autonome SM, comme ici sur la figure, sur le noeud N1. Chaque noeud à surveiller possède alors ses propres fichiers SL ("scanlog") de paramètres, deconditions et d'actions associées qui lui permettent de contrôler sa propre surveillance, le noeud d'administration détenant de plus les fichiers d'état desnoeuds à surveiller ainsi que les fichiers d'afffichage des paramètres (ensemble de fichiers "trace" TF). La mise à jour de la liste des noeuds où un agent autonome est installé est faite automatiquement par le noeud d'administration.
Le lancement et l'arrêt du procédé de surveillance sont contrôlés par le noeud d'administration. De manière aisée, un objet nouveau peut se voir appliquer le 5 procédé selon l'invention et être surveillé par un agent autonome déjà
configuré. Un agent autonome SM est principalement constitué d'un agent générique GA en relation avec des modules spécifiques SM (SM1, SM2,....
SMn) chacun propre à un type d'objet ou à un domaine particulier, ainsi que de fichiers parmi lesquels l'un est destiné à contenir les fonctions de base BF
o utilisées.

Le traitement des conditions peut concerner plusieurs objets, la question est alors de savoir sur quel noeud sont traitées les conditions. En effet, une condition peut être liée à un paramètre d'un objet, elle fait alors partie de ladescription de ce paramètre. Un paramètre contient la description de sa mesure (commande à lancer, analyse, afffichage de courbe,...), la description d'un certain nombre de conditions simples portant sur la mesure qui vient d'êtrefaite (opérateur, seuil, ...) avec pour chaque condition, I'action à lancer lorsque ladite condition est vérifiée. Un paramètre est attaché à un objet qui lui, est 20 toujours associé à un noeud, le traitement du paramétre et de ses conditions se fait donc sur le noeud associé à l'objet. Par contre, une condition peut ne pas être liée à un paramètre, elle porte alors sur un ou plusieurs paramètres et donc sur un ou plusieurs objets. Dans ce cas, la condition est traitée sur le noeud d'administration où se trouve également un agent générique GA' 25 légèrement différent de l'agent générique GA contenu dans un noeud à
surveiller en ce qu'il traite les conditions sur plusieurs noeuds, cet agent GA'lançant l'action sur le noeud d'administration. En outre, une action, prédéfinieou externe peut demander la valeur d'un paramètre d'un objet surveillé par un autre noeud que le noeud où est exécutée l'action. Dans ce cas, une des fonctions de base BF qui demande la valeur va transférer cette demande au noeud d'administration qui la dirigera alors sur le noeud adéquat et la valeur sera retournée en sens inverse.

Chaque module spéciflque, SM1, SM2,..., SMn, documente sa partie prédéfinie 35 en proposant des listes de choix par défaut de paramètres à mesurer (par exemple, identifiant de paramètre, description de la mesure, période, stockage ou pas des valeurs dans un fichier "trace" TF, afffichage ou pas des valeurs), de CA 02209304 l997-06-26 conditions à évaluer sur ses paramètres et d'actions associées à lancer. Un paramètre peut être également une info""dlion sur l'état d'un objet (fonctionne bien, ce qui dans l'exemple précédent correspond à un icone de couleur verte, mise en garde ou alerte correspondant à un icone de couleur orange, alarme 5 OU panne correspondant à un icone de couleur rouge) ou une mesure comme par exemple "le nombre de transactions par seconde". Si une condition de paramètre est vérifiée, une action est lancée et il est noté le fait qu'une action est lancée dans un fichier de journalisation d'actions (action, niveau, date, identifiant de paramètre, identifiant d'objet, noeud, ...).

Pendant la configuration de la surveillance, I'utilisateur du noeud d'administration décrit les objets à surveiller [systèmes (Unix, ...), applications (Tuxedo, ...), instances (Oracle, ....), serveur (Informix,...), ...] et spécifie des modifications par rapport aux choix par défaut des modules spécifiques 15 (modification de la période de mesure d'un paramètre par exemple, suppression d'un paramètre, ajout d'un paramètre ou d'une condition). Pour chaque nouveau paramètre à mesurer, il décrit la commande de mesure, précise s'il est désiré affficher la mesure (sous forme de courbe), spécifie lesconditions qui vont déclencher une action (une séquence de traitements).
20 L'action peut consister à affficher l'état "en panne" d'un objet (instance Oracle par exemple) en utilisant une fonction fournie par le produit ou bien effectuer un test de corrélation avec une information système (taux d'occupation cpu par exemple) ou de type Tuxedo ou encore définie par l'utilisateur.

25 Une fois la surveillance configurée, cette dernière peut être lancée. La configuration ne peut pas être modifiée pendant une surveillance, il est pour cela tout d'abord nécessaire d'arrêter la surveillance pour modifier la configuration puis de relancer la surveillance sur tous les agents.

Lorsque la surveillance est lancée sur chaque noeud à surveiller, le principe debase est que le "surveillant" sur chaque noeud ne dialogue pas avec le noeud d'administration sauf pour affficher l'état d'un objet ou la courbe d'un paramètre ou encore prévenir l'administrateur. Les actions sont soit locales, c'est-à-direinternes au noeud, soit demandent un service (essentiellement d'afffichage) au noeud d'administration.

Egalement, une des fonctions de base présentée avec le présent procédé est prévue pour ramener (sur le noeud d'administration) les fichiers SL de journalisation de paramètres ainsi que ceux d'actions de chaque noeud surveillé, pour l'analyse indépendante réalisée par le noeud d'administration.

De cette manière, I'administrateur configure la surveillance en écrivant directement dans le fichier de configuration des commandes lignes.
Cependant, selon une variante, il est possible d'utiliser un outil graphique de configuration qui générera le fichier de configuration. Ci-après est proposé un 0 exemple de syntaxe des commandes ligne pour spécifier les objets et les paramètres.

Un # en début de ligne indique une ligne commentaire, ceci permet d'invalider une commande sans la supprimer ou de commenter le fichier.

Suit un exemple non limitatif de spécification de fichier de configuration que l'administrateur aurait la possibilité de réaliser pour décrire des objets qu'ilvoudrait surveiller, pour modifier le traitement prédéfini de l'agent (et des modules spécifiques) eVou pour créer de nouveaux paramètres et conditions.

==> MAX_CPU percent of total cpu;
signifie le temps maximum cpu alloué pour l'agent autonome (agent générique et modules spécifiques) sur un noeud. Si le maximum est atteint, les modules modifient la fréquence de mesure des paramètres eVou donnent priorité à
certains traitements.

==> PERIOD seconds;
spécifie l'intervalle minimum de temps entre deux mesures d'un paramètre.
Cette valeur globale peut être ponctuellement modifiée pour un paramètre ou une condition.

==> OBJECT object_ident, [NODE = node] [BACKUP_NODE = backup_node]
DESC = ( SYSTEM, UNlX_ADMlN_USER=<unix_user>, GlBUS_ROOT=<ism_root>
! TUXEDO, { V1CONFlG=<config_path>
!TUXCONFlG=<tuxconfig>TUXDlR=<tuxdir>,APPDlR=<appdir>, CA 02209304 l997-06-26 UBBFlLE=<ubbfile>, LANG=<lang>,UNlX_ADMlN_USER=<unix_user>, LlBPATH=<libpath>, QMCONFlG=<~,I,cor,lig>
}

! ORACLE, { V1 CONFlG=<config_path>
!ORACLE_SlD=<sid>, ORACLE_HOME=<oracle_home>, UNlX_ADMlN_USER=<unix user>, ORACLE_USER=<user>, ORACLE_PASSWORD=<password>, CONNECT_STRlNG=<connect_string>, TNS_ADMlN=<tns_admin>, }
!INFORMIX, INFORMlXSERVER=~i"ror",ixserver>, INFORMlXDlR=~ rur",ix~
ONCONFlG=<onconfig>, UNlX_ADMlN_USER=<unix_user>
!SYBASE, SYBASE=<sybdir>, DSQUERY=<servername>, UNlX_ADMlN_USER=<unix_user>, SYBASE_USER=<user>, 1 5 SYBASE_PASSWORD=<password>
!XCP2POOL, CONFDlR=<confdir>, UNlX_ADMlN_USER=<unix_user>
!GLOBAL,UNlX_ADMlN_USER=<unix_user>, COMPONENTS=((object_ident, father_sev), ...) ) 20 [obj_display_clause]
[SCANLOG=([LOGFlLE=(loy~.~lhna" ,e,[logpathname] . ..)]
[ERROR_CONTROL=error_control_file]
;

définit un objet "system" (un système Unix pris en charge par le module 25 spécifique "System" qui mesure le taux d'occupation du cpu, le nombre d'entrées/sorties par seconde, ...), ou un objet "application Tuxedo", ou une "instance oracle", ..., ou encore un objet "global_object" composé d'une instance Oracle et d'une application Tuxedo par exemple.

L'utilisateur choisit (par l'intermédiaire de l'interface GUI) la liste des objets à
voir (leur icone) dans la fenêtre principale de l'interface GUI. Un objet non sélectionné dans cette liste n'est vu que si un "zoom" est réalisé sur un objet global qui le contient. Un objet global peut également être référencé en tant que composant (COMPONENTS) d'un objet global et est composant d'un objet 35 global [GLOBAL (une instance Oracle particulière est choisie dans la liste des objets à voir dans la fenêtre principale car les utilisateurs font directement du CA 02209304 l997-06-26 SQL sur la base)] car cette base est accédée par une application donnée.
Quelques termes employés ci-avant, peuvent être ainsi explicités:

NODE :Pour un objet SYSTEM, NODE est le nom du noeud. Pour une instance Oracle, NODE est le noeud où se trouve l'instance. Pour une application Tuxedo, NODE est le "master node". Pour une application_globale, s'il n'y a aucun paramètre créé pour cet objet, on ne mentionne pas de NODE et s'il y a des paramètres créés pour cet objet, NODE doit être mentionné et la mesure sera exécutée (la condition sera évaluée et l'action lancée) sur le noeud 0 spécifié par NODE.

BACKUP_NODE: est le nom du noeud où va tourner l'objet (le "master node"
Tuxedo, I'instance Oracle, ...) en cas de basculement de l'application sur un autre noeud, pour raison d'exploitation ou d'arrêt, par exemple panne, du noeud d'origine. Cette information est utilisée pour démarrer rapidement la surveillance de l'objet sur le noeud "backup".

ORACLE: c'est le type de l'objet qu'on décrit. ORACLE SID est le nom de l'instance. Quand un utilisateur se connecte à une base Oracle, il écrit <oracle_useP/<oracle_password>~<connect_string>. UNIX_ADMIN_USER
est un nom d'utilisateur Unix qui sera utilisé par la surveillance, depuis le noeud d'administration, pour exécuter des traitements sur la base Oracle située sur lenoeud à surveiller.

COMPONENTS: L'identifiant d'objet (object_ident) de tous les objets fils est donné et pour chacun des fils est donnée la couleur (OK [vert], WARNING
[orange], DOWN[rouge]) héritée par le père si le fils prend la couleur rouge (DOWN). DOWN est la valeur par défaut de "father_sev".

SCANLOG: pour chaque objet l'administrateur peut désigner les fichiers SL de journalisation ("log") à explorer et les erreurs "graves" à rechercher. Si l'option SCANLOG n'existe pas, rien n'est fait sur les fichiers "log". Si le fichier "log"
LOGFILE n'est pas décrit (les fichiers à explorer ne sont pas spécifiés), chaquemodule spécifique a prédéfini une règle de construction de la liste de fichiers à
explorer. Le fichier error_control_file décrit les erreurs à rechercher dans lesfichiers "log" et associe à chaque erreur un identifiant (chaîne de caractères) de classe d'action: si l'erreur est trouvée, I'action spécifiée est appelée en lui CA 02209304 l997-06-26 donnant la classe d'action associée qui sert à aiguiller sur le bon traitement.
Par exemple, "ORA-0600': 2 ACT_RESTART" veut dire que si l'erreur "ORA-0600" est trouvée dans le fichier alert_<sid>.log alors une action (prédéfinie par le module spécifique ou fournie par l'administrateur en modifiant par MODIF_COND_PARAM le paramètre prédéfini ORA_PARAM_LOG) est appellée en passant comme argument la classe ACT_RESTART ainsi que "I'object_id", etc.. Si "ERROR_CONTROL" n'est pas décrit, le fichier prédéfini par chaque module spécifique est pris. Si une des erreurs mentionnées dans le fichier "error_control_file" apparaît, une action prédéfinie ou définie par 10 I'utilisateur est activée.

SCANLOG=() veut dire prendre en compte les fichiers "log", le fichier "error_control_file" et l'action par défaut.

==> MODIF_PARAM param_ident { [IGNORE]
[TRACE ! NOTRACE] [PERlOD=seconds] [NB_VALUES=n]
[param_display_clause]
} ;
"param_ident" est l'identifiant du paramètre. Pour les paramètres prédéfinis parles modules spécifiques, "param_ident" est un mot-clé décrit: I'utilisateur peutmodifier certains attributs de ce paramètre prédéfini [période, analyse ("trace"), affichage, la condition] ou le supprimer mais il ne peut pas changer la commande. L'information à obtenir est soit un indicateur d'état d'un objet (0 si"OK" [vert], 1 si "warning" [orange], 2 si "down" [rouge], par exemple) soit unemesure (métrique) d'un objet.

TRACE: la mesure est stockée dans un fichier TF "trace", pour une analyse autonome.

PERIOD est la période de collecte.

IGNORE: I'administrateur ne veut pas que ce paramètre soit mesuré
périodiquement. Par défaut, chaque module spécifique va mesurer régulièrement un certain nombre de paramètres (métrique et indicateurs de santé). Ces paramètres sont décrits. Chaque paramètre qui est mesuré est CA 02209304 l997-06-26 identifié de manière unique pour un type d'objet. Exemple:
"Ora_Active_Transactions". Il est permis, dans une condition ou dans une action, de demander une mesure en temps réel et non périodique d'un paramètre qui a l'option IGNORE (voir la fonction de base "GetOnlineValue").

NB_VALUES: par défaut, chaque paramètre prédéfini pourra avoir un nombre maximum de valeurs rangées dans une table de résultat. Ce nombre prédéfini est propre à chaque paramètre: il dépend de fonctions prédéfinies comme "get_last_value", "get_delta", "get_average(20)", qui demandent la ou les n 10 dernières valeurs du paramètre. Ce nombre prédéfini est donc cohérent avec les conditions et actions prédéfinies. Si l'administrateur ajoute des conditionsou actions externes qui demandent un plus grand nombre de dernières valeurs, il modifie le nombre par "NB_VALUES" (la nouvelle valeur doit être plus grande que la valeur prédéfinie, sinon il y a alerte ("warning") et le nombre de valeurs n'est pas modifié).

==> MODIF_COND_PARAM object_ident, param_ident, condition_rangr_number { [IGNORE]
1 [CONDITION = param_condition]
[ACTION=( UNIX_FILE, 'unix_file [args]' ! UNlX_COMMAND,'unix_immediate_cmd' ! SPECIF_FILE, 'command_file [args]' ! SPECIF_COMMAND, 'specific_immediate_command' ]
} ;

les paramètres, les conditions et les actions sont prédéfinis complètement, I'identifiant "param_ident" de chaque paramètre et donc la condition qui va être traitée, ainsi que sa période sont décrits.

Il est possible de modifier une condition simple prédéfinie associée à un paramètre et identifiée par l'identifiant "param_ident" du paramètre et le numéro de la condition (1, 2 ou 3). S'il est désiré modifié la période, il est nécessaire de passer par "MODIF_PARAM" de l'identifiant "param_ident". L'administrateur peut personnaliser en modifiant toute la condition ou le seuil (et son hystérésis ou la valeur de "DURING" conformément à la condition "param_condition"), ou CA 02209304 l997-06-26 I'intervalle de valeurs d'une condition, ou supprimer ("IGNORE") le traitement de cette condition, ou encore fournir sa propre action à exécuter si la condition est vérifiée. Pour "UNIX_FILE", "UNIX_COMMAND", "SPECF_FILE" et "SPECIF_COMMAND" voir dans la suite "CREATE_PARAM". Chaque module spécifique documente ses paramètres prédéfinis et en particulier sa condition:
test du résultat de la mesure par rapport à un seuil ou par rapport à un seuil pendant n secondes ou par rapport à un intervalle ("RANGE").

==> MODIF_COND_MULTIPLE cond_ident {[IGNORE]
[ACTlON=(UNlX_FlLE,'unix_file [args]' ! UNIX_COMMAND, 'unix_immediate_cmd']) [PERlOD=seconds]
} ;

permet de modifier une condition multiple prédéfinie identifiée et documentée sous le nom "cond_ident". Les seuils d'une condition multiple ne peuvent pas être modifiés: I'administrateur peut supprimer la condition multiple prédéfinie et s'en créer une nouvelle ou il met les seuils qu'il désire.

20 ==> CR_PARAM object_ident, param_ident MEASURE=(SPECIF_FILE, 'command_file [args]' ! SPECIF_COMMAND, 'specific_immediate_command' ! UNlX_FlLE,'unix_file [args]' ! UNIX_COMMAND, 'unix_immediate_cmd' ,[ARG_REQ]
[STATE I METRICS] [RESULT_TYPE=~ I FLOAT}]
[PERlOD=seconds]
[NB_VALUES=n] [TRACE]) [param_display_clause]
[CONDITION1] = (param_condition ACTION=(UNIX_FILE, 'unix_file [args]' ! UNIX_COMMAND, 'unix_immediate_cmd' ! SPECIF_FILE, 'command_file [args]' ! SPECIF_COMMAND, 'specific_immediate_command' ) )]
[CONDITION2=(. . .)]
[CONDITION3=(.. .)]

CA 02209304 l997-06-26 L'administrateur peut créer ses propres paramètres et leur associer unecommande ("MEASURE=").

SPECIF_FILE: si l'objet est Oracle, il est fait du SqlPlus sur le fichier sql.
Autorisé pour les objets de type Oracle, Informix, Sybase. L'exécution est lancée pour le compte de l'utilisateur"ORACLE_USER" (pour Oracle) spécifié
dans l'objet.
SPECIF_COMMAND: si l'objet est Oracle, il est fait du Dynamic Sql sur cette commande sql. Autorisé pour les objets de type Oracle. L'exécution est lancée pour le compte de l'utilisateur "ORACLE_USER" spécifié dans l'objet. Longueur maximum de la commande: 512.

UNIX_FILE et UNIX_COMMAND: la commande unix est lancée. Autorisé pour tous les objets. L'exécution est lancée pour le compte de l'utilisateur "UNIX_ADMIN USER" spécifié dans l'objet. Dans le cas de "UNIX FILE", le fichier "unix_file" est téléchargé (au démarrage de la surveillance) sur le noeud associé à l'objet référencé par"object_ident". Pour"UNlX_COMMAND", il n'y a pas de téléchargement: la commande est transportée par le paramètre.

Si "object_ident" est un objet "GLOBAL", la commande est exécutée sur le noeud spécifié par"OBJECT ... NODE=node ..."

STATE ou METRICS: un paramètre est soit un paramètre d'état (il représente le bon fonctionnement d'un objet) ou une métrique (le nombre de transactions par seconde, par exemple). Si "STATE", en fin de traitement de la mesure, il est appelé la fonction d'affichage de l'état de l'objet (icone vert/orange/rouge) si 30 I'état a changé depuis la dernière mesure.

RESULT_TYPE: "INT" (entier) ou "FLOAT" (pour un pourcentage par exemple).

CONDITION: si l'utilisateur crée un paramètre et qu'il précise une condition simple, il l'écrit "dans la foulée". La condition est évaluée "dans la foulée" de la mesure et non indépendamment du moment où la mesure est faite.

CA 02209304 l997-06-26 ACTION: on spécifie le nom complet d'un programme shell ou binaire suivi éventuellement de paramètres ("UNIX_FILE") ou une commande Unix ("UNIX_COMMAND") ou d'un fichier sql ("SPECIF_FILE") ou une commande sql ("SPECIF_COMMAND"). Un exemple est "ACTION=(UNIX_FILE, 'all_actions_binary action_1')": I'administrateur fournit un seul programme pourtoutes les actions. Ce programme aiguille selon le premier paramètre qui est le nom d'une action particulière. Le procédé de surveillance appelera ce programme avec tous les paramètres mis dans "unix_file [args]" et ajoutera des 0 paramètres qui représentent le contexte comme l'identifiant "object_ident", I'identifiant "param_ident", la valeur du paramètre (voir fonctions de base plusloin).

ARG_REQ: mettre cette option si la mesure demande un argument qui sera fourni plus tard dans "single_condition" dans "GetOnlineValue". Permet de faire un contrôle à la référence dans "single_condition". Exemple "GetOnlineValue(or714.0RA_TS_FREE_PERCENT, TABLESPACE_1)" donne le pourcentage libre de l'espace table "TABLESPACE_1".

==> CREATE_COND (single_condition [ AND/OR single_condition ] ...) ACTION =(UNIX_FILE, 'unix_file [args] [PERlOD=n];

pour une condition créée par l'utilisateur, il spécifie la période et l'action. Mises entre parenthèses possibles pour la résolution des conditions uniques ("single_conditions"). La condition est évaluée par l'agent générique GA' sur lenoeud d'administration. L'action est lancée sur le noeud d'administration (le fichier "unix_file" se trouve donc sur ce noeud).

==> obj_display_clause:
DISPLAY= ( [GRAPH=(graph_ident TITLE="..... " [TYPE=curve ! pie !
histogram] [MlN=min_value, MAX=max_value]) [GRAPH=(graph_ident ...) ] ...]) GRAPH: I'administrateur associe à un objet des graphes de paramètres.
"TITLE" est le libellé du graphe.

TYPE pour courbe, camembert, histogramme, quand on affiche des paramètres dans un graphe de type "courbes", il faut donner la valeur min et la valeur max CA 02209304 l997-06-26 pour représenter l'ordonnée (sachant que l'abscisse est la date de la mesure du paramètre). Le défaut est 0,100 comme pour un pourcentage. L'icone est en vert/orange/rouge selon son état ("OK", "WARNING", "DOWN").

==> param_display_clause: DISPLAY= ("param_title", [GRAPH=(graph_ident [graph_ident] . . .)) Par défaut, aucun paramètre n'est affiché, "param_title" est le libellé du paramètre. GRAPH: spécifier dans quels graphes se trouve le paramètre.
10 Plusieurs paramètres peuvent appartenir à un même graphe si il est désiré les voir ensemble.

En outre, par défaut, sur chaque type d'objet (oracle, Tuxedo, system, ...), il est fait un certain nombre de contrôles d'état. Si un de ces contrôles est négatif, il 15 entraîne le déclenchement d'une action et l'objet en question (instance Oracle, application Tuxedo, ...) verra son icone changer d'état (et donc de couleur) surl'écran d'administration.

Ci-après, il est donné des exemples de conditions attachées à un paramètre.
20 Le caractère # veut dire "object_ident.param_ident". Il n'est pas nécessaire de spécifier"object_ident.param_ident" puisque que c'est le paramètre courant.

param_condition ::=
( {#
I GetLastValue (#) GetDelta (#) GetAverage (#, nval) I GetPercentRangeChange (#, min, max, init_value) I GetPercentLastChange (#, init_value) }

{opérateurvaleur1 [HYSTERESlS=valeur2]
I IN (min_val, max_val) }
) OU (# opérateur valeur1 DURlNG=nsec) CA 02209304 l997-06-26 # ou GetLastValue (#): la dernière valeur mesurée. C'est la fonction par défaut si on ne spécifie pas de fonction: "objid.paramid".

GetDelta (#): delta, en valeur absolue, entre les deux dernières valeurs.

GetAverage (#, nval): moyenne des nval dernières valeurs du paramètre, pas de moyenne sur plus de 20 valeurs.

GetPercentRangeChange (#, min, max, init_value): changement par rapport à
10 un intervalle de valeurs: (val2 - val1)/ (max - min).

GetPercentLastChange (#, init_value): changement par rapport à la valeur précédente: (val2 - val1 )/val1.

opérateur:<,~=,>,>=,==,!=

valeur1: seuil HYSTERESlS=valeur2 => la condition n'est vraie que si la valeur du paramètre est précédemment retombée en dessous de "valeur2" puis a ré-atteint le seuil "valeur1". Pour ne pas faire d'action en rafales. Par défaut, I'hystérésis a la valeur du seuil ("valeur1").

DURlNG=nsec: est-ce que la valeur du paramètre est "opérateur" (plus grand par exemple) que le seuil pendant un temps donné "nsec" ? La fonction de base transforme le temps "nsec" en nombre "nval" de valeurs puis teste que les "nval" dernières valeurs sont toutes "plus grandes" que le seuil. Rend 1 si vrai, 0 sinon.

30 IN: est-ce que la valeur mesurée est comprise dans l'intervalle [min_val, max_val] ?

Exemple:
~5 CREATE_PARAM OR714_NEW_PAR, or714_orage, MEASURE=(SPEClF_FlLE,/x/y/z.sql TS1 ), PERIOD=1 h, TRACE, CA 02209304 l997-06-26 CONDITION=((# > 34), ACTION=(UNIX_FILE, 'myprog act1 or714'));
En ce qui concerne la condition simple:
single_condition ::=
( {object_ident, param_ident I GetLastValue (object_ident, param_ident) I GetDelta (object_ident, param_ident) I GetAverage (object_ident, param_ident, nval) IGetPercentRangeChange (object_ident,param_ident,min, max,init_value) GetPercentLastChange (object_ident, param_ident, init_value) GetOnlineValue (object_ident,param_ident, [argument]) }
{opérateurvaleur1 [HYSTERESlS=valeur2]
I IN (min_val, max_val) }
) ou(object_ident,param_identopérateurvaleur1 DURlNG=nsec) GetLastValue (objid.paramid): la dernière valeur mesurée. C'est la fonction par défaut si on ne spécifie pas de fonction: "objid.paramid".

GetDelta (objid.paramid): delta, en valeur absolue, entre les deux dernières valeurs.

GetAverage (objid.paramid, nval): moyenne des nval dernières valeurs du paramètre, pas de moyenne sur plus de 20 valeurs.

GetPercentRangeChange (objid.paramid, min, max, init_value): changement par rapport à un intervalle de valeurs: (val2 - val1)/ (max - min).

GetPercentLastChange (objid.paramid, init_value): changement par rapport à
la valeur précédente: (val2 - val1)/val1.

GetOnlineValue (objid.paramid, argument): faire la mesure en temps réel plutôt que de chercher la valeur du paramètre dans le tableau des mesures déjà

CA 02209304 l997-06-26 faites. La fonction "GetOnline" ne peut pas se trouver dans une condition attachée à un paramètre. Elle ne peut être que dans une condition multiple (ou dans une action). Le paramètre "paramid" a été documenté comme acceptant ou non un argument. Voir l'option "ARG_REQ" de "CREATE_PARAM".

Une condition multiple ne pourra pas contenir plus de dix conditions simples.

Exemple:

10 CREATE_COND ((or714_orage.NB_COMMlT_PER_SEC ~ 23) AND (GetAverage(syst_orage.CPU_BUSY, 10) ~ 95) ) ACTION=(UNIX_FILE, 'myprog new_serveror714') PERlOD=1h;

De préférence le procédé selon l'invention est utilisé comme suit.
L'administrateur décrit les objets à surveiller: "OBJECT object_id", ... Il spécifie les modifications à apporter sur les attributs d'un paramètre prédéfini, pour unobjet donné "object_id":

- pour supprimer un paramètre: MODIF_PARAM param_id, object_id, IGNORE;

- pour changer un attribut du paramètre: MODIF_PARAM param_id, object_id, TRACE, PERIOD=...

Ensuite il spécifie les modifications à apporter sur une condition d'un paramètre prédéfini, pour un objet donné "object_id":

- pour supprimer une condition: MODIF_COND_PARAM cond_id, object_id, IGNORE;
- pour changer tout ou partie de la condition: MODIF_COND_PARAM
cond_id, object_id, CONDITION=(# > 45);

ou MODIF_COND_PARAM cond_id, object_id, CONDITION=( # > 95 DURlNG=30sec), ou MODIF_COND_PARAM cond_id, object_id, CONDITION=( # IN (0,350));

CA 02209304 l997-06-26 ~ 21 - pour changer l'action associée: MODIF_COND_PARAM cond_id, object_id, ACTION=(...);

5 Puis il spécifie les modifications à apporter sur une condition multiple prédéfinie (et documentée):

- pour supprimer une condition multiple: MODIF_COND_MULTIPLE
cond_id, IGNORE;

- pour changer l'action associée: MODIF_COND_MULTIPLE cond_id, ACTION=...;

- pour changer la période de la condition: MODIF_COND_MULTIPLE
cond_id, PERIOD= 5mn.

Egalement, il crée un nouveau paramètre à mesurer sur un objet donné:

- paramètre sans condition, à analyser ("trace"): CREATE_PARAM
param_id, object_id, MEASURE=(...), PERlOD=5mn,TRACE, ...;

- paramètre avec condition/action: CREATE_PARAM param_id, object_id, MEASURE=(...), PERlOD=5mn, CONDlTlON=((object_id.param_id >
95) ACTION=(UNIX_FILE, 'myprog act1').

Enfin, il crée une nouvelle condition (multiple ou simple) sur des paramètres (prédéfinis ou nouveaux): CREATE_COND ( (obj1.param1 > 95) AND
(obj2.param2 > 80 during 3mn) ) ACTION=(UNIX_FILE ,'myprog act1') PERIOD=1 5mn.
Les actions sur condition peuvent être explicitées comme suit. Une action est déclenchée si:

- une condition sur un ou plusieurs paramètres (état ou métrique) est 35 vraie, - une condition multiple est vraie, CA 02209304 l997-06-26 - une erreur grave apparaît dans un fichier "log" ou "trace".

Pour une action d'une condition attachée à un paramètre, les paramètres envoyés à l'action sont: "object_ident", "param_ident", "condition_number", "param_value", "seuil", "opérateur", "object_specif_string".

Pour une action d'une condition multiple, les paramètres envoyés à l'action sont: "cond_ident".
o L'action peut être prédéfinie ou fournie par l'administrateur. Elle peut comprendre:

- une demande d'afffichage d'état ("ok", "down", "warning") d'un ou plusieurs "objets à surveiller" et donc rafraîchissement de l'icone selon l'état à
affficher. Un "objet à surveiller" est toujours afffiché sous forme d'icone, - une correction prédéfinie, immédiate, avec ou sans demande d'accord via l'interface GUI, - une proposition prédéfinie de correction, à lancer en différé, - un envoi de message vers l'administrateur [interface GUI ou historique d'un produit ou connaissance d'une gestion de systèmes intégrée, courrier, signal sonore ("beep"), ...], - une action correctrice, complètement décrite par l'administrateur. Cela peut correspondre à ajouter un serveur Tuxedo si le taux d'occupation cpu n'est pas supérieur à x %, - un test de corrélation sur d'autres informations "oraltuxlsyst", puis si ce dernier est satisfait, action comme ci-dessus. Donc demander la valeur d'un autre paramètre ("last_value", moyenne sur n valeurs, "delta", valeur "online"), - ouvrir, sur l'écran d'administration, un dialogue avec l'administrateur pour qu'il spécifie les actions à faire. Cela permet dynamiquement de réagir à

CA 02209304 l997-06-26 des problèmes précis. Ceci ne devrait pas être utilisé systématiquement dans les actions.

Quelques exemples non linlildlirs de réalisation de paramètres prédéfinis Oracle sont à présent proposés:

- paramètre "ORA_USER_ACCESS" dans lequel la mesure consiste à
faire un essai de connexion au moyen de la fonction "connect_string" fournie à
l'utilisateur, la condition correspond à vérifier si l'essai a ou n'a pas abouti et 0 I'action réside en l'analyse de la cause et en la relance éventuelle.

- paramètre "ORA_FREE_TS" dans lequel la mesure consiste à
déterminer le pourcentage d'espace libre par rapport à la taille de l'espace table ("Tablespace"), la condition1 est, si la mesure est < 5%, déclencher action1 qui15 correspond à créer un fichier dans un système de fichiers ("FileSystem") utilisé
par l'espace table (Tablespace), alors que la condition2 est, si mesure < 10%, envoyer un message d'alerte (WARNING) vers l'interface GUI (GUI/Events).

- paramètre "ORA_FRAGMENT_TS" dans lequel la mesure consiste à
20 vérifier la condition qui correspond à ce que la plus grande des étendues ("MAX_EXTENTS") des tables de l'espace table ("Tablespace") soit plus petite que le plus grand trou de l'espace table, si cette condition est vérifiée, envoyer une fenêtre proposition d'action dans laquelle il est signifié qu'il faut réorganiser l'espace table ("Tablespace") selon les propositions suivantes:
* soit, il est créé automatiquement un fichier pour agrandir l'espace table ("Tablespace"), * soit, il est demandé quand une commande standard "d'export/traitement_tables/import" sera lancée, * soit, il est demandé à l'administrateur de programmer le 30 lancement de son utilitaire de réorganisation.

- paramètre "ORA_SCANLOG" dans lequel les erreurs Oracle à traiter dans le fichier"alert.log" sont prédéfinies. A chaque erreur correspond une classe d'action prédéfinie. Exemple:
ORA-0603: ACT_RESTART1 ORA-1600: ACT_ARCHIVE_INCREASE, CA 02209304 l997-06-26 la mesure consistant à rechercher les erreurs prédéfinies dans le fichier "alert.log", la condition étant, si l'erreur est trouvée agir en appelant l'action prédéfinie ou externe liée à la classe d'action de l'erreur trouvée (ACT_RESTART1 => relancer l'instance par startup).

Egalement, suivent des exemples non lilllil~lir~ de fonctions de base. Ces fonctions de base peuvent être utilisées dans les actions fournies par l'administrateur. L'administrateur ne peut pas utiliser de fonctions demandant plus de valeurs que ce qui est possible pour un paramètre tvoir 0 "NB_VALUES"). Ces fonctions de base sont également utilisées en interne dans les actions par les modules spécifiques et l'agent générique. Voir les paragraphes ci-avant relatifs aux conditions pour certaines fonctions de base utilisées dans les conditions.

Une fonction de base comme "GetLastValue" peut demander la valeur d'un paramètre relatif à un objet surveillé par un autre noeud.

Ces fonctions doivent pouvoir être appelées dans un programme C et dans un programme "shell".

- GetLastValue (object_ident, param_ident, &result_int): retourne la dernière valeur mesurée d'un paramètre.

- GetAbsDelta (object_ident, param_ident, &result_int): retourne la valeur"différence entre les deux dernières valeurs" du paramètre (en valeur absolue).

- GetSignDelta (object_ident, param_ident, &result_int): retourne la valeur"différence entre les deux dernières valeurs" du paramètre (valeur avec son signe).

- GetAverage (object_ident, param_ident, &result_int, nval): retourne la moyenne sur les "nval" dernières valeurs d'un paramètre. Limite: "nval" ne peut pas être plus grand que 20.

- GetOnlineValue (object_ident, param_ident, &result_int, argument):
retourne la valeur de la mesure en temps réel plutôt que de chercher la valeur CA 02209304 l997-06-26 du paramètre dans le tableau des mesures déjà faites. Le paramètre "param_ident" a été documenté comme acceptant ou non un argument (voir l'option "ARG_REQ" de "CREATE_PARAM"). Cette fonction ne fait que faire la mesure, ce qui signifie que si ce paramètre a des conditions/actions, elles ne sont pas évaluées. On peut faire "GetOnlineValue" sur un paramètre (et un objet) qui a l'option "IGNORE" (cela veut donc dire que le module spécifique a la description du paramètre, sans les conditions/actions).

- GetPercentRangeChange (object_ident, param_ident, &result_int, min, 10 max, init_value): changement par rapport à un intervalle de valeurs (val2 -val1)/ (max - min). Val2 est la valeur mesurée, "val1" est la mesure précédente.
- GetPercentLastChange (object_ident, param_ident, &result_int, init_value): changement par rapport à la valeur précédente: (val2 - val1 )/val1.
- SetVarString (object_ident, variable_name, string_value): mettre une valeur dans une variable définie. par l'utilisateur. Cette variable sera utilisée dans la fonction "GetVar" pour connaître la valeur. Ce mécanisme peut être utilisé pour transmettre des informations entre une mesure et une action, entre deux mesures, entre deux actions. L'étendue d'une variable est l'identifiant d'objet ("object_ident"). Les variables sont chaînées à un objet précis.
L'utilisateur ne peut pas faire "SetVarString" sur une variable dont le nom commence par I , ceci, afin de protéger les variables affectées par un module spécifique.

- SetVarlnt (object_ident, variable_name, int_value). même chose que pour "SetVarString" mais la valeur est un entier ("int").

- GetVarString (object_ident, variable_name, &string_ptr): retourne un pointeur (dans "string_ptr") sur la valeur de la variable.

- GetVarlnt (object_ident, variable_name, &int_value): retourne un entier qui est la valeur de la variable.

- GetCurrentObjectld (): rend l'identifiant d'objet ("object_ident") de l'objet courant traité par le module spécifique dans l'action. Permet, dans une CA 02209304 l997-06-26 action, de tester la valeur d'un autre paramètre du même objet par "GetLastValue(GetCurrentObjectld(),ORA_COMM ITS)".

- GetLocalNodeObjectld (): rend l'identifiant d'objet ("object_ident") de 5 I'objet système du noeud local. Permet dans une action de tester la valeur du cpu sur le noeud local par l'intermédiaire des fonctions suivantes:
"GetLastValue(GetLocalNodeObjectld(),SYST_CPU_BUSY)".

- TestDuring (object_ident, param_ident, time, operator, threshold):
10 retourne la valeur vrai (1) ou faux (0) de la condition: est-ce que la valeur du paramètre est "operator", plus grand par exemple que le seuil pendant un temps donné. La fonction de base transforme le temps en nombre n de valeurs puis teste que les n dernières valeurs sont toutes "plus grandes" que le seuil.

- Trace (object_ident, param_ident, type_value, param_value): mettre la mesure d'un paramètre dans le fichier "trace" pour analyse indépendante (nom du fichier: "appl_survey.<node>.<dateofday>.params.trc"). La fonction de base ajoute le nom de la machine, la date/heure. Type_value est un entier: 1 (int) ou2 (float) - StopObjSurvey (object_ident): I'agent générique envoie cette fonction vers l'interface GUI pour qu'elle afffiche l'état de l'objet en icone. L'agent générique met d'abord le champ "survey_status" à 1 (stop) pour l'objet. Le champ "survey_status" peut être: 0 (objet sous surveillance), 1 (objet à ne plussurveiller), 2 (objet dont la surveillance doit démarrer: par "start_survey"), 3(objet dont on ne traite pas les paramètres).

- DisplayGraph (object_ident, param_ident, param_type, param_value):
affficher la valeur du paramètre, par l'intermédiaire de l'interface GUI. La 30 fonction de base envoie également la date/heure.

- DisplayState (object_ident, param_ident, objtype, severity_level, msg, line1val, line2val): remonter l'état d'un objet, pour que l'interface GUI le visualise. L'interface GUI modifie l'état de l'icone associé à l'objet. "Objtype"
est, par exemple, ORACLE, SYSTEM, TUXEDO, etc. "Msg" est une information détaillée sur l'état de l'objet: via le "bouton2" (milieu), I'interface GUI affiche cette information. L'action d'affficher se fait sur la machine d'administration.

"Line1val" et "line2val" (lignes sous l'icone) sont les valeurs des deux lignes:"NULL" veut dire ne pas afficher la ligne sous l'icone.

- DisplayStatelnternalSon (object_ident, internal_objid, param_ident, 5 internal_objtype, father_sev_level, internal_sev_level, msg, line1val, line2val):
remonter l'état d'un objet, pour que l'interface GUI le visualise. L'interface GUI
modifie l'état de l'icone associé à l'objet. "Internal_objtype" est, par exemple, "TUX_MASTER", "TUX_NODE", "TUX_QUEUESPACE". "Msg" est une information détaillée sur l'état de l'objet: via le "bouton2" (milieu), I'interface 0 GUI affiche cette information. L'action d'afficher se fait sur la machine d'administration. "Line1val" et "line2val" (lignes sous l'icone) sont les valeurs des deux lignes: "NULL" veut dire ne pas afficher la ligne sous l'icone.

- RemovelnternalSon (object_ident): informer l'interface GUI que l'objet père étant "DOWN" (panne), il n'est pas possible d'accéder aux fils internes. Ilfaut donc ne plus voir les icones associés aux objets fils internes.

- SendHisto (severity, object_type, message, ack_required): remonter un message dans l'historique d'un produit. "object_type" identifie le module spécifique (oracle, tuxedo, système, ...).

- SendlsmAlarm (severity, object_type, message, ack_required):
remonter une alarme vers l'alarme d'un produit de gestion de systèmes intégrée. "object_type" identifie le module spécifique (oracle, tuxedo, système, ...). Sévérité à préciser.

- SendMsg (severity, object_type, message, ack_required): si "severity"
est W ou l: "SendHisto". Si "severity" est A ou E et si produit de gestion de systèmes intégrée présent, en tant que "super gestionnaire", alors "SendlsmAlarm" sinon "SendHisto". Si "ack_required=1": un icone drapeau (produit de gestion de systèmes intégrée ou historique d'un produit) se lève indiquant qu'un message est à acquitter dans l'alarme du produit de gestion de systèmes intégrée ou dans l'historique d'un produit.

- DisplayMessage (message): afficher sur la machine d'administration une fenêtre contenant le message et un bouton "OK" pour supprimer la fenêtre.

CA 02209304 l997-06-26 - AskForCommand (message, réponse): afficher sur la machine d'administration une fenêtre contenant le message demandant si l'administrateur est d'accord pour qu'on exécute telle commande. Retourne la réponse (1: oui, 0: non) à la question. Selon la réponse, faire ou non la commande. Si aucune réponse n'est recue après un délai déterminé, la commande n'est pas effectuée.

- "prévenir l'admin" ("mail", "beep", "msg console", ...) Suivent pour une bonne appréhension du procédé divers exemples de configuration. Le premier exemple concerne Oracle:

OBJECT or716_orage, NODE=orage, DESC=(ORACLE, ORACLE_SlD=or716, ORACLE_HOME=/ora716, UNlX_ADMlN_USER=ora716, ORACLE_USER=sys, ORACLE_PASSWORD=change_on_install, CONNECT_STRlNG=P:or716, TNS_ADMlN=/ora716/network/admin) DlSPLAY=(GRAPH=(graph_or716, TlTLE=or716 graph) );
- modifier la période d'un contrôle (mesure du paramètre d'état "ORA_CONNECT_STATUS" prédéfini par le module spécifique Oracle et documenté):

MODIF_PARAM or716_orage, ORA_DB_ACCESS, PERlOD=1h;

- remplacer dans la condition la valeur du seuil d'espace libre:

MODIF_COND_PARAM or716_orage, ORA_TS_FREE_TOOLS, 1, CONDITION = (# < 15);

- créer un nouveau paramètre avec une condition/action:

CREATE_PARAM or716_orage, USER_TS_SYSTEM_BLOCKS, MEASURE=(SPECIF_FlLE,/x/y/z.sql) [TRACE], PERlOD=12h, CONDITION=((# > 320) ACTION=(UNIX_FILE, '/x/y/all_actions.sh act_ts_system_blocks'));

CA 02209304 l997-06-26 - remplacer l'action prédéfinie qui était d'émettre un message vers l'historique d'un produit. En fournir une autre qui consiste à poster dans la "crontab" I'exécution d'un utilitaire Oracle sur les espaces table ("tablespaces") trop fragmentés:

MODIF_COND_PARAM or716_orage, ORA_ALL_TS_FRAGMENT, ACTION=(UNIX_FILE, '/oracle/action_ora action_name');

- supprimer le traitement d'un paramètre prédéfini:~0 MODIF_PARAM or716_orage, ORA_TS_FREE_SYSTEM, IGNORE;

- modifier les options par défaut du traitement d'un paramètre prédéfini:

MODIF_PARAM or716_orage, ORA_TS_FREE_SYSTEM, TRACE, DISPLAY=(TS minfree, GRAPH=(graph_or716));;

Le second exemple concerne l'ensemble Tuxedo/Oracle/System.

- décrire un objet global ( par exemple "flowbus_appli") constitué par une application "Tuxedo tux_demo_fb" (dont le "master node" est orage) qui utilise une base "Oracle or714_orage" et tournant sur le noeud "syst_orage". A
chaque objet est associé un graphe de courbes de mesures. Les objets (leur icone) "tux_demo_fb" et "or714_orage" ne sont visualisés que si l'utilisateur 25 demande un zoom après avoir cliquer sur l'objet global ("flowbus_appli"):

OBJECT syst_orage, NODE=orage, DESC=(SYSTEM) DlSPLAY=(GRAPH=graph_orage, TlTLE=orage perfs );
OBJECT tux_demo_fb, NODE=orage DESC=(TUXEDO, TUXCONFlG=/flowbus/val/tesVmarcel_demo/bin/TUXCONFlG, TUXDlR=//usr/tuxedo, APPDI R=/flowbus/val/tesVmarcel_demo/bin, UBBFlLE=/flowbus/val/tesVmarcel_demo/bin/UBBCONFlG, LANG=C, UNlX_ADMlN_USER=fl~_user, QMCONFlG=/flowbus/val/tesVmarcel_demo/bin/QUE, ~ 30 LlBPATH=/flowbus/val/tesVmarcel_demo/bin:/usr/tuxedo/lib:/
flowbus/install/lib:/:/lib:/usr/lib:/usr/lib/cobol/coblib), DlSPLAY=(GRAPH=(graph_tux_demo_fb, TlTLE=tuxedo demo_fb stats);

OBJECT or714_orage, NODE=orage DESC=(ORACLE, ORACLE_SlD=or714, ORACLE_HOME=/ora714, UNlX_ADMlN_USER=ora714, ORACLE_USER=sys, 0 ORACLE_PASSWORD=change_on_install, CONNECT_STRlNG=ior714, TNS_ADM I N=/ora714/network/admin) DlSPLAY=(GRAPH=graph_or714, TlTLE=or714 perfs );
OBJECT flowbus_appli, DESC=(GLOBAL_OBJECT, COMPONENTS=((syst_orage, DOWN),(tux_demo_fb, DOWN), (or714_orage, WARNING)), DlSPLAY=(GRAPH=graph_flowbus_a, TlTLE=global flowbus_a perfs );

- créer un nouveau paramètre nombre de messages dans la queue Q1, sans condition/action:

CREATE_PARAM tux_demo_fb, Q1_MSG_NB, MEASURE=(UNIX_FILE
Ixly get_lg Q1) [TRACE], PERlOD=60s, DlSPLAY=(nombre de messages dans Q1, GRAPH=(graph_tux_demo_fb);

- afficher des paramètres dans des graphes de mesures:

MODIF_PARAM syst_orage, SYST_CPU_BUSY, DlSPLAY=(cpu busy, GRAPH=(graph_flowbus_a, graph_orage));

MODIF_PARAM syst_orage, SYST_IO_HDISK0, DlSPLAY=(hdiskO:
KB/sec, GRAPH=(graph_flowbus_a, graph_orage));

MODIF_PARAM or714_orage, ORA_SRV_NB, DlSPLAY=(nombre de serveurs oracle dédiés, GRAPH=(graph_flowbus_a, graph_or714));

CA 02209304 l997-06-26 MODIF_PARAM or714_orage, ORA_COMMIT_PER_SEC, DlSPLAY=(nombre de commits/sec, GRAPH=(graph_or714));

MODIF_PARAM tux_demo_fb, TUX_TPS, DlSPLAY=(nombre de services/sec, GRAPH=(graph_flowbus_a, graph_tux_demo_fb));

MODIF_PARAM tux_demo_fb, TUX_CLIENT_NB, DlSPLAY=(nombre de 0 clients Tuxedo, GRAPH=(graph_flowbus_a, graph_tux_demo_fb));

MODIF_PARAM tux_demo_fb, TUX_SERVER_NB, DlSPLAY=(nombre de serveurs Tuxedo, GRAPH=(graph_flowbus_a, graph_tux_demo_fb));
Les graphes suivants seront affichés si il est cliqué sur le "bouton3" des objets:

Graphe "graph_flowbus_a": "click" sur "objet flowbus_appli"
cpu busy hdiskO: KB/sec nombre de serveurs oracle dédiés nombre de services/sec nombre de clients Tuxedo nombre de serveurs Tuxedo Graphe "graph_orage": click sur"objet syst_orage"
cpu busy hdiskO: KB/sec Graphe "graph_tux_demo_fb": "click" sur "objet tux_demo_fb"
nombre de messages dans Q1 nombre de services/sec nombre de clients Tuxedo nombre de serveurs Tuxedo Graphe graph_or714: "click" sur "objet or714_orage"
nombre de serveurs oracle dédiés CA 02209304 l997-06-26 nombre de commits/sec Le troisième exemple est relatif à FSX.

OBJECT fs_oracle_orage NODE=orage DESC=(FILESYSTEM, NAME="/oracle", MIN_FREE=20, MAXSIZE=300MB, INCRSIZE=1MB);

- modifier la période du contrôle (mesure du paramètre "FS_FREE_SPACE") MODIF_PARAM fs_oracle_orage, FS_FREE_SPACE, PERlOD=1h;

- remplacer l'action prédéfinie qui est d'agrandir le système de fichiers, jusqu'à la taille maximale. En fournir une autre qui consiste à tester que tel 15 fichier "log" ne grandit pas anormalement, auquel cas, voir si le niveau de "trace" est correct et si ce n'est pas le niveau de "trace" qui n'est pas adapté, alors .... ......:

MODIF_COND_PARAM fs_oracle_orage, FS_FREE_SPACE, ACTION=(UNIX_FILE, '/oracle/action_fs action_name');

- remplacer la valeur du seuil "minfree":

MODIF_COND_PARAM fs_oracle_orage, FS_FREE_SPACE, CONDITION=(# < 1 5 HYSTERESIS=1 8);

En fonctionnement autonome ("offline"), la collecte des paramètres se fait dans un fichier "paramlog" sur chaque noeud surveillé. Les actions sont enregistrées dans un fichier "actionlog" sur chaque noeud surveillé, en particulier pour:

- permettre la gestion d'archives sur une période plus ou moins longue, I'affichage d'activités passées, les rapports de statistiques (sur un jour/semaine/mois/an et différents zooms sur les informations "systeme/DB/TP/EpochBackup/..."). Permettre les statistiques par application Tuxedo, par instance de base de données, par application X ou Y, par "machine/cluster". Permettre la collecte/analyse d'informations pour surveiller CA 02209304 l997-06-26 que la mise au point ("tuning" SGA, ...) est toujours correcte (via un appel à
"DbaExpert" ou autre). Stocker les recommandations.

L'agent autonome conforme à l'idée de l'invention se compose principalement d'un agent générique et d'une pluralité de modules spécifiques à chaque type d'objet: oracle, tuxedo, système, DPF, FSX, SAP ... Le travail global consiste àmesurer des paramètres, si besoin est les stocker dans un fichier "trace" et permettre leur affichage par l'intermédiaire de l'interface GUI, à évaluer les conditions simples ou multiples et à lancer l'action liée à la condition vraie et 0 ceci pour tous les objets décrits dans le fichier de configuratiion.

L'agent générique "d'administration" (sur le noeud d'administration) gère les données d'entrée suivantes:

- d'un côté toutes les données qui ont été prédéfinies par chaque module spécifique, pour tous les objets du même type:

* des paramètres avec leurs attributs (période de mesure, analyse (trace)/affichage avec sa période). Chaque paramètre a un identifiant de paramètre. L'administrateur peut modifier des attributs de ce paramètre.

* éventuellement, une condition simple associée à un paramètre ou une condition multiple sur plusieurs paramètres, ainsi que l'action liée à la condition.
Une condition simple ou multiple est identifiée (identifiant du paramètre pour une condition liée à un paramètre ou identifiant de condition pour une conditionmultiple): I'administrateur peut modifier des attributs de cette condition.

- d'un autre côté toutes les données qui ont été spécifiées par l'administrateur:

* des modifications sur les attributs prédéfinis: analyse ("trace"), période, affichage, les données pour un objet particulier ou la suppression d'unparamètre.

* des modifications sur les conditions prédéfinies: changer le seuil d'une condition simple, I'action, la période ou supprimer la condition.

CA 02209304 l997-06-26 * des créations de paramètres avec éventuellement une condition simple.

* des créations de conditions simples ou multiples avec une action aSSOClee.

Le traitement de l'agent générique d'administration se fait de la manière suivante:

0 - lecture de son fichier de configuration. Analyse syntaxique et sémantique ("MODIF_PARAM" d'un paramètre inexistant, ...).

- fusion du fichier de configuration fourni par l'administrateur et du fichier de configuration fourni par les modules spécifiques.

- envoi du fichier de configuration résultant à chaque agent (en filtrant relativement aux objets à surveiller sur la machine et en tenant compte des problèmes inhérents aux noeuds en panne ou aux noeuds prévus pour la sauvegarde des données d'un noeud en panne sur un autre noeud).

Le traitement de l'agent générique d'un noeud autre que le noeud d'administration se fait de la manière suivante:

- lecture de son fichier de configuration, seuls les objets locaux à ce noeud sont traités.

- construction de la table d'objets ("OBJECTS").

- construction de la table de configuration des paramètres 30 ("CONFIG_PARAM").

- construction de la table des valeurs de paramètres ("PARAM_VALU ES"):

* chaque paramètre de chaque objet a au moins un emplacement pour mettre sa/ses valeur(s). S'il y a des fonctions comme moyenne ("paramid", CA 02209304 l997-06-26 20) ou durée d'exécution, alors le nombre d'emplacements à réserver pour ce paramètre de cet objet est calculé.

- construction de la table des conditions multiples ("COND_MULTIPLE").

- fourniture des fonctions de base à l'usage des modules spécifiques pour certaines et pour les actions externes pour d'autres.

- lancement des modules spécifiques:
* les modules spécifiques "lourds" comme Oracle, Informix, Tuxedo possèdent un traitement propre. D'autres comme FSX, DPF peuvent être regroupés dans un seul traitement. Le but est de ne pas sérialiser toutes les surveillances mais d'en faire un certain nombre en parallèle. L'ensemble global ne doit quand même pas consommer plus que le taux maximal ("MAX_CPU") de cpu autorisé.

* ne lancer que les modules qui ont un objet à surveiller.

- configuration à partir du service de surveillance de fichiers, par exemple RSF ("Remote System Facility"), de manière à permettre le traitement de l'exploration des fichiers de journalisation ("logs") de tous les objets décrits.

- évaluation de chaque condition multiple, avec sa période:

* chercher les valeurs des paramètres dans la table des valeurs de paramètres ("PARAM_VALUES") ou via la fonction "get_online".

* si la condition multiple est vérifiée: lancer l'action (interne ou 30 externe).

- surveillance régulière du bon fonctionnement des modules spécifiques (envoi d'un paramètre spécial et attente de la réponse).

35 Outre les fonctions de base fournies à l'extérieur, I'agent générique et les modules spécifiques utilisent les fonctions de base internes suivantes:

CA 02209304 l997-06-26 - PutValue (object_ident, param_ident, param_value): ranger dans la table "PARAM_VALUES" la dernière valeur d'un paramètre donné d'un objet donné.
Cette fonction est utilisée par les modules spécifiques après la mesure du paramètre.

- ExecMeasure (param_entry): voir"traitement d'un paramètre".

- ProcessHysteresis (object_ident, param_ident, param_value): si le champ "action" n'est pas validé ("ACTION_SWITCH OFF") alors tester "param_value"
10 avec l'hystérésis. Si inférieur (en fait opérateur inverse de celui pour le seuil) valider ce champ ("ACTION_SWITCH ON") sinon l'invalider ("ACTION_SWITCH OFF"). "ACTION_SWITCH" est un champ de la structure condition et est initialisé à "ON". Si on place "ACTION_SWITCH" à "ON" pour une condition, il faut faire de même pour les conditions de rang supérieur, c'est-à-dire les conditions 2 et 3 si on met "ACTION_SWITCH" à "ON" pour la condition 1.

- EvalConds (param_entry) boucle sur les conditions d'un paramètre et appelle "EvalCond" (voir "traitement d'un paramètre"). Cette fonction permet de tester le champ "action_switch" de l'entrée paramètre avant de lancer l'action.

- EvalCond (cond_entry) évalue (vrai/faux) une condition.

- ActionCondParam (object_ident, param_ident, condition_number, param_value, condition_buffer, object_specif_string) et ActionCondMultiple (action_name, action_type, cond_ident): Ces fonctions permettent de lancer une action. Si "action_type" est interne ("internal", prédéfini par le module spécifique) alors appeler un point d'entrée interne au module spécifique en lui passant les arguments "object_ident", etc.. Si "action_type" est externe ("external", fourni par l'administrateur) et si un fichier spécifique est concerné
("SPECIF_FILE"), appeler un point d'entrée du module spécifique qui traite le fichier de commande, mais si c'est une commande spécifique qui est concernée ("SPECIF_COMMAND"), appeler un autre point d'entrée du module spécifique qui traite la commande. Dans le cas où un fichier Unix ou une commande Unix ("UNIX_FILE" ou "UNIX_COMMAND") sont concernés, ouvrir le fichier de synchronisation appelé aussi "tube" par l'homme du métier (commande "popen" qui est la contraction de "pipe open") sur la chaîne fournie CA 02209304 l997-06-26 en ajoutant comme arguments ce qui permet de caractériser le contexte:
"object_id", "param_id", ... La fonction de base enregistre dans le fichier "actionlog" du noeud local le fait que cette action est exécutée: nom du fichier"actionlog appl_survey.~node>.<dateofday>.actions.trc".

Ces fonctions de base sont utilisées par les modules spécifiques et doivent pouvoir être appelées dans un programme C.

Le traitement d'un module spécifique (système Unix, courrier, FSX, impression 10 DPF [Distributed Print Facility], oracle [base de données], informix [système de bases de données Unix], Tuxedo [application], FlowBus [gestionnaire de flux interapplication], XCP2 [eXtended Cooperative Protocol level 2], SAP [Service Access Point], ...) se fait de la manière suivante:

15- exploration de la table de configuration des paramètres ("CONFIG_PARAM"), en ne traitant que ses propres objets:

* paramètres déjà triés par période croissante.

20~ pour chaque paramètre de chaque objet, selon la période:

. faire la mesure en utilisant la commande interne (paramètre prédéfini) ou externe ("CREATE_PARAM"), la mettre dans la table "PARAM_VALUES".

. si une analyse ("trace") est effectuée, mettre la valeur dans le fichier "trace" global de l'agent autonome (voir fonctions de base).

. si un afffichage est demandé, affficher la valeur ou l'état.
. évaluer la condition simple, si elle existe, lancer l'action (interne ou externe) si la condition est vraie.

- traitement des demandes inopinées ("get_online") de mesure en temps réel de paramètre.

Le traitement d'un paramètre est effectué de la sorte:

CA 02209304 l997-06-26 - si le paramètre est validé et la période déterminée:

si param.valid_param_entry & param.period_OK
alors return_code = ExecMeasure (param_entry) - si une condition sur un paramètre existe et que le paramètre est validé
si param.cond_exists & param.valid_param_entry & (return_code ==
O) alors EvalConds (param_entry) Le contenu de la fonction de base "ExecMeasure" pour réaliser la mesure de paramètre est plus précisément explicité ci-dessous:
Si param.measure_type="internal", alors status=param.measure_cmd(param.param_ident,object_ident,&param_value) sinon status=exécuter param.measure_cmd (programme shell ou binaire) avec pour argument: (param_ident, I'object_ident), lancer en redirigeant sa sortie dans un "pipe". Convention: le programme externe met sa valeur dans sa sortie standard et la valeur du paramètre mesuré est récupérée en lisant le fichier "pipe".
si (status == 0), alors PutValue (param.object_ident, param.param_ident, param_value) Si param.trace alors Trace(param.object_ident, param.param_ident, param_value) si param.param_display alors DisplayGraph (param.object_ident, param.param_ident, param_value) Le contenu de la fonction de base "EvalConds" pour évaluer les conditions sur les paramètres est plus précisément explicité ci-dessous:

pour i=1 à nbconds ProcessHysteresis (param.object_ident, param.param_ident, param_value) si ACTION_SWITCH OFF ==> next condition bool = EvalCond (param.cond_entry(i)) CA 02209304 l997-06-26 si (bool == true) & (action_switch == ON) alors {ActionCondParam (param.object_ident, param.param_ident, param.condition_number, param_value, param.cond_entry(i), object_specif_string) ACTION_SWITCH = OFF
break }

Suivent deux exemples de code, le premier relatif au code de la commande de 0 mesure ("measure_cmd") du module spécifique, plus particulièrement du module spécifique "FILESYSTEM" (FS):
dispatch (param_ident) FS_FREE_SPACE:
appel_mesure param.name free_percent, currsize si mesure KO ("name" non trouvé ou pas monté) alors SendHisto (AS, "Filesystem %param.name not found in %param.node machine") param.measure_rc=DOWN
return -1 sinon *param_value = free_percent return 25 Le second exemple est relatif au code "d'action du module spécifique":
dispatch (action_name) FS_FREE SPACE ACT1 :_ Si (currsize < obj.maxsize) alors si ((currsize + obj.incrsize ) > obj.maxsize) alors incr_t=obj.maxsize -currsize sinon incr_t=obj.incrsize appel chfs_command (name, incr_t) return.
A ce stade de la description, plusieurs remarques sont à faire:

- la mesure envoie les messages si un problème est rencontré dans ladite mesure.

- si n conditions sont imposées, une seule action est effectuée, celle de la première condition vraie ("cond1" puis "cond2" puis "cond3").

- les champs suivants sont à prévoir dans l'entrée "param":
measure_rc (OK,KO) param_state (state, metric) action_switch (ON,OFF): initialisé à ON, mis à OFF si la valeur du paramètre est inférieure (en fait opérateur inverse de celui pour le seuil) à l'hystérésis. Par défaut, I'hystérésis a la valeur du seuil.
Le champ "action_sw" est testé dans la fonction de base "EvalConds".

- un paramètre "state" a toujours ses deux dernières valeurs dans la table "résultat".

- à un instant donné, I'accès est autorisé à une entrée objet et à une entrée paramètre.

- lorsqu'un agent est déporté sur le noeud d'administration pour surveiller une pluralité de noeuds, il peut être nécessaire de prévoir un gestionnaire (manager) SNMP qui dialogue avec les agents SNMP standard sur les noeuds concernés. Cet agent déporté gère les fichiers "paramlog" et "actionlog" sur le noeud d'administration.

Le traitement des actions est réalisé comme suit:
- I'agent générique et les modules spécifiques demandent à lancer une action (prédéfinie ou fournie par l'extérieur).

- toute action reçoit des arguments qui représentent le contexte qui déclenche l'action:

. I'identifiant d'objet (object_ident), I'identifiant du paramètre CA 02209304 l997-06-26 (param_ident), le numéro de la condition (condition_number, si condition multiple).

. pour une condition simple: la valeur mesurée du paramètre, son seuil et son hystérésis, I'opérateur (>,<,=, !=).

Le lancement d'une action est traité par une fonction de base: voir ci-avant avec les fonctions de base " ActionCondParam" et "ActionCondMultiple".

10 En ce qui concerne le traitement des fichiers de journalisation ("logs") des applicatifs, pour chaque module spécifique, toute erreur spécifiée dans le fichier "ERROR_CONTROL" qui apparaît dans un fichier "log" de l'objet ("alert.log", "ULOG", ...) génère l'exécution d'une action. Pour chaque objet à
surveiller, I'administrateur spécifie la liste des fichiers "logs" à explorer ("SCANLOG" dans la commande "CR_OBJECT" de la configuration) et un fichier de contrôle d'erreur ("error control file"). Des valeurs par défaut sontprévues. Ce fichier de contrôle d'erreur décrit les erreurs à sélectionner (les "ora_err" par exemple) et la classe d'erreur associée à chaque erreur. Cette classe d'erreur sera transmise à l'action liée à la condition du paramètre prédéfini "PARAM_LOG" et servira à un aiguillage plus fin sur la séquence de traitements à faire qui consiste, par exemple, à sauver des fichiers d'analyse ("trace") ou des informations complémentaires. La séquence de traitements dans l'action est prédéfinie mais peut être entièrement écrite par l'administrateur. Il est important de rappeler que toute action déclenchée entraîne l'enregistrement ("logging") dans le fichier "actionlog" avec le message d'erreur dans ce cas. Un exemple de fichier de contrôle d'erreur ("error_control_file") est ci-après proposé:

"ORA-0603": ACT_RESTART1 "ORA-1 600": ACT_I NCREASE_ARCH IVE
. . .

Avant de lancer les modules spécifiques, I'agent générique génère une configuration "RSF" pour chaque objet si le fichier "SCANLOG" est décrit pour I'objet.

- si le fichier"LOGFlLE" décrit les noms des chemins des fichiers de journalisation ("logpathname"): une entrée dans la configuration "RSF" par le nom du chemin de fichier de journalisation ("logpathname").

- Si le fichier "LOGFILE" n'est pas décrit, I'agent générique appelle une fonction du module spécifique ("mstype" est le type du module spécifique) "<mstype>_build_lognames (object_entry, lognames_array)" qui retourne une liste de noms de fichiers à explorer, comme par exemple avec Oracle:
$dbhome/rdbms/log/alert_<sid> .log, 10 $dbhome/networkllog/listener.log,$dbhome/
sqlnet.log, etc ... L'agent générique appelera, par exemple, I'application Tuxedo chaque jour juste après minuit car le nom du fichier "log" contient la date du jour.

La configuration "RSF" est personnalisée par le fichier "error_control_file". Siune erreur est trouvée dans un nom de chemin de fichier de journalisation ("logpathname"), un message est généré vers le fichier "ApplicationJournal" et un message est généré dans le fichier "error_param_<mstype>" sur le noeud à
surveiller et dans le fichier "AS_scanlog" dans le répertoire "GUI_FILES_DIR"
sur le noeud d'administration, de format:

object_id error_code act_class logpathname ligne_contenant_l_erreur.

Puis l'agent générique lance le traitement de la configuration "RSF".

Le module spécifique a prédéfini un paramètre "PARAM_LOG" (qui est ignoré
si l'option "SCANLOG" n'existe pas pour l'objet). Dans ce cas, il effectue une mesure qui consiste à lire un message dans le fichier"error_param_<mstype>"
sur le noeud à surveiller, pour l'identifiant d'objet ("object_id") courant. Le 30 module spécifique gère un point courant par l'identifiant d'objet ("object_id"). Si la condition posée "message trouvé" est vérifiée, I'action associée est appelée,avec comme arguments le contexte classique, le code erreur ("error_code"), la classe d'action ("act_class"), le nom de chemin de fichier de journalisation ("logpathname") et la "ligne_contenant_l_erreur". L'action prédéfinie va permettre d'enregistrer le fait que la ligne a été trouvée. Cette action prédéfinie peut être remplacée par l'administrateur par une action externe.

CA 02209304 l997-06-26 .

En ce qui concerne l'analyse autonome ("offline"), la collecte des paramètres sefait dans un fichier paramètre sur chaque noeud surveillé. Les conditions vraiessont enregistrées dans un fichier d'analyse ("trace") sur chaque noeud surveillé.
Une telle analyse autonome est utilisée pour la gestion d'archives sur une période déterminée, pour l'afffichage d'activités passées, pour les rapports de statistiques (sur un jour/semaine/mois/an et différents zooms sur les informations relatives au "système/DB/TP/EpochBackup/..."). Des statistiques peuvent être ainsi établies par application Tuxedo ou pour une quelconque application, par instance de base de données, par "machine/cluster", etc.. La 0 collecte et l'analyse d'informations pour surveiller que la mise au point ("tuning", SGA, ...) est toujours correcte. L'analyse autonome peut être également réalisée en ramenant les flchiers "paramlog" et "actionlog" de chaque noeud "N_agent" sur le noeud "N_admin". L'analyse autonome peut être de plus réalisée en récupérant les fichiers d'analyse ("trace") des outils comme "DbaXpert" (Db*Activity, space monitor) ou autres.

L'arrêt du surveillant sur le noeud "N_admin" arrête les surveillants sur les noeuds "N_agent".

ll peut être ici rappelé que la configuration de la surveillance est diffusée demanière filtrée à partir du noeud d'administration vers chaque agent autonome de chaque noeud à surveiller au moment du lancement dudit agent autonome, sachant que chaque noeud à surveiller a ses propres fichiers de journalisation de paramètres ("paramlog") et d'action ("actionlog") ainsi que ses propres processus de surveillance, tandis que le noeud d'administration, en tant que tel, posséde de plus les fichiers d'état des objets surveillés ("obj_state") et d'affichage des paramètres ("display_params"). Chaque agent est "réactivable"
automatiquement, ceci signifie que lorsqu'un agent devient actif sur un noeud, il commence par lancer la commande "mkitab" pour se mettre dans la table 30 d'initialisation "inittab" pour pouvoir être réactivé si le processus meurt ou si le noeud tombe en panne puis est réactivé. Quand un agent est désactivé, il lance la commande "rmitab" pour ne pas être réactiver alors que le noeud d'administration ne le connaît plus.

Si un noeud à surveiller est déclaré indisponible ou hors d'usage, ses objets (instance oracle, application Tuxedo, ...) qui étaient à surveiller et qui ont été
basculés sur un noeud de secours ("backup") doivent être suivis par l'agent CA 02209304 l997-06-26 autonome sur le noeud de secours. Une manière simple peut être de modifier le fichier de configuration sur le noeud de secours en remplaçant le nom du noeud indisponible par le nom du noeud de secours, ceci signifiant que toute la configuration est envoyée aux agents sans supprimer les objets non surveillés par un agent sur un noeud donné. Pour cela, la commande:
NewObject old_node_object_ident OBJECTS=(object_ident, object_ident ...), qui permet de faire connaître à l'agent sur le noeud de secours les nouveaux objets à surveiller, objets qui étaient surveillés par l'agent sur le noeud devenu indisponible. Dans "OBJECTS" ne sont spécifiés que les objets (base Oracle, 0 application Tuxedo, ...) qui ont été basculés sur le noeud de secours.

De manière non limitative, les principales caractéristiques de quelques modules spécifiques sont ci-après précisées. Ainsi, relativement au module spécifique à
FSX, il doit être, entre autres, permis:

- de spécifier, pour le procédé selon l'invention, des objets à surveiller relatifs aux systèmes de fichiers ("FILESYSTEM") et relatifs à la pagination ("PAGI NG_SPACE").

- d'appeler et intégrer l'interface GUI de configuration FSX depuis le menu "Configuration" du présent procédé.

- d'autoriser des traitements tels que le contrôle périodique sur l'espace libre du disque et son extension.

- de modifier la période du contrôle ou changer d'action si le contrôle est positif.

- de mesurer des paramètres tels que le coefficient d'occupation et la 30 taille maximale ("free_percent" et "max_size") en utilisant la condition prédéfinie (si free_percent < config_min) et (max_size + incrsize <= config_max) alors action d'extension.

- à l'administrateur de créer des conditions contenant [si (condition) et si 35 (obj1.free_percent c n)] alors CA 02209304 l997-06-26 De même, relativement au module spécifique à l'impression distribuée (DPF), il doit être, entre autres, permis:

- de mesurer des paramètres de performances (nombre de pages par heure, par exemple).

- de demander une impression, de gérer les demandes d'impression, de gérer les queues, les dispositifs.

0 - de démarrer et arrêter le traitement différé sur un noeud.

- de configurer les fichiers de traitement différé.

- de contrôler l'état des fichiers de traitement différé, des queues locales, des dispositifs et des demandes d'impression avec, si un problème est rencontré, la possibilité de mise d'un message dans un fichier "log" exploré par"RSF" qui alarme l'administrateur. Ces contrôles sont faits par un "démon"
"dpf_status_chk" sur chaque noeud du domaine DPF.

- de contrôler l'état des serveurs DPF et générer automatiquement l'action qui corrige l'état anormal. Un outil comme "Ib_admin" trouve les serveurs enregistrés et le "démon" "dpf_server_chk" contrôle que ces serveurs répondent. S'ils ne répondent pas, ils sont automatiquement "tués" et l'enregistrement supprimé alors qu'un message est mis dans le fichier "log"
25 exploré par"RSF" qui lance une alarme: alarme (fenêtre "afffichage d'un message" ou dialogue pour savoir si l'administrateur veut qu'une action proposée soit exécutée (avec résultat visualisé dans une fenêtre), I'état (et des informations détaillées) étant remonté vers l'interface GUI pour visualisation alors que de plus il est possible de changer la période de certains tests (donc 30 documentés et identifiés "param_ident" par le module spécifique), de supprimer un paramètre "contrôle", et de dire si une analyse ("trace") est désirée ou non.Les "démons" sont lancés automatiquement par le système d'exploitation ("process init") et redémarrés automatiquement lors de l'apparition d'une panne. Le nom du chemin "pathname" du fichier"log" exploré par"RSF" est 35 configurable.

CA 02209304 l997-06-26 - d'appeler un outil d'administration dans le menu "Tools" comme DbaXpert, Tux_GUI, Onperf, ...

- de collecter des métriques.

Suit un exemple de mise en oeuvre du module spécifique à DPF:

- paramètre DPF_SPOOLER_STATUS
mesure:
10 npstat -h <uname_node> 1> resulffle 2>npstat_errorfile si ($? != 0) SendMsg (E, npstat failed, npstat_errorfile) rc= $?
sinon traitement resultfile => System ~spooleP <status>
return current_param_value=status in (started, stopped, inconsistent, -) condition 1:
si (GetDelta(current_obj, DPF_SPOOLER_STATUS, &val) != 0) action 1:
20 Si (current_param_value !="started") DisplayState (current_obj, DPF_SPOOLER_STATUS, DPF_SPOOLER, severe_color, current_param_value) SendMsg (A, <spooler> is <current_param_value>) sinon DisplayState (current_obj, DPF_SPOOLER_STATUS, DPF_SPOOLER, ok_color, current_param_value) SendMsg (W, <spooleP is <current_param_value>) - paramètre DPF_QUEUE_INSTATUS
30 mesure:
npstat-h <uname_node> 1> resulffle 2>npstat_errorfile si ($? != 0) SendMsg (E, npstat failed, npstat_errorfile) rc= $?
35 sinon traitement resulffile => Queue <queue_name> <instatus> <outstatus>
<requests>

return current_param_value-i"slalus in (accepting, rejecting) condition1:
si (GetDelta(current_obj, DPF_QUEUE_INSTATUS, &val) != 0) action 1:
Si (current_param_value != "accepting") DisplayState (current_obj, DPF_QUEUE_INSTATUS, DPF_QUEUE, warning_color, current_param_value) SendMsg (W, <queue_name> is <current_param_value>) sinon DisplayState (current_obj, DPF_QUEUE_INSTATUS, DPF_QUEUE, ok_color, current_param_value) SendMsg (W, <queue_name> is <current_param_value>) - paramètre DPF_QUEUE_OUTSTATUS
mesure:
npstat -h <uname_node> 1 > resultfile 2>npstat_errorfile si ($? != 0) SendMsg (E, npstat failed, npstat_errorfile) rc= $?
sinon traitement resultfile => Queue <queue_name> <instatus> <outstatus>
<requests>
return current_param_value=outstatus in (started, stopped) condition1:
si (GetDelta(current_obj, DPF_QUEUE_OUTSTATUS, &val) != 0) action1:
si (current_param_value !="started") DisplayState (current_obj, DPF_QUEUE_OUTSTATUS, DPF_QUEUE, warning_color, current_param_value) SendMsg (W, ~queue_name> is <current_param_value~) sinon DisplayState (current_obj, DPF_QUEUE_OUTSTATUS, DPF_QUEUE, ok_color, current_param_value) SendMsg (W, <queue_name> is <current_param_value>) - paramètre DPF_QUEUE_REQUEST_STATUS
mesure:

npstat -h <uname_node> 1 > resultfile 2>npstat_errorfile si ($? != O) SendMsg (E, npstat failed, npstat_errorfile) rc= $?
sinon traitement resultfile => Queue <queue_name> <instatus> <outstatus>
<requests>
si (requests > O) res_npshow='npshow-S queue=<queue_name> 2>
o npshow_errorfile' si ($? != O) SendMsg (E, npshow failed, npshow_errorfile) return rc=$?
sinon traitement res_npshow => nb_active si (nb_active = O) return current_param_value=waiting sinon return current_param_value=ok sinon return current_param_value=ok 20 condition1:
si (GetDelta(current_obj, DPF_QUEUE_REQUEST_STATUS, &val) != O) action1:
si (current_param_value = "waiting") DisplayState (current_obj, DPF_QUEUE_REQUEST_STATUS, 25 DPF_QUEUE, warning_color, current_param_value) SendMsg (W, there are some requests waiting on <queue_name>
queue, but none is active) - paramètre DPF_DEVICE_STATUS
30 mesure:
npstat-h <uname_node> 1> resultfile 2>npstat_errorf11e si ($? != O) SendMsg (E, npstat failed, npstat_errorfile) rc= $?
35 sinon traitement resultfile => Device <device_name> <status>

CA 02209304 l997-06-26 return current_param_value=status in (idle_busy, disabled, paper_load, unbound, paper_empty, problem, suspended) condition1:
si (GetDelta(current_obj, DPF_DEVICE_STATUS, &val) != 0) action1:
si (current_param_value !="idle_busy") si (current_param_value=("problem" ou "suspended")) DisplayState (current_obj, DPF_DEVICE_STATUS, DPF_DEVICE, severe_color, current_param_value) SendMsg (A, <device_name> device is in abnormal state <current_param_value>) sinon DisplayState (current_obj, DPF_DEVICE_STATUS, DPF_DEVICE, ok_color, current_param_value) SendMsg (W, <device_name> device is <current_param_value>) sinon DisplayState (current_obj, DPF_DEVICE_STATUS, DPF_DEVICE, ok_color, current_param_value) SendMsg (W, cdevice_name> device is <current_param_value>) Egalement, relativement au module spécifique à Oracle, il doit être, entre autres, permis de contrôler l'accès aux objets pour prévenir tout bloquage ou suspension ("abort") de l'application si cette dernière désire accéder à la baseou aux objets Oracle. Certaines informations liées à l'espace ("extents", "free list", ...) sont également contrôlées. De plus la collecte de métriques Oracle est aussi autorisée. Les mesures ne sont effectuées que globalement et non sur un espace table ("tablespace") ou un processus particulier. Cela veut dire qu'il n'est pas possible de mesurer par exemple le nombre de blocs alloués pour l'espace table "SYSTEM". Cependant, I'utilisateur peut créer un paramètre et 30 spécifier la commande à exécuter, comme par exemple, CREATE_PARAM or716, ts_SYSTEM_blocks, MEASURE=(SPEClF_FlLE,'x/y/z.sql'), [TRACE], PERlOD=12h, [CONDITION=((# ~ 320) ACTION=(UNIX_FILE, 'x/y'))];

35 Suit un exemple de mise en oeuvre du module spécifique à Oracle:

Relativement aux paramètres et conditions prédéfinies:

CA 02209304 l997-06-26 ORA_CONNECT: faire une connexion "<connect_string~". La valeur du paramètre est 0 (OK) ou 2 ("connect" impossible). Si la connexion est impossible, I'action par défaut est de relancer une fois la base. Choisir les 5 mesures les plus utiles pour répondre aux objectifs du produit:
prévention/détection de problèmes d'espace ou de performances, aide à
estimer l'évolution de la Base dans le temps. Choix des ou parmi les mesures suivantes ("source DbaXpert" et "server manager").
0 - mesures sur l'activité du serveur:

connected_user_count, session_count, waiting_session_count, current_open_cursors, logical_reads, physical_io, user_commits, recursive_calls.

- mesures sur les fichiers de données d'entrées/sorties:

df_physical_reads, df_physical_writes, df_physical_block_reads, df_physical_block_writes .
- mesures sur la mise au point du cache ("cache_tuning"):

logical_reads, ddc_gets, free_buffer_requested, ddc_getmisses, free_buffers_inspected, physical_reads, ddc_get_hitratio, buffer_cache_hitratio.
- mesures sur les transactions:

active_transactions, rs_gets, rs_waits, redo_writes, redo_blocks_written, user_locks count, user rollbacks._ - mesures sur les états:

cumulated_opened_cursor, parse_count, long_table_scans, short_table_scans, table_fetch_by_rowid, table_scan_rows_gotten, memory_sorts, disk_sorts.

- mesures sur les verrous ("latches"):

CA 02209304 l997-06-26 latch_gets, latch_misses, latch_hitratio.

- mesures sur les processus:

voir v$dispatcher, v$shared_server, v$process.

- mesures sur les espaces table ("tablespaces"): voir "space monitor".

ORA_ROW CHAINING:
Pour chaque table, mesure du nombre de lignes d'enchaînement ("row chaining") puis test par rapport à un seuil, par défaut, I'agent remonte une alarme vers l'historique du produit. DbaXperVspace monitor est appelé et l'alarme TA0 est configurée avec -s ORA_TA0.sh (script à appeler si alarme, qui envoie une alarme vers l'historique du produit) et -d 0 (pas de remontée d'alarme vers DB*Control).

- si une condition explicite n'existe pas sur ce paramètre: faire "monitor table symptom=(TA0)", - si une condition explicite avec "IGNORE" sur ce paramètre: ne rien faire, - si une condition explicite existe sur ce paramètre, non combinée avec d'autres conditions: faire "monitor table symptom=(TA0, seuil [,hystérésis])", - si une condition explicite existe sur ce paramètre, combinée avec d'autres conditions: faire "monitor table symptom=(TA0, seuil [,hystérésis])"

- accès aux objets:

. param_ident=HEALTH. Accès aux bases (par SQL connect, la DB string user/passwd@dbstring dbc/dbc@T:or714 est fournie par l'utilisateur).
Si la connexion est KO: action ORA_CONN_FAIL et enregistrement dans le fichier "actionlog".

. teste que les bases de données ne sont pas démarrées en exclusif (par oubli du "DBA"). Le niveau d'alarme ("info", "warning", "critical") est CA 02209304 l997-06-26 défini par l'utilisateur. Action "ORA_EXC_MOUNT". Enregistrement dans "trace_params".

. si "ARCHIVELOG", teste que le "process background arch"
tourne sinon base de données bloquée dès que les fichiers "redo logs" sont pleins. Action "ORA_ARCH_STOP" et enregistrement dans "trace_params".

. détecte et corrige les archives de fichiers "log" saturées.
Correction par sauvegarde d'un nombre d'archives tel que un seuil d'espace 10 libre est garanti dans le système de fichiers.

- surveille les "processes background", vérifie que l'instance oracle est stoppée normalement ("normal shutdown") si stoppée.

. détecte si SQL*Net est tombé et assure la remise en route.

. détecte si une instance (ses "processes background" et autres) est tombée et assure la remise en route.

- space mgt: il faut prévenir les situations de blocage possible et ne pas s'occuper d'optimiser les performances, ceci est traité par "DbaExpert".

Les blocages peuvent arriver si une table (ou un index, "cluster"", "rollback sgt") a atteint son extention maximale ("MAXEXTENTS"), si la taille maximum d'un 25 fragment est trop petite pour allouer le prochain "extent", si les fichiers de base de données ("dbfiles") sont pleins. Action dans ce cas.

. Par "tablespace", taux de remplissage des dbfiles > seuil x ? Si oui, action "ORA_FREE_TS".

. calcule la taille maximum des fragments. Si inférieure à la valeur du prochain "extent" alors action "ORA_MAX_FRG" et enregistrement dans le fichier "actionlog".

. comparaison du nombre actuel "d'extents" avec le maximum permis "MAXEXTENTS" (défini à la création de l'objet, clause "STORAGE").
Dans ce cas, I'application utilisant la table sera suspendue ("abort"). Il faut CA 02209304 l997-06-26 prévenir cet incident. Action "ORA_MAX_EXT" si l'objet atteint son "maxextents". Enregistrement dans "actionlog".

- état des disques support des fichiers Oracle: une panne disque va se traduire par un return code Oracle (bloc corrompu) et seule l'application le récupère. Si détection, il faut au moins le signaler à l'administrateur.

- ...{ ORA_MAX_FREE_EXTENT_SIZE, object_ident, tablespacename, value_l, value_W, value_C
10 ! ORA_MAX_EXTENTS, object_ident, username.objectname, {sever_l sever_W I sever_C}
! ORA_FULL_DBFILES, object_ident, tablespacename, value_l, value_W, value_C
}

- nombre de transactions oracle par seconde, pour un noeud donné, pour une instance donnée: Afflchage.
Paramètre ora_tps, <object_ident>, command={SQL,'sql_tx'}, FREQUENCY=30 DlSPLAY={'nombre de TPS ora_simuload'};
avec sql_tx: select gets/2 from v$1atch where latch~-20.
condition: si ce taux décroît fortement et que le nombre d'utilisateurs connectés ne décroît pas, alors déclencher une action qui pourrait être zoom plus détaillé de paramètres, enregistrement d'informations, sauvegarde de flchiers "trace", collecte plus fine, . .) - nombre moyen de serveurs partagés oracle, pour un noeud donné, pour une instance donnée. Pas d'affichage.
Paramètre ora_shared_srv, <object_ident>, command={SQL,'sql_srv S0'}, FREQUENCY=30;
avec sql_srv: select count(*) from v$process where program like '%(S0%';

- nombre moyen d'utilisateurs oracle connectés, pour un noeud donné, pour une instance donnée. Pas d'afflchage.
Paramètre ora_sessions, <object_ident>, command={SQL,'sql_sessions'}, FREQUENCY=30;

CA 02209304 l997-06-26 avec sql_sessions: select count(*) from v$session where status='ACTlVE' AND
lockwait is not NULL;

- distributeur ("dispatcher"):

Si un distributeur est très occupé ("delta(v$dispatcher.busy)/delta(t) > 50%") et que le taux d'occupation cpu du noeud n'est pas trop grand (<80%), alors il faudrait ajouter un distributeur de même protocole (action automatique ou recommandation).
Si le temps d'attente/nombre de réponses ("v$queue.waiVv$queue.totalq") dans la queue de réponse du distributeur augmente régulièrement et que le taux d'occupation cpu du noeud n'est pas trop grand (~80%), alors il faudrait ajouter un distributeur de même protocole (action automatique ou recommandation ).

Quand oraSlDCurrentConnectedClients = oraSlDReservedConnections, alors les demandes de connexion distributeur vont vers des serveurs dédiés.

20 Surveiller le nombre de connexions (moyenne, courante) sur chaque distributeur et sur chaque serveur partagé.

Si oraDispatcherRejectedConnections augmente beaucoup, surveiller oraDispatcherState (BLOCKED, READY).

Si oraPrespawnedSrvRejectedConnections augmente beaucoup, surveiller oraPrespawnedState (BLOCKED, READY).

oraPrespawnedSrvProcessorlD est le process ID: faire le lien avec la consommation ressources système.
- entrées/sorties:

si mauvaise répartition des entrées/sorties sur les commandes ("drives"), au niveau système: alors regarder la répartition des entrées/sorties par instance et sur les fichiers de base de données.

CA 02209304 l997-06-26 De même, relativement au module spécifique à Tuxedo, il doit être, entre autres, permis de surveiller l'état des applications Tuxedo, des serveurs, des queues, du réseau en utilisant la commande "tmadmin psr, psc, pq, print_net".
Pour Tuxedo, les serveurs adminislldlirs ("BBL", "DBBL", "Bridge") et les applicatifs sont surveillés. L'accès aux differents noeuds de l'application Tuxedo (partitionnement du réseau) ainsi que les queues utilisées par l'application sont vérifiés. Si l'application appelle des transactions d'une machine déterminée, ladite machine déterminée est vérifiée.

10 Suit un exemple de mise en oeuvre du module spécifique à Tuxedo :génération dans le fichier"objstate", via la fonction de base "DisplayState":

TUXEDO:<severity_level>:<appname>:NlL:<global_id>
TUX_MASTER:<severity_level>:<node>:<appname>:<tux_father_id>
[TUX_NODE:<severity_level>:<node>:<appname>:<tux_father_id>]...
[TUX_QUEUE:<severity_level>:<qname>:~appname>:<tux_father_id>] . . .
[TUX_DOMAlN:<severity_level>:<domain_name>:<appname>:<tux_father_id>]
. . .
avec la ligne TUXEDO est générée en fonction des lignes filles TUX_MASTER, TUX_NODE ...
TUX_NODE: une ligne par Imid autre que master.
TUX_QUEUE: une ligne par QSPACE (tbc).
TUX_DOMAIN: une ligne par domaine.

- paramètre TUX_xx_STATUS
. . .
- nombre de demandes de service (transactions) par seconde, pour un noeud donné, pour une application Tuxedo donnée: cumuler le #RqDone des serveurs autres que "BBL", "DBBL", "BRIDGE", "TMS*". Affichage.
Paramètre SVC_<node>, <object_ident>, command={SHELL,'tmadmin_srv node'}, FREQUENCY=30 DlSPLAY={'nombre de TPS simuload'};;
avec tmadmin_srv: tmadmin ...psr + filtre sur noeud + delta (#RqDone) par rapport à la dernière collecte, division par la fréquence.

CA 02209304 l997-06-26 - nombre moyen de clients actifs, pour un noeud donné, pour une application Tuxedo donnée. Pas d'affichage.
Paramètre CLT_<node>, cobject_ident>, command={SHELL,'tmadmin_clt node'}, FREQUENCY=30;
avec tmadmin_clt: tmadmin ...pclt + filtre sur noeud + nombre de lignes client occupées (BUSY).

- pour un serveur donné sur un noeud donné: le nombre moyen de requêtes en queue, par queue. Le faire pour tous les serveurs. Pas d'affichage.
10 Permet de savoir si le nombre de serveurs dupliqués est adapté. Si la moyenne de requêtes en queue est > 10 ( exemple 10 est un peu plus grand que le nombre moyen de clients actifs demandeurs d'un service du serveur) alors action pour ajouter un serveur (jusqu'à max).
Paramètre SRVREQ_<srvname>_cnode>, <object_ident>, command={SHELL,'tmadmin_srvreq node srvname'}, FREQUENCY=60 CONDITION_S={&1 > 10};
avec tmadmin_srvreq: tmadmin ...pq + filtre sur srvname + champ Queued.
Cumuler le "Queued" sur les n serveurs sur le noeud, diviser par le nombre de queues.
avec l'action:
SRVREQ_<srvname>_<node>:
si cpu <node> < 80% then tmboot-s <srvname> -i num (num calculé avec tmadmin psr pour connaître les srvid actuels).

- pour un serveur donné sur un noeud donné: le nombre moyen de serveurs applicatifs sur un noeud donné, pour une application Tuxedo donnee. Pas d'affichage. A corréler avec la taille de la queue.
Paramètre SRVNB_<srvname> <node>, <object ident>,_ command={SHELL,'tmadmin_srvnb node srvname'}, FREQUENCY=60;
30 avec tmadmin_srvnb: tmadmin ...psr + filtre sur srvname.

- pour un service donné sur un noeud donné, pour une application Tuxedo donnée: le nombre de requêtes faites par quart d'heure. Le faire pour tous les services. Pas d'affichage. Pour mesurer l'utilisation des services.
Paramètre SVCDREQ_<svcname>_<node>, <object_ident>, MEASURE={UNIX_FILE ,'tmadmin_svcdreq node svcname'}, PERIOD=900;

CA 02209304 l997-06-26 avec tmadmin_svcdreq: tmadmin ...psc + filtre sur svcname + delta (#Done) par rapport à la dernière collecte, division par la fréquence. Cumuler le #Done si le service est sur n serveurs sur le noeud.

L'administrateur Tuxedo affecte un poids aux services et il s'en sert pour l'équilibrage de charge. Ces poids ne sont pas forcément bien choisis, surtout dans le temps. On peut prévoirr que ces poids soient ajustés automatiquement en fonction de critères administrateur.

10 Aussi, relativement au module spécifique à "xcp2", il doit être, entre autres, permis d'utiliser la commande "lusr/xcp21upldac_1u62 -a DSPSESST" pour connaître l'état du groupe ("pool") "xcp2".

Enfin, relativement au module spécifique "système", il doit être, entre autres, permis de contrôler et mesurer le temps cpu, I'espace disque, les entrées/sorties, la mémoire, le débit télécom, le nombre d'utilisateurs, la pagination, le réseau, etc.. Il est ainsi par exemple possible de mesurer le taux d'occupation cpu par seconde, avec afffichage par défaut, ou le taux d'entrées/sorties par seconde, ou encore d'identifier les processus les plus consommateurs de cpu et de les collecter pour réaliser une analyse autonome ("offline", tbc).

Pour conclure, suivant le présent procédé de surveillance, I'utilisation d'agents autonomes permet de s'assurer du bon fonctionnement des applications surveillées sur l'ensemble des noeuds à l'aide d'un traitement décisionnel autonome et efficace appliqué au plus près des objets à traiter, de faire remonter lorsque c'est nécessaire et ceci très rapidement, des noeuds à
surveiller vers le noeud d'administration, les informations utiles et de lancer de manière automatique des actions sur certaines conditions ou de conseiller éventuellement une action. De cette manière, une surveillance effficace des objets fonctionnant sur la pluralité de noeuds est assurée et une augmentation significative des performanvces est obtenue du fait de la capacité
d'indépendance offerte dans leur travail aux divers agents autonomes, le procédé ici appliqué permettant de mesurer des paramètres spécifiques de chaque objet, de tester des conditions sur ces paramètres relativement à des seuils puis d'exécuter une action pour prévenir d'un problème, pour reconfigurer ou corriger. Des mesures sont collectées pour réaliser une analyse CA 02209304 l997-06-26 en temps différé dans le but d'un examen statistique de l'activité surveillée. Ces mesures collectées concernent tous les types d'objets à surveiller, par exemple ici des instances telles que des bases de données comme Oracle, Informix, les applications comme Tuxedo, différentes ou une quelconque machine, I'impression distribuée (DPF), etc.. Egalement, I'aspect synthétique d'un objet global défini de manière générique, offre une très grande liberté d'action et autorise l'exploitation efficace de la notion d'arborescence avec une grande précision relativement à l'évolution des grains de visualisation obtenus. Des corrélations peuvent être réalisées entre plusieurs mesures différentes, en 10 particulier, entre divers types d'objets, c'est-à-dire qu'une corrélation intertype est ainsi avantageusement proposée. Ce procédé est en outre portable sur différentes plate-formes, du fait de sa totale indépendance relativement à son environnement d'exécution, la visualisation se faisant au moyen d'une interface graphique propre audit procédé. Ce procédé est de plus prévu pour autoriser tout interfaçage avec un quelconque système d'administration pour offrir à
l'utilisateur une administration intégrée, les agents autonomes accédant aux différentes informations à travers les protocoles standards existants.

Claims (11)

Revendications
1. Procédé de surveillance d'une pluralité de types d'objets sur une pluralité de noeuds comprenant un noeud d'administration dans un système informatique, caractérisé en ce que, la surveillance est configurée puis diffusée de manière filtrée à partir du noeud d'administration vers des agents autonomes, un agent autonome étant installé sur chaque noeud à surveiller pour, en offrant une corrélation intertype, soit traiter au plus près les différents types d'objets ou ensemble d'objets d'un domaine appelé objet global défini de manière générique, soit remonter des informations à visualiser vers l'interface graphique du noeud d'administration, chaque agent comportant une pluralité de modules spécifiques propres aux différents types d'objets ou à un domaine particulier, chaque module spécifique mesurant des paramètres statiques et dynamiques, particuliers au type d'objet qu'il surveille et collectant lesdites mesures, testant des conditions sur lesdits paramètres relativement à des seuils prédéfinis et déclenchant éventuellement des actions associées auxdites conditions testées, les paramètres, les conditions et les actions étant modifiables par l'utilisateur du noeud d'administration.
2. Procédé de surveillance selon la revendication 1, pour l'application duquel le noeud d'administration comporte entre autres, une interface graphique utilisateur pour la visualisation des objets sélectionnés et l'afffichage de courbes de valeurs de paramètres, un fichier de configuration qui contient l'ensemble des configurations des objets avec la description desdits objets de même que l'ensemble des paramètres prédéfinis statiques ou dynamiques, ce fichier étant analysé et dynamiquement modifié ou complété, des fichiers d'état des noeuds à surveiller ainsi que les fichiers d'afffichage des paramètres, les paramètres mesurés étant stockés dans un fichier d'analyse pour permettre leur affichage par l'intermédiaire de l'interface graphique.
3. Procédé de surveillance selon la revendication 1 ou 2, pour l'application duquel l'agent autonome installé sur chaque noeud à surveiller se compose principalement d'un agent générique en relation avec une pluralité de modules spécifiques chacun propre à un type d'objet ou à un domaine particulier, de fichiers contenant les fonctions de base utilisées, chaque noeud à surveiller possédant de plus ses propres fichiers de paramètres, de conditions et d'actions associées pour contrôler sa propre surveillance et ainsi autoriser le traitement au plus près des différents types d'objets en mesurant les paramètres, en évaluant les conditions et en lançant les actions liées aux conditions et ceci pour tous les objets décrits.
4. Procédé de surveillance selon les revendications 2 ou 3, pour l'application duquel, lorsqu'une condition non liée à un paramètre porte sur un ou plusieurs paramètres et donc sur un ou plusieurs objets, ladite condition est traitée sur le noeud d'administration par un agent générique qui traite les conditions sur plusieurs noeuds, cet agent générique "d'administration" lançant l'action sur lenoeud d'administration.
5. Procédé de surveillance selon la revendication 4, pour lequel le traitement de l'agent générique "d'administration" se fait de la manière suivante:

- lecture de son fichier de configuration, analyse syntaxique et sémantique, - fusion du fichier de configuration fourni par le noeud d'administration et du fichier de configuration fourni par les modules spécifiques, - envoi du fichier de configuration résultant à chaque agent en filtrant relativement aux objets à surveiller sur le noeud et en tenant compte des problèmes inhérents aux noeuds en panne ou aux noeuds prévus pour la sauvegarde des données d'un noeud en panne sur un autre noeud.
6. Procédé de surveillance selon la revendication 5, pour lequel le traitement de l'agent générique d'un noeud à surveiller se fait de la manière suivante:

- lecture de son fichier de configuration, seuls les objets locaux à ce noeud étant traités, - construction de la table d'objets, - construction de la table de configuration des paramètres, - construction de la table des valeurs de paramètres:

* chaque paramètre de chaque objet ayant au moins un emplacement pour mettre sa/ses valeur(s), le nombre d'emplacements à
reserver pour ce paramètre de cet objet étant calculé, - construction de la table des conditions multiples, - fourniture des fonctions de base à l'usage des modules spécifiques pour certaines et pour les actions externes pour d'autres, - lancement des modules spécifiques:

* certains modules spécifiques possédant un traitement propre, alors que d'autres sont regroupés dans un seul traitement, *seuls les modules ayant un objet à surveiller étant lancés, - configuration d'un service de surveillance de fichiers de manière à
permettre le traitement de l'exploration des fichiers de journalisation de tous les objets décrits, - évaluation de chaque condition multiple, avec sa période:

* chercher les valeurs des paramètres dans la table des valeurs de paramètres ou via une fonction de base, * si la condition multiple est vérifiée, lancer l'action interne ou externe, - surveillance régulière du bon fonctionnement des modules spécifiques, envoi d'un paramètre spécial et attente de la réponse.
7. Procédé de surveillance selon la revendication 6, pour lequel le traitement d'un module spécifique se fait de la manière suivante:

- exploration de la table de configuration des paramètres en ne traitant que ses propres objets:

* paramètres déjà triés par période croissante, * pour chaque paramètre de chaque objet, selon la période:

. faire la mesure en utilisant la commande interne (paramètre prédéfini) ou externe, la mettre dans la table des valeurs de paramètres, . si une analyse est effectuée, mettre la valeur dans le fichier d'analyse global de l'agent autonome, . si un affichage est demandé, afficher la valeur ou l'état, . évaluer la condition simple, si elle existe, lancer l'action (interne ou externe) si la condition est vraie, - traitement des demandes inopinées de mesure en temps réel de paramètre.
8. Procédé de surveillance selon la revendication 7, dans lequel, lorsqu'une action, prédéfinie ou externe demande la valeur d'un paramètre d'un objet surveillé par un autre noeud que le noeud où est exécutée l'action, la fonction de base qui demande la valeur transfère cette demande au noeud d'administration qui la dirige alors sur le noeud adéquat alors que la valeur est retournée en sens inverse.
9. Procédé de surveillance selon la revendication 8, dans lequel, une des fonctions de base présentée est prévue pour ramener sur le noeud d'administration les fichiers de journalisation de paramètres ainsi que ceux d'actions de chaque noeud surveillé, pour l'analyse indépendante réalisée par le noeud d'administration.
10. Procédé de surveillance selon l'une des revendications précédentes, pour lequel le traitement d'un paramètre est effectué de la sorte:

- si le paramètre est validé et la période déterminée alors la mesure est exécutée, - si une condition sur un paramètre existe et que le paramètre est validé, alors la condition est évaluée
11. Procédé de surveillance selon l'une des revendications précédentes, pour lequel le traitement des actions est réalisé comme suit:

- l'agent générique et les modules spécifiques demandent à lancer une action (prédéfinie ou fournie par l'extérieur), - toute action reçoit des arguments qui représentent le contexte qui déclenche l'action:

. dans le cas d'une condition multiple, l'identifiant d'objet, l'identifiant du paramètre, le numéro de la condition, . dans le cas d'une condition simple, la valeur mesurée du paramètre, son seuil et son hystérésis, l'opérateur.
CA002209304A 1996-06-27 1997-06-26 Procede de surveillance d'une pluralite de types d'objets d'une pluralite de noeuds a partir d'un noeud d'administration dans un systeme informatique Abandoned CA2209304A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9608019 1996-06-27
FR9608019A FR2750517B1 (fr) 1996-06-27 1996-06-27 Procede de surveillance d'une pluralite de types d'objets d'une pluralite de noeuds a partir d'un noeud d'administration dans un systeme informatique

Publications (1)

Publication Number Publication Date
CA2209304A1 true CA2209304A1 (fr) 1997-12-27

Family

ID=9493482

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002209304A Abandoned CA2209304A1 (fr) 1996-06-27 1997-06-26 Procede de surveillance d'une pluralite de types d'objets d'une pluralite de noeuds a partir d'un noeud d'administration dans un systeme informatique

Country Status (5)

Country Link
US (1) US6122664A (fr)
EP (1) EP0822498A1 (fr)
JP (1) JPH1091482A (fr)
CA (1) CA2209304A1 (fr)
FR (1) FR2750517B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112882901A (zh) * 2021-03-04 2021-06-01 中国航空工业集团公司西安航空计算技术研究所 一种分布式处理系统健康状态智能监控器

Families Citing this family (225)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421719B1 (en) * 1995-05-25 2002-07-16 Aprisma Management Technologies, Inc. Method and apparatus for reactive and deliberative configuration management
US6714976B1 (en) * 1997-03-20 2004-03-30 Concord Communications, Inc. Systems and methods for monitoring distributed applications using diagnostic information
US20100030423A1 (en) * 1999-06-17 2010-02-04 Paxgrid Telemetric Systems, Inc. Automotive telemetry protocol
US20020150050A1 (en) * 1999-06-17 2002-10-17 Nathanson Martin D. Automotive telemetry protocol
US6237034B1 (en) * 1997-11-04 2001-05-22 Nortel Networks Limited Method and system for transmitting and receiving alarm notifications and acknowledgements within a telecommunications network
FR2773241B1 (fr) * 1997-12-30 2001-09-07 Bull Sa Procede d'assistance a l'administration d'une application distribuee basee sur un fichier binaire de configuration dans un systeme informatique
US6418445B1 (en) * 1998-03-06 2002-07-09 Perot Systems Corporation System and method for distributed data collection and storage
JP2000112707A (ja) * 1998-04-07 2000-04-21 Hewlett Packard Co <Hp> 周辺コンポ―ネント監視装置
WO1999059039A1 (fr) * 1998-05-12 1999-11-18 Mitsubishi Denki Kabushiki Kaisha Equipement a commande numerique pour machine-outil
US20030120775A1 (en) * 1998-06-15 2003-06-26 Compaq Computer Corporation Method and apparatus for sending address in the message for an e-mail notification action to facilitate remote management of network devices
JP2000010822A (ja) * 1998-06-25 2000-01-14 Yokogawa Electric Corp 分散オブジェクトのダウン検出装置
US6356917B1 (en) * 1998-07-17 2002-03-12 Ncr Corporation Monitoring and raising alerts for database jobs
US6453346B1 (en) * 1998-07-17 2002-09-17 Proactivenet, Inc. Method and apparatus for intelligent storage and reduction of network information
FR2781583B1 (fr) * 1998-07-22 2000-12-01 Cegelec Architecture de communication pour systeme industriel de conduite de procede et unite programmee correspondante
FR2786581B1 (fr) * 1998-11-27 2001-08-10 Bull Sa Dispositif et procede d'optimisation de surveillance de seuils
US6772207B1 (en) * 1999-01-28 2004-08-03 Brocade Communications Systems, Inc. System and method for managing fibre channel switching devices
US6857013B2 (en) * 1999-01-29 2005-02-15 Intermec Ip.Corp. Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network
US20050274801A1 (en) * 1999-01-29 2005-12-15 Intermec Ip Corp. Method, apparatus and article for validating ADC devices, such as barcode, RFID and magnetic stripe readers
WO2000045266A1 (fr) * 1999-02-01 2000-08-03 Touch Technologies, Inc. Procede et appareil d'ajustement automatise et de recueil de configuration pour systemes logiques
US6553369B1 (en) * 1999-03-11 2003-04-22 Oracle Corporation Approach for performing administrative functions in information systems
US7433941B1 (en) * 1999-03-12 2008-10-07 Nortel Networks Limited Method and apparatus for accessing network information on a network device
US6636905B1 (en) * 1999-03-26 2003-10-21 Unisys Corporation Method for analyzing input/output performance of a data processing system
US6332142B1 (en) * 1999-04-26 2001-12-18 3Com Corporation Management information base attribute discriminator
US6493323B1 (en) * 1999-05-14 2002-12-10 Lucent Technologies Inc. Asynchronous object oriented configuration control system for highly reliable distributed systems
US7200651B1 (en) * 1999-07-02 2007-04-03 Cisco Technology, Inc. Dynamic configuration and up-dating of integrated distributed applications
US7640325B1 (en) * 1999-07-09 2009-12-29 Lsi Corporation Methods and apparatus for issuing updates to multiple management entities
US6681243B1 (en) * 1999-07-27 2004-01-20 Intel Corporation Network environment supporting mobile agents with permissioned access to resources
US6385552B1 (en) * 1999-08-10 2002-05-07 Tyco Telecommunications (Us) Inc. Method for collecting test measurements
US6976062B1 (en) * 1999-09-22 2005-12-13 Intermec Ip Corp. Automated software upgrade utility
JP3461146B2 (ja) * 1999-09-28 2003-10-27 株式会社ジャストシステム 時間認証システム、ネットワークシステム、サーバ装置及びクライアント装置、並びに記録媒体
US6658586B1 (en) 1999-10-07 2003-12-02 Andrew E. Levi Method and system for device status tracking
US6658585B1 (en) 1999-10-07 2003-12-02 Andrew E. Levi Method and system for simple network management protocol status tracking
US6636983B1 (en) * 1999-10-07 2003-10-21 Andrew E. Levi Method and system for uniform resource locator status tracking
US6833787B1 (en) 1999-10-07 2004-12-21 Asap Software Express, Inc. Method and system for device tracking
US6477667B1 (en) 1999-10-07 2002-11-05 Critical Devices, Inc. Method and system for remote device monitoring
US20030074301A1 (en) * 1999-11-01 2003-04-17 Neal Solomon System, method, and apparatus for an intelligent search agent to access data in a distributed network
US20020069134A1 (en) * 1999-11-01 2002-06-06 Neal Solomon System, method and apparatus for aggregation of cooperative intelligent agents for procurement in a distributed network
US6700590B1 (en) * 1999-11-01 2004-03-02 Indx Software Corporation System and method for retrieving and presenting data using class-based component and view model
US20020055903A1 (en) * 1999-11-01 2002-05-09 Neal Solomon System, method, and apparatus for a cooperative communications network
US20020046157A1 (en) * 1999-11-01 2002-04-18 Neal Solomon System, method and apparatus for demand-initiated intelligent negotiation agents in a distributed network
US6829639B1 (en) * 1999-11-15 2004-12-07 Netvision, Inc. Method and system for intelligent global event notification and control within a distributed computing environment
US6594695B1 (en) * 1999-12-08 2003-07-15 Covad Communitions Group, Inc. Network profiling system
FR2802676B1 (fr) * 1999-12-16 2002-02-08 Bull Sa Procede et dispositif de deploiement d'une supervision distribuee
US7054892B1 (en) 1999-12-23 2006-05-30 Emc Corporation Method and apparatus for managing information related to storage activities of data storage systems
GB2359691B (en) * 2000-02-23 2002-02-13 Motorola Israel Ltd Telecommunication network management
US6904593B1 (en) * 2000-03-24 2005-06-07 Hewlett-Packard Development Company, L.P. Method of administering software components using asynchronous messaging in a multi-platform, multi-programming language environment
US8145798B1 (en) 2000-05-01 2012-03-27 Novell, Inc. System and method for automatic provisioning of onsite networking services
US7051098B2 (en) * 2000-05-25 2006-05-23 United States Of America As Represented By The Secretary Of The Navy System for monitoring and reporting performance of hosts and applications and selectively configuring applications in a resource managed system
US6973580B1 (en) * 2000-07-13 2005-12-06 International Business Machines Corporation System and method for alerting computer users of digital security intrusions
US7610588B1 (en) * 2000-10-27 2009-10-27 Global 360, Inc. Distributed application management software
US7249170B2 (en) 2000-12-06 2007-07-24 Intelliden System and method for configuration, management and monitoring of network resources
US20020069271A1 (en) * 2000-12-06 2002-06-06 Glen Tindal Event manager for network operating system
US8219662B2 (en) 2000-12-06 2012-07-10 International Business Machines Corporation Redirecting data generated by network devices
US6978301B2 (en) 2000-12-06 2005-12-20 Intelliden System and method for configuring a network device
US7054946B2 (en) * 2000-12-06 2006-05-30 Intelliden Dynamic configuration of network devices to enable data transfers
US20040205718A1 (en) * 2000-12-11 2004-10-14 Sun Microsystems, Inc. Self-tuning object libraries
US20020120732A1 (en) * 2001-02-27 2002-08-29 Lee Daniel Joseph Open internet protocol services platform
US8402129B2 (en) * 2001-03-21 2013-03-19 Alcatel Lucent Method and apparatus for efficient reactive monitoring
US7150037B2 (en) * 2001-03-21 2006-12-12 Intelliden, Inc. Network configuration manager
US7082465B1 (en) * 2001-03-27 2006-07-25 Cisco Technology, Inc. Web based management of host computers in an open protocol network
US7506047B2 (en) * 2001-03-30 2009-03-17 Bmc Software, Inc. Synthetic transaction monitor with replay capability
US7792948B2 (en) * 2001-03-30 2010-09-07 Bmc Software, Inc. Method and system for collecting, aggregating and viewing performance data on a site-wide basis
JP2003036242A (ja) * 2001-05-16 2003-02-07 Fujitsu Ltd サーバマシン、クライアントマシン、サーバプログラム記憶媒体、クライアントプログラム記憶媒体、サーバプログラム、およびクライアントプログラム
US7418482B1 (en) * 2001-05-17 2008-08-26 Palmsource, Inc. Web-based task assistants for wireless personal devices
EP1415377A4 (fr) * 2001-07-06 2007-05-30 Computer Ass Think Inc Systeme et procede de gestion de groupes bases sur les objets
JP2003030141A (ja) * 2001-07-13 2003-01-31 Hitachi Ltd 協調型アウトソーシング・サービス・システム
JP4198053B2 (ja) * 2001-08-04 2008-12-17 コンティキ・インコーポレイテッド コンピューターネットワークを通るコンテンツの配給送達を容易にする方法および装置
WO2003014936A1 (fr) * 2001-08-06 2003-02-20 Eg Innovations Pte. Ltd. Procede permettant de fournir a une pluralite d'utilisateurs un controle en temps reel d'elements d'un reseau de donnees
US7200548B2 (en) * 2001-08-29 2007-04-03 Intelliden System and method for modeling a network device's configuration
US8296400B2 (en) 2001-08-29 2012-10-23 International Business Machines Corporation System and method for generating a configuration schema
US7299243B2 (en) * 2001-09-19 2007-11-20 Bmc Software, Inc. System and method for controlling free space distribution by key range within a database
US7251693B2 (en) * 2001-10-12 2007-07-31 Direct Computer Resources, Inc. System and method for data quality management and control of heterogeneous data sources
US20030131343A1 (en) * 2001-10-19 2003-07-10 French Ronan J. Framework for system monitoring
US20030079053A1 (en) * 2001-10-23 2003-04-24 Kevin Burns System and method for evaluating effectiveness of network configuration management tools
US7647422B2 (en) 2001-11-06 2010-01-12 Enterasys Networks, Inc. VPN failure recovery
US7065562B2 (en) * 2001-11-26 2006-06-20 Intelliden, Inc. System and method for generating a representation of a configuration schema
US20030110252A1 (en) * 2001-12-07 2003-06-12 Siew-Hong Yang-Huffman Enhanced system and method for network usage monitoring
US6789117B1 (en) * 2001-12-21 2004-09-07 Networks Associates Technology, Inc. Enterprise network analyzer host controller/agent interface system and method
US7154857B1 (en) 2001-12-21 2006-12-26 Mcafee, Inc. Enterprise network analyzer zone controller system and method
US6754705B2 (en) * 2001-12-21 2004-06-22 Networks Associates Technology, Inc. Enterprise network analyzer architecture framework
US20030126109A1 (en) * 2002-01-02 2003-07-03 Tanya Couch Method and system for converting message data into relational table format
US20030140150A1 (en) * 2002-01-14 2003-07-24 Dean Kemp Self-monitoring service system with reporting of asset changes by time and category
US20030135382A1 (en) * 2002-01-14 2003-07-17 Richard Marejka Self-monitoring service system for providing historical and current operating status
US7120621B2 (en) * 2002-01-29 2006-10-10 International Business Machines Corporation Object-oriented framework for generic adaptive control
AU2003213113A1 (en) * 2002-02-21 2003-09-09 Precise Software Solutions, Inc. System and method for analyzing input/output activity on local attached storage
US7606938B2 (en) 2002-03-01 2009-10-20 Enterasys Networks, Inc. Verified device locations in a data network
US20030195922A1 (en) * 2002-04-10 2003-10-16 Alcatel SNMP trap and inform shaping mechanism
US7305395B1 (en) * 2002-04-24 2007-12-04 Oracle International Corporation Centralized storage and management of database parameters
US7120833B2 (en) * 2002-04-26 2006-10-10 Alcatel Error codes in Agent X
US7194566B2 (en) * 2002-05-03 2007-03-20 Sonics, Inc. Communication system and method with configurable posting points
US7254603B2 (en) * 2002-05-03 2007-08-07 Sonics, Inc. On-chip inter-network performance optimization using configurable performance parameters
US7356633B2 (en) * 2002-05-03 2008-04-08 Sonics, Inc. Composing on-chip interconnects with configurable interfaces
US6959329B2 (en) * 2002-05-15 2005-10-25 Intelliden System and method for transforming configuration commands
US6915297B2 (en) * 2002-05-21 2005-07-05 Bridgewell, Inc. Automatic knowledge management system
US20030225793A1 (en) * 2002-05-30 2003-12-04 Capital One Financial Corporation System and method for transferring and managing data files using initialization parameter files
US7137074B1 (en) * 2002-05-31 2006-11-14 Unisys Corporation System and method for displaying alarm status
US20030233287A1 (en) * 2002-06-12 2003-12-18 Dean Sadler Internet-based apparatus and method of tracking and reporting assets
DE10226864A1 (de) 2002-06-15 2004-01-15 Deutsche Telekom Ag Verfahren und Vorrichtung zum Monitoring/Controlling von Qualitätsvereinbarungen
US7877435B2 (en) * 2002-06-20 2011-01-25 International Business Machines Corporation Method and system for transaction pipeline decomposition
US20040003067A1 (en) * 2002-06-27 2004-01-01 Daniel Ferrin System and method for enabling a user interface with GUI meta data
US8140635B2 (en) 2005-03-31 2012-03-20 Tripwire, Inc. Data processing environment change management methods and apparatuses
US7316016B2 (en) * 2002-07-03 2008-01-01 Tripwire, Inc. Homogeneous monitoring of heterogeneous nodes
US7464145B2 (en) 2002-07-11 2008-12-09 Intelliden, Inc. Repository-independent system and method for asset management and reconciliation
US20040010716A1 (en) * 2002-07-11 2004-01-15 International Business Machines Corporation Apparatus and method for monitoring the health of systems management software components in an enterprise
US7209963B2 (en) * 2002-07-11 2007-04-24 International Business Machines Corporation Apparatus and method for distributed monitoring of endpoints in a management region
US7366893B2 (en) * 2002-08-07 2008-04-29 Intelliden, Inc. Method and apparatus for protecting a network from attack
US7461158B2 (en) 2002-08-07 2008-12-02 Intelliden, Inc. System and method for controlling access rights to network resources
US7558847B2 (en) * 2002-09-13 2009-07-07 Intelliden, Inc. System and method for mapping between and controlling different device abstractions
US8635328B2 (en) * 2002-10-31 2014-01-21 International Business Machines Corporation Determining time varying thresholds for monitored metrics
US7376732B2 (en) * 2002-11-08 2008-05-20 Federal Network Systems, Llc Systems and methods for preventing intrusion at a web host
US7353538B2 (en) 2002-11-08 2008-04-01 Federal Network Systems Llc Server resource management, analysis, and intrusion negation
US20040093401A1 (en) * 2002-11-13 2004-05-13 International Business Machines Corporation Client-server text messaging monitoring for remote computer management
US20050005202A1 (en) * 2002-11-22 2005-01-06 Burt Christopher J. Proactive support of a healthcare information system
US7493376B1 (en) * 2002-12-24 2009-02-17 Cisco Technology, Inc. Method and apparatus for monitoring responses of configuration commands using a MIB-based approach
US7603441B2 (en) * 2002-12-27 2009-10-13 Sonics, Inc. Method and apparatus for automatic configuration of multiple on-chip interconnects
US20040199618A1 (en) * 2003-02-06 2004-10-07 Knight Gregory John Data replication solution
EP1471428B1 (fr) * 2003-04-23 2006-10-25 Comptel Corporation Médiation d'événements
GB0311564D0 (en) * 2003-05-20 2003-06-25 Ibm Monitoring operational data in data processing systems
US7689628B2 (en) * 2005-05-19 2010-03-30 Atul Garg Monitoring several distributed resource elements as a resource pool
US20050010388A1 (en) * 2003-07-11 2005-01-13 International Business Machines Corporation Dynamic online multi-parameter optimization system and method for autonomic computing systems
CA2435655A1 (fr) * 2003-07-21 2005-01-21 Symbium Corporation Administration integree de systeme
US7526541B2 (en) * 2003-07-29 2009-04-28 Enterasys Networks, Inc. System and method for dynamic network policy management
US20050027714A1 (en) * 2003-07-31 2005-02-03 International Business Machines Corporation Scheduling and execution of program jobs in computer system
US20050036483A1 (en) * 2003-08-11 2005-02-17 Minoru Tomisaka Method and system for managing programs for web service system
US7472184B2 (en) * 2003-09-19 2008-12-30 International Business Machines Corporation Framework for restricting resources consumed by ghost agents
US7337363B2 (en) * 2003-09-19 2008-02-26 International Business Machines Corporation Ghost agents within a grid environment
US7516443B2 (en) * 2003-09-19 2009-04-07 International Business Machines Corporation Performing tests with ghost agents
US7480914B2 (en) * 2003-09-19 2009-01-20 International Business Machines Corporation Restricting resources consumed by ghost agents
US7490326B2 (en) * 2003-09-19 2009-02-10 International Business Machines Corporation Gathering operational metrics within a grid environment using ghost agents
US7386837B2 (en) * 2003-09-19 2008-06-10 International Business Machines Corporation Using ghost agents in an environment supported by customer service providers
US7284156B2 (en) * 2003-09-19 2007-10-16 International Business Machines Corporation Debugging a grid environment using ghost agents
US7493387B2 (en) * 2003-09-19 2009-02-17 International Business Machines Corporation Validating software in a grid environment using ghost agents
US7493386B2 (en) * 2003-09-19 2009-02-17 International Business Machines Corporation Testing applications within a grid environment using ghost agents
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7904428B2 (en) 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US20050080759A1 (en) * 2003-10-08 2005-04-14 International Business Machines Corporation Transparent interface to a messaging system from a database engine
US20050132032A1 (en) * 2003-12-15 2005-06-16 Bertrand Daniel W. Autonomous agent-based system management
US7580403B2 (en) 2004-02-26 2009-08-25 Enterasys Networks, Inc. Status transmission system and method
DE102004011201B4 (de) * 2004-03-04 2006-10-12 Siemens Ag Verfahren zum Management und zur Überwachung des Betriebs mehrerer in wenigstens ein Kommunikationsnetz eingebundener verteilter Hard- und/oder Softwaresysteme sowie System zur Durchführung des Verfahrens
AT500532B1 (de) * 2004-03-09 2009-07-15 Fronius Int Gmbh Schweissgerätesteuerung
US7539702B2 (en) * 2004-03-12 2009-05-26 Netapp, Inc. Pre-summarization and analysis of results generated by an agent
EP2339469A1 (fr) * 2004-03-13 2011-06-29 Adaptive Computing Enterprises, Inc. Système et procédé pour auto-optimiser la réservation du temps de ressources informatiques
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US7809825B2 (en) * 2004-05-05 2010-10-05 International Business Machines Corporation Dissolving network resource monitor
EP1769352B1 (fr) * 2004-05-21 2013-03-20 Computer Associates Think, Inc. Procede et dispositif pour gestion dynamique de ressources d'unite centrale
US7979857B2 (en) * 2004-05-21 2011-07-12 Computer Associates Think, Inc. Method and apparatus for dynamic memory resource management
US7640317B2 (en) * 2004-06-10 2009-12-29 Cisco Technology, Inc. Configuration commit database approach and session locking approach in a two-stage network device configuration process
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US20060023627A1 (en) * 2004-08-02 2006-02-02 Anil Villait Computing system redundancy and fault tolerance
US7945945B2 (en) 2004-08-06 2011-05-17 Enterasys Networks, Inc. System and method for address block enhanced dynamic network policy management
US8700671B2 (en) * 2004-08-18 2014-04-15 Siemens Aktiengesellschaft System and methods for dynamic generation of point / tag configurations
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US7970823B2 (en) * 2004-09-02 2011-06-28 Broadway Technology, Llc System for sharing data objects among applications
US7546335B2 (en) * 2004-09-02 2009-06-09 Broadway Technology, Llc System and method for a data protocol layer and the transfer of data objects using the data protocol layer
DE102004046878A1 (de) * 2004-09-28 2006-04-13 Robert Bosch Gmbh Verfahren und Vorrichtung zum Bestimmen einer Systemlast eines Prozessorsystems
US20060085668A1 (en) * 2004-10-15 2006-04-20 Emc Corporation Method and apparatus for configuring, monitoring and/or managing resource groups
US20060085530A1 (en) * 2004-10-15 2006-04-20 Emc Corporation Method and apparatus for configuring, monitoring and/or managing resource groups using web services
US9329905B2 (en) * 2004-10-15 2016-05-03 Emc Corporation Method and apparatus for configuring, monitoring and/or managing resource groups including a virtual machine
CA2586763C (fr) 2004-11-08 2013-12-17 Cluster Resources, Inc. Systeme et procede fournissant des executions de systeme au sein d'un environnement informatique
US7347628B2 (en) 2004-11-08 2008-03-25 Enterasys Networks, Inc. Optical interface identification system
US7926029B1 (en) * 2005-01-13 2011-04-12 21St Century Systems, Inc. System and method of progressive domain specialization product solutions
US8442938B2 (en) * 2005-01-14 2013-05-14 Siemens Aktiengesellschaft Child data structure update in data management system
CN100354833C (zh) * 2005-01-14 2007-12-12 英业达股份有限公司 San系统异常情况下的保护方法
US7552202B2 (en) * 2005-03-10 2009-06-23 International Business Machines Corporation System and method to uniquely identify identically configured branches in a distributed enterprise
US9075657B2 (en) 2005-04-07 2015-07-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US20060242277A1 (en) 2005-03-31 2006-10-26 Tripwire, Inc. Automated change approval
CA2504333A1 (fr) * 2005-04-15 2006-10-15 Symbium Corporation Programmation et developpement d'infrastructure pour element autonome
US8086232B2 (en) 2005-06-28 2011-12-27 Enterasys Networks, Inc. Time synchronized wireless method and operations
US7761864B2 (en) 2005-08-09 2010-07-20 Intermec Ip Corp. Method, apparatus and article to load new instructions on processor based devices, for example, automatic data collection devices
WO2007021823A2 (fr) 2005-08-09 2007-02-22 Tripwire, Inc. Procedes et dispositifs pour gouvernance des technologies de l'information et controles
US10318894B2 (en) * 2005-08-16 2019-06-11 Tripwire, Inc. Conformance authority reconciliation
US8104033B2 (en) 2005-09-30 2012-01-24 Computer Associates Think, Inc. Managing virtual machines based on business priorty
US8225313B2 (en) * 2005-10-19 2012-07-17 Ca, Inc. Object-based virtual infrastructure management
US8849980B2 (en) * 2006-02-06 2014-09-30 International Business Machines Corporation Apparatus, system, and method for monitoring computer system components
US7483978B2 (en) * 2006-05-15 2009-01-27 Computer Associates Think, Inc. Providing a unified user interface for managing a plurality of heterogeneous computing environments
JP5121280B2 (ja) * 2006-05-31 2013-01-16 株式会社リコー 情報処理装置、プロセス制御方法、及びプロセス制御プログラム
ATE463100T1 (de) * 2006-06-27 2010-04-15 Alcatel Lucent Verfahren und netzwerkelement zur verbesserung der fehlerverwaltung in verwalteten netzen und computerprogram dafür
JP5002647B2 (ja) * 2006-07-09 2012-08-15 マイクロソフト アマルガメイテッド カンパニー ザ サード ネットワークを管理するシステム及び方法
US8944332B2 (en) 2006-08-04 2015-02-03 Intermec Ip Corp. Testing automatic data collection devices, such as barcode, RFID and/or magnetic stripe readers
US7720841B2 (en) * 2006-10-04 2010-05-18 International Business Machines Corporation Model-based self-optimizing distributed information management
US7509416B1 (en) * 2006-11-03 2009-03-24 Unisys Corporation Dynamically updating subcomponents in a tiered remote monitoring system
EP2100408B1 (fr) * 2006-12-05 2017-03-22 Telefonaktiebolaget LM Ericsson (publ) Agencement et procédé liés à la gestion des performances par traitement distribué
US20080162587A1 (en) * 2006-12-29 2008-07-03 Ulrich Auer Server synchronization for maintenance activities
US8260783B2 (en) * 2007-02-27 2012-09-04 Siemens Aktiengesellschaft Storage of multiple, related time-series data streams
JP4870601B2 (ja) * 2007-03-17 2012-02-08 株式会社リコー 画面データ生成装置、画像処理装置、画面データ生成方法及びプログラム
US7962595B1 (en) * 2007-03-20 2011-06-14 Emc Corporation Method and apparatus for diagnosing host to storage data path loss due to FibreChannel switch fabric splits
US8396959B2 (en) 2007-03-21 2013-03-12 Inetco Systems Limited Method and system for monitoring messages passed over a network
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8214826B2 (en) * 2007-10-09 2012-07-03 International Business Machines Corporation Optimized targeting in a large scale system
FR2927490B1 (fr) * 2008-02-13 2010-08-13 Mobiquant Systeme et methode pour securiser le fonctionnement d'un terminal mobile
US9449298B2 (en) * 2008-05-13 2016-09-20 Emc Corporation Managing complex dependencies in a file-based team environment
JP5077104B2 (ja) * 2008-06-30 2012-11-21 富士通株式会社 ネットワーク障害検知プログラム、システム、及び方法
US8914341B2 (en) 2008-07-03 2014-12-16 Tripwire, Inc. Method and apparatus for continuous compliance assessment
US8627306B2 (en) * 2008-08-06 2014-01-07 Caterpillar Inc. Method and system for updating an information management system configuration
JP5285084B2 (ja) 2008-11-27 2013-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 検出イベントに応じたアクション実行を支援するシステム、検出イベントに応じたアクション実行を支援する方法、支援装置及びコンピュータプログラム
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US8789205B2 (en) * 2010-04-21 2014-07-22 Microsoft Corporation Role-based graphical user interfaces
US8447783B2 (en) 2010-05-28 2013-05-21 Laborie Medical Technologies Canada Ulc Intelligent agent and manager system
US8898289B1 (en) * 2011-03-22 2014-11-25 Netapp, Inc. Distributed event processing method and architecture
US9189563B2 (en) 2011-11-02 2015-11-17 Microsoft Technology Licensing, Llc Inheritance of rules across hierarchical levels
US9558274B2 (en) 2011-11-02 2017-01-31 Microsoft Technology Licensing, Llc Routing query results
US9177022B2 (en) 2011-11-02 2015-11-03 Microsoft Technology Licensing, Llc User pipeline configuration for rule-based query transformation, generation and result display
US9766873B2 (en) 2012-08-17 2017-09-19 Tripwire, Inc. Operating system patching and software update reconciliation
US9356827B2 (en) * 2013-02-18 2016-05-31 Comcast Cable Communications, Llc Data center node management
US9560131B2 (en) * 2013-06-14 2017-01-31 Disney Enterprises, Inc. Efficient synchronization of behavior trees using network significant nodes
US9684579B1 (en) * 2014-12-05 2017-06-20 Amazon Technologies, Inc. Test device selection using multi-pass scoring
US10204135B2 (en) 2015-07-29 2019-02-12 Oracle International Corporation Materializing expressions within in-memory virtual column units to accelerate analytic queries
US10366083B2 (en) 2015-07-29 2019-07-30 Oracle International Corporation Materializing internal computations in-memory to improve query performance
US11102103B2 (en) * 2015-11-23 2021-08-24 Bank Of America Corporation Network stabilizing tool
WO2018002904A1 (fr) 2016-07-01 2018-01-04 Cnathanson Martin D Système d'authentification et d'autorisation d'accès à un environnement véhiculaire à accès sans fil par des dispositifs clients et de comptabilisation de la consommation à cet effet
US20180123924A1 (en) * 2016-10-31 2018-05-03 Hongfujin Precision Electronics (Tianjin) Co.,Ltd. Cluster server monitoring system and method
CN108171336B (zh) * 2018-01-24 2018-12-28 清华大学 机器数据模型演化的自动感知方法及装置
US11226955B2 (en) 2018-06-28 2022-01-18 Oracle International Corporation Techniques for enabling and integrating in-memory semi-structured data and text document searches with in-memory columnar query processing
CN109766237A (zh) * 2018-12-15 2019-05-17 深圳壹账通智能科技有限公司 基于命令分发的监控方法、装置、设备及存储介质
US11115502B1 (en) * 2020-08-25 2021-09-07 Bank Of America Corporation System for real-time management of session objects and for application programming interface (API) mocking
CN113708994A (zh) * 2021-08-20 2021-11-26 浪潮云信息技术股份公司 一种基于Go语言的云物理主机和云服务器监控方法及系统
CN114845139B (zh) * 2022-04-27 2024-02-13 抖动科技(深圳)有限公司 多层次混合分发方法、电子设备及可读存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992005485A2 (fr) * 1990-09-17 1992-04-02 Cabletron Systems, Inc. Systeme de gestion de reseau utilisant une intelligence basee sur des modeles
US5367635A (en) * 1991-08-29 1994-11-22 Hewlett-Packard Company Network management agent with user created objects providing additional functionality
US5491796A (en) * 1992-10-23 1996-02-13 Net Labs, Inc. Apparatus for remotely managing diverse information network resources
GB9302225D0 (en) * 1993-02-05 1993-03-24 Int Computers Ltd Data processing system
JP3714483B2 (ja) * 1993-11-29 2005-11-09 三菱電機株式会社 マネジメント・インフォメーション・ベース・管理システム
US5682523A (en) * 1993-12-15 1997-10-28 International Business Machines Corporation System and method for collecting and retrieving network problem determination data with a generic collection subsystem reporting to an agent on demand
WO1995027249A1 (fr) * 1994-04-05 1995-10-12 Intel Corporation Procede et appareil de surveillance et de commande des programmes dans un reseau
US5655081A (en) * 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
US5751964A (en) * 1995-09-12 1998-05-12 International Business Machines Corporation System and method for automatic determination of thresholds in network management
US5684967A (en) * 1995-09-13 1997-11-04 International Business Machines Corporation System and method for generalized network topology representation
US5802146A (en) * 1995-11-22 1998-09-01 Bell Atlantic Network Services, Inc. Maintenance operations console for an advanced intelligent network
US5774667A (en) * 1996-03-27 1998-06-30 Bay Networks, Inc. Method and apparatus for managing parameter settings for multiple network devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112882901A (zh) * 2021-03-04 2021-06-01 中国航空工业集团公司西安航空计算技术研究所 一种分布式处理系统健康状态智能监控器

Also Published As

Publication number Publication date
FR2750517B1 (fr) 1998-08-14
JPH1091482A (ja) 1998-04-10
FR2750517A1 (fr) 1998-01-02
US6122664A (en) 2000-09-19
EP0822498A1 (fr) 1998-02-04

Similar Documents

Publication Publication Date Title
CA2209304A1 (fr) Procede de surveillance d&#39;une pluralite de types d&#39;objets d&#39;une pluralite de noeuds a partir d&#39;un noeud d&#39;administration dans un systeme informatique
EP0820013B2 (fr) Procédé de surveillance en temps réel d&#39;un système informatique pour son administration et l&#39;aide à sa maintenance en phase d&#39;exploitation
US11755390B1 (en) Using keep-alive markers to extend redelivery deadlines
US6754664B1 (en) Schema-based computer system health monitoring
US7523191B1 (en) System and method for monitoring user interaction with web pages
KR100772999B1 (ko) 분산 환경에서 어플리케이션의 성능을 모니터링하는 방법및 시스템
EP1386240B1 (fr) Moniteur de transaction simulee
US9047145B2 (en) Event source management using a metadata-driven framework
US20150169625A1 (en) Modifying information lifecycle management rules in a distributed system
US20030023712A1 (en) Site monitor
US11755577B1 (en) Skewing of scheduled search queries
US11093349B2 (en) System and method for reactive log spooling
EP2204010A1 (fr) Procédé et appareil pour la propagation d&#39;événements accélérés dans un système de gestion de réseau
US8429273B2 (en) Network management system accelerated event desktop client
US20160259677A1 (en) Collaborative collection of diagnostics data of software programs
US20170068463A1 (en) Highly Scalable Storage Array Management with Reduced Latency
FR2780589A1 (fr) Agent de communication entre un administrateur de systeme informatique et un systeme de ressources distribuees et outils de creation d&#39;un tel agent
EP2210367A1 (fr) Procede de gestion d&#39;operations d&#39;administration, de maintenance et de maintien en condition operationnelle, entite de gestion, et produit programme d&#39;ordinateur correspondant
US10353792B2 (en) Data layering in a network management system
EP2176759A2 (fr) Procede de mesure des performances d&#39;un serveur cible logeant un outil de suivi dynamique
EP2996036A1 (fr) Procédé de surveillance d&#39;une architecture applicative comportant une pluralité de services
FR2786581A1 (fr) Dispositif et procede d&#39;optimisation de surveillance de seuils
CN111382022B (zh) 监控实时流计算平台的方法、装置、电子设备和存储介质
FR3108743A1 (fr) Procede de prevention d’incident sur une chaine applicative et dispositif informatique de prevention d’incident
FR2806494A1 (fr) Procede de transformation, de transport et d&#39;analyse de fichiers de journaux d&#39;evenements (logs)

Legal Events

Date Code Title Description
FZDE Discontinued