DE60314742T2 - System und verfahren zur überwachung eines computers - Google Patents

System und verfahren zur überwachung eines computers Download PDF

Info

Publication number
DE60314742T2
DE60314742T2 DE60314742T DE60314742T DE60314742T2 DE 60314742 T2 DE60314742 T2 DE 60314742T2 DE 60314742 T DE60314742 T DE 60314742T DE 60314742 T DE60314742 T DE 60314742T DE 60314742 T2 DE60314742 T2 DE 60314742T2
Authority
DE
Germany
Prior art keywords
computer application
computer
monitoring
status
application
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.)
Expired - Lifetime
Application number
DE60314742T
Other languages
English (en)
Other versions
DE60314742D1 (de
Inventor
Prakash Burlington KHOT
Kartik Framingham SHANKARANARAYANAN
Rajendra Framingham JODHAPURKAR
Silvio Computer Associates Think Inc Islandia DEVINCENTIS
Rutvik Framingham DOSHI
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.)
CA Inc
Original Assignee
Computer Associates Think Inc
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 Computer Associates Think Inc filed Critical Computer Associates Think Inc
Publication of DE60314742D1 publication Critical patent/DE60314742D1/de
Application granted granted Critical
Publication of DE60314742T2 publication Critical patent/DE60314742T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • 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/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Description

  • ALLGEMEINER STAND DER TECHNIK
  • ERFINDUNGSGEBIET
  • Die vorliegende Offenbarung bezieht sich auf Computeranwendungen. Insbesondere bezieht sich die Offenbarung auf ein Verfahren und ein System zur Transaktions-Überwachung einer Computeranwendung in Echtzeit.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • Die Java (TM) 2 Plattform, Enterprise Edition (J2EE), ist der Standard zur Entwicklung von Mehrstufen-Unternehmensanwendungen. Mit dem J2EE werden Unternehmensanwendungen auf der Basis von standardisierten modularen Komponenten erstellt, diesen Komponenten ein Satz von Diensten zugeordnet und viele Details des Anwendungsverhaltens automatisch, ohne komplizierte Programmierung, gehandhabt.
  • Servlet-Technologie versorgt Web-Entwickler mit einem einfachen konsistenten Mechanismus zum Erweitern der Funktionalität eines Web-Servers und zum Zugriff auf vorhandene Geschäftssysteme. Ein Servlet kann fast als ein Applet betrachtet werden, das auf der Server-Seite läuft – ohne Schnittstelle. Java Servlets haben viele Web-Anwendungen möglich gemacht.
  • Es gibt zwei Arten von EJBs (Enterprise Java Beans), „Entity Beans" und „Session Beans". Java-Programmierer wissen bereits, was Objekte sind. Ein „Entity Bean" ist ein Objekt mit speziellen Eigenschaften. Standard-Java-Objekte sind permanent insofern, als sie entstehen, wenn sie in einem Programm erstellt werden. Wenn das Programm schließt, geht unter Umständen das Objekt verloren. Ein Entity Bean kann jedoch solange bestehen, bis es gelöscht wird. Ein Programm kann ein Entity Bean erstellen, dann kann das Programm gestoppt und neu gestartet werden. Das Entity Bean besteht weiter. Nach dem Neustart kann das Programm das Entity Bean wieder finden und das gleiche Bean weiter benutzen. Ein Entity Bean kann von jedem beliebigen Programm im Netzwerk benutzt werden.
  • In der Praxis könnte ein Backup der Entity Beans in irgendeinem permanenten Speicher, typisch in einer Datenbank gespeichert werden. Verfahren eines Entity Beans könnten auf einer „Server" Maschine laufen. Wenn das Verfahren eines Entity Beans aufgerufen wird, stoppt ein Thread des Programms die Ausführung, und die Steuerung geht auf den Server über. Wenn das Verfahren vom Server zurückkehrt, nimmt der lokale Thread die Ausführung wieder auf. Entity Beans könnten einen primären Schlüssel aufweisen. Der primäre Schlüssel ist einmalig, das heißt, jedes Entity Bean wird eindeutig durch seinen primären Schlüssel identifiziert. Zum Beispiel könnte ein „Angestellten" Entity Bean Sozialversicherungsnummern als primäre Schlüssel aufweisen.
  • „Session Beans" unterscheiden sich von Entity Beans dadurch, dass sie nicht permanente Objekte sind. Im allgemeinen können sie auch nicht gemeinsam benutzt werden, obwohl es möglich wäre, sie durch Benutzung ihrer „Handles" gemeinsam zu benutzen. Session Beans können zum Verteilen und Isolieren von Verarbeitungsaufgaben benutzt werden. Jedes Session Bean könnte zur Durchführung einer bestimmten Aufgabe im Auftrag seines Clients eingesetzt werden. Die Aufgaben könnten auf verschiedene Maschinen verteilt werden.
  • Unternehmen, die sich mit Implementierungen von Web-Anwendungen und deren Einsatz befassen, setzen eine Umgebung voraus, die die Management-Belange Gesundheit, Verfügbarkeit und Performance von Anwendungen anspricht, um sie zu einem integralen und sich gut verhaltenden Teil der aufgabenkritischen IT Infrastruktur zu machen.
  • Moderne, dienstorientierte Unternehmen bauen auf einem komplexen Web von Hardware und Software-Komponenten auf. Web-Anwendungen für diese Unternehmen könnten schichtweise aufgebaut, zusammengeschaltet und oft stark verteilt sein. Gerade dieser architektonische Charakter von Web-Anwendungen ist es, der eine große Herausforderung für die Identifizierung und Lösung von Problemen bedeutet, vor die sich die Management-Belange Gesundheit, Verfügbarkeit und Performance gestellt sehen.
  • Einer der Faktoren, die bei der Überwachung der Verfügbarkeit und Performance von Web-Anwendungen und der zugrunde liegenden Anwendungsserver-Infrastruktur zu berücksichtigen sind, ist der Einsatz von Transaktions-Überwachung in Echtzeit gegenüber synthetischer Transaktions-Überwachung. Synthetische Transaktions-Überwachung überwacht positiv Web-Anwendungen und gestattet das Verhindern von Fehlern oder Ausfall vor der Detektierung durch einen Endbenutzer. Synthetische Transaktions-Überwachung adressiert jedoch nicht die Belange der Performance und Verfügbarkeit von Echtzeit-Transaktionen. In anderen Worten, synthetische Transaktions-Überwachung bietet keine wirkungsvolle Überwachung des Echtzeit-Zustands eines Servers bei der Ausführung einer gegebenen Anwendung. Frühere Anstrengungen zur Berechnung von Performance-Schwellen für eine Internet Website sind in der US 6339750 zu finden. Frühere Anstrengungen, die den Einsatz eines Java Rahmens und eines systematischen Ansatzes zur Unterstützung der Nachführung und Überwachung von Software Komponenten in komponentenbasierten Programmen betreffen, sind zu finden in Jerry Gao, Eugene Y. Zhu, Simon Shim, Lee Chang, „Monitoring Software Components and Component-Based Software", Compsac 2000, S. 403, The Twenty-Fourth Annual International Software and Applications Conference, 2000. Keines dieser Dokumente nach dem Stand der Technik offenbart die Einfügung von dynamischen Wächtern in den Byte-Code der zu überwachenden Anwendung.
  • Folglich ist es vorteilhaft, ein Verfahren und ein System zum Überwachen von Computeranwendungen unter Einsatz von Transaktionsüberwachung in Echtzeit vorzusehen.
  • KURZDARSTELLUNG
  • Erfindungsgemäß sind vorgesehen:
    ein Verfahren zum Überwachen einer Computeranwendung nach Anspruch 1;
    ein System zum Überwachen einer Computeranwendung nach Anspruch 11; und
    ein computerlesbares Medium nach Anspruch 22.
  • Ein Verfahren zum Überwachen einer Computeranwendung gemäß einer Ausführungsform der vorliegenden Offenbarung beinhaltet das Auswählen der Computeranwendung, das Eingeben von Zustandsinformation, das Überwachen der Computeranwendung und das Erzeugen eines Alarms, wenn der Zustand der Computeranwendung die vorbestimmte Zustandsinformation erfüllt.
  • Ein System zum Überwachen einer Computeranwendung gemäß einer Ausführungsform der vorliegenden Offenbarung beinhaltet eine Schnittstellenvorrichtung, die darauf eingerichtet ist, einem Benutzer das Auswählen einer zu überwachenden Computeranwendung und das Eingeben von Zustandsinformation zu ermöglichen, und eine Überwachungsvorrichtung, die darauf eingerichtet ist, die ausgewählte Computeranwendung zu überwachen, wobei die Schnittstellenvorrichtung einen Alarm erzeugt, wenn ein Zustand der ausgewählten Computeranwendung die vorbestimmte Zustandsinformation erfüllt, basierend auf einem Ergebnis des von der Überwachungsvorrichtung durchgeführten Überwachens.
  • Ein Computersystem gemäß einer Ausführungsform der vorliegenden Offenbarung beinhaltet einen Prozessor und eine von dem Computersystem lesbare Programmspeichervorrichtung, die ein von dem Prozessor ausführbares Programm von Anweisungen verkörpert, um Verfahrensschritte zum Überwachen einer Computeranwendung durchzuführen, wobei die Verfahrensschritte das Auswählen der Computeranwendung, das Eingeben von Zustandsinformation, das Überwachen der Computeranwendung und das Erzeugen eines Alarms beinhalten, wenn ein Zustand der Computeranwendung die vorbestimmte Zustandsinformation erfüllt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Ein vollständigeres Verständnis der vorliegenden Offenbarung und vieler der zugehörigen Vorteile derselben wird bei Bezugnahme auf die folgende ausführliche Beschreibung im Zusammenhang mit den beigefügten Zeichnungen erhalten, in denen:
  • 1 ein Beispiel eines Computersystem zeigt, das fähig ist, das Verfahren und das System der vorliegenden Offenbarung zu implementieren;
  • 2 ein Ablaufdiagramm ist, das ein Verfahren zum Überwachen einer Computeranwendung gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht;
  • 3 ein Ablaufdiagramm ist, das einen Schritt zur Auswahl einer Computeranwendung gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht;
  • 4 ein Ablaufdiagramm ist, das einen Schritt zur Eingabe von Zustandsinformation gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht;
  • 5 ein Ablaufdiagramm ist, das einen Schritt zur Überwachung einer Computeranwendung gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht;
  • 6 ein Ablaufdiagramm ist, das einen Schritt zur Erzeugung eines Alarms gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht;
  • 7 ein Blockdiagramm ist, das ein System zum Überwachen einer Computeranwendung gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht;
  • 8 ein Blockdiagramm ist, das eine Überwachungsvorrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht; und
  • 9 ein Beispiel eines Agenten und Servers gemäß der vorliegenden Offenbarung veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 zeigt ein Beispiel eines Computersystems, welches das Verfahren und System der vorliegenden Offenbarung implementieren kann. Das System und Verfahren der vorliegenden Offenbarung kann in Form einer Softwareanwendung implementiert werden, die auf einem Computersystem, wie einem Mainframe, einem Personalcomputer (PC), einem handgehaltenen Computer, einem Server usw. läuft. Die Softwareanwendung kann auf einem Aufzeichnungsmedium gespeichert werden, das vor Ort für das Computersystem zugänglich ist, wie zum Beispiel eine Diskette, eine CD (Compact Disk), Festplatte usw., oder welches sich entfernt vom Computersystem befindet und über eine festverdrahtete oder drahtlose Verbindung mit einem Netzwerk, wie zum Beispiel einem Lokalbereichsnetzwerk oder dem Internet, zugänglich ist.
  • Ein Beispiel eines Computersystems, das fähig ist, das vorliegende Verfahren und System zu implementieren, ist in 1 dargestellt. Das allgemein mit System 100 bezeichnete Computersystem könnte beinhalten: eine Zentraleinheit 102 (CPU), einen Speicher 104, wie zum Beispiel einen Direktzugriffsspeicher (RAM), eine Druckerschnittstelle 106, eine Anzeigeeinheit 108, einen LAN (Lokalbereichsnetzwerk) Datenübertragungs-Controller 110, eine LAN Schnittstelle 112, einen Netzwerk-Controller 114, einen internen Bus 116 und ein oder mehrere Eingabegeräte 118, wie zum Beispiel eine Tastatur, eine Maus usw. Wie dargestellt, könnte das System 100 über eine Verbindung 122 an eine Datenspeichervorrichtung, wie zum Beispiel eine Festplatte 120, angeschlossen sein.
  • Das System und Verfahren der vorliegenden Offenbarung bezieht sich auf das Gebiet des IT-Management (IT = Informationstechnologie). Traditionelles IT-Management überwacht Netzwerke, Maschinen und Betriebssysteme, kann aber nicht die kundenspezifische Anwendungssoftware eines Kunden überwachen. Das System und Verfahren der vorliegenden Offenbarung ergänzt traditionelle IT-Management-Lösungen durch Bereitstellung von Performance-Überwachung für EJBs und Servlets, aus denen sich die kundenspezifische Anwendungssoftware des Kunden zusammensetzt.
  • Das System und Verfahren der vorliegenden Offenbarung stellt eine Managementlösung mit einer Innenansicht der Anwendung bereit, um die Transaktionsverfügbarkeit und Performance der Anwendung aus einer synthetischen Perspektive und/oder einer Echtzeit-Perspektive zu managen. Da das System und Verfahren zum Überwachen, in Echtzeit, von selbst kundenspezifischen Anwendungen geeignet sind, kann das System und Verfahren Performance- oder Verfügbarkeitsprobleme einer verletzenden lokalen oder entfernten Java Bean Schnittstelle, eines Servlets oder einer Datenbankverbindung detektieren.
  • Das System und Verfahren der vorliegenden Offenbarung ist zum Überwachen und Managen von Echtzeit- und anwendungsspezifischen Transaktionen von einem Gesundheits- und Performance-Standpunkt aus geeignet. Insbesondere ermöglicht das System und Verfahren das Überwachen von Transaktionen im Sinne eines Servlets, eines EJB oder eines Verbindungspools.
  • Ein Verfahren zum Überwachen einer Computeranwendung gemäß einer Ausführungsform der vorliegenden Offenbarung ist in 2 dargestellt. Das Verfahren beinhaltet das Auswählen der zu überwachenden Computeranwendung, S20, das Eingeben von Zustandsinformation, S22, das Überwachen der Computeranwendung, S24, und das Erzeugen eines Alarms, wenn ein Zustand der ausgewählten Computeranwendung die vorbestimmte Zustandsinformation erfüllt, S26.
  • Bei Schritt S20, wird die zu überwachende Computeranwendung von einem Benutzer ausgewählt. Wenn der Benutzer die Anwendung, die zu überwachen ist, kennt, kann er einfach die Anwendung über eine Eingabevorrichtung, wie über eine Tastatur, eingeben. Die Anwendung kann zum Beispiel ein Enterprise Java Bean oder ein Servlet sein. 3 veranschaulicht ein Ablaufdiagramm des Auswahlschritts gemäß einer Ausführungsform der vorliegenden Offenbarung. Bei Schritt S30 wird die überwachende Computeranwendung ausgewählt. Dies kann über eine Tastatur, wie oben angegeben, erfolgen, oder die Computeranwendung kann aus einer Liste von Computeranwendungen, die zur Überwachung über eine Benutzeroberfläche verfügbar sind, ausgewählt werden, was im Folgenden ausführlicher beschrieben wird. Die Computeranwendung könnte ein Java Bean oder ein Servlet sein. Ein Überwachungsintervall, das eine Zeitperiode bezeichnet, in der die Computeranwendung zu überwachen ist, kann bei Schritt S32 identifiziert werden. Eine Wartenummer, die eine Anzahl von Überwachungsintervallen bezeichnet, während welcher ein Status der Anwendung in einem Zustand vor der Erzeugung des Alarms verbleibt, kann bei Schritt S34 eingegeben werden. Das heißt, der Alarm kann erst dann erzeugt werden, wenn die vorbestimmte Zustandsinformation für eine Mehrzahl von Überwachungsintervallen erfüllt ist, wodurch ein hartnäckigeres Problem angezeigt wird. Bei Schritt S36 kann Kennungsinformation eingegeben werden, die durch den Alarm zu warnende Einzelpersonen betrifft, falls und wenn er erzeugt wird. Das heißt, bei Schritt S36 werden die Einzelpersonen identifiziert, an die der Alarm gesendet werden soll.
  • Schritte S30 bis S36 können durch die direkte Eingabe von Information über ein Eingabegerät, wie eine Tastatur oder eine Maus, oder über eine grafische Benutzeroberfläche implementiert werden. In einer solchen Ausführungsform könnte eine Liste aller Server, auf denen Computeranwendungen laufen, dem Benutzer angezeigt werden. Nachdem der Benutzer einen Server ausgewählt hat, erhält er eine Liste aller auf dem Server laufenden Computeranwendungen. Nun kann der Benutzer die gewünschte Anwendung auswählen, ohne im Voraus zu wissen, wie die zu überwachende Anwendung genau heißt oder wo ihr Standort ist. Die grafische Benutzeroberfläche könnte ferner Aufforderungen bereitstellen, das Überwachungsintervall, die Wartenummer und die Information über Einzelpersonen, an die der Alarm gesendet werden soll, einzugeben.
  • Der Schritt der Eingabe von Zustandsinformation, S22, wird weiter unter Bezugnahme auf 4 beschrieben. Bei Schritt S40 könnte der Benutzer ein bestimmtes Verfahren auswählen, das von der zu überwachenden ausgewählten Computeranwendung implementiert wird. Es wird darauf hingewiesen, dass die Computeranwendung mehrere Verfahren beinhalten könnte, und dass jedes Verfahren überwacht werden kann. Bei Schritt S42 könnte der Benutzer mindestens ein Ereignis oder einen Parameter aus einer Mehrzahl von auf das ausgewählte Verfahren bezogenen Parametern auswählen. Diese Parameter könnten sein: eine durchschnittliche Ausführungszeit für das Verfahren während des Überwachungsintervalls, eine maximale Ausführungszeit für das Verfahren während des Überwachungsintervalls, eine Verfahrensaufrufzählung, die eine Anzahl von Malen anzeigt, die das Verfahren während des Überwachungsintervalls aufgerufen wird, und eine Verfahrensfadenzählung, die eine Anzahl von Threads anzeigt, die das Verfahren während eines Überwachungsintervalls aufrufen. Der Benutzer kann alle Parameter oder einen oder mehrere dieser Parameter zur Überwachung auswählen.
  • Der Benutzer kann Schwellenwerte setzen, um einen Status des Verfahrens oder der Anwendung mit Bezug auf jeden dieser Parameter in Schritt S44 einzurichten. Das heißt, der Benutzer kann für jeden ausgewählten Parameter einen Schwellenwert oder Werte setzen, die verschiedene Zustände der Anwendung anzeigen. Zum Beispiel ist für den Parameter der durchschnittlichen Ausführungszeit der Status normal, vorausgesetzt, die durchschnittliche Ausführungszeit liegt nicht über einer vorbestimmten ersten Schwelle oder einer Warnebene. Ein Warnstatus ergibt sich, falls die durchschnittliche Ausführungszeit zwischen der ersten Schwelle und einer zweiten Schwelle, einer weniger wichtigen Ebene, liegt. Ein wichtiger Status wird angegeben, wenn die durchschnittliche Ausführungszeit zwischen einer zweiten Schwelle und einer dritten Schwelle, einem kritischen Wert, liegt. Die Status wird mit kritisch bezeichnet, wenn die durchschnittliche Ausführungszeit über der dritten Schwelle liegt. Jeder der Parameter könnte verschiedene erste, zweite und dritten Schwellenwerte haben. Somit könnte ein erster Schwellenwert für das Ereignis der durchschnittlichen Ausführungszeit sich von einem ersten Schwellenwert für das Ereignis der maximalen Ausführungszeit unterscheiden.
  • Die Schritte S40 bis S44 könnten auch über die grafische Benutzeroberfläche implementiert werden. Der Benutzer könnte ein zu überwachendes ausgewähltes Verfahren aus einer Liste mehrerer Verfahren wählen, die in der ausgewählten Computeranwendung durchgeführt werden. Der Benutzer kann mindestens einen Parameter auswählen, der auf das ausgewählte Verfahren bezogen ist. Dann kann der Benutzer die ersten, zweiten und dritten Schwellenwerte für jeden ausgewählten Parameter über die grafische Oberfläche eingeben.
  • Der Schritt des Überwachens der Computeranwendung wird ferner mit Bezug auf 5 beschrieben. In Schritt S50 werden die dynamische Wächter in den Byte-Code der Computeranwendung eingefügt. Die dynamischen Wächter ändern weder den Anwendungscode noch haben sie Einfluss auf die Performance Anwendung, sie überwachen lediglich die Anwendung auf das Eintreten bestimmter Ereignisse. Bei Schritt S52 wird nach Eintreten jedes der Ereignisse eine Benachrichtigung erzeugt. In einer bevorzugten Ausführungsform erzeugt der dynamische Wächter eine Benachrichtigung, wenn (1) die Anwendung geladen ist, (2) die Ausführung des Verfahrens beginnt, (3) die Ausführung des Verfahrens endet und (4) ein Thread auf das Verfahren zugreift. Die Benachrichtigung könnte Daten enthalten, die einen Typ der Anwendung angeben, wie zum Beispiel ein Enterprise Java Bean oder Servlet, eine Thread-ID, die den Thread angibt, der die Anwendung aufgerufen hat, den Namen der Anwendung und die Zeitinformation, die die Startzeit oder Endzeit des Verfahren anzeigt. Da die dynamischen Wächter in den Byte-Code der Anwendung selbst eingefügt werden, stellen die von dem dynamischen Wächter erzeugten Benachrichtigungen Echtzeitinformation über das Funktionieren der Computeranwendung bereit. Die Echtzeitinformation ist nützlich insofern, als sie den tatsächlichen Zustand des Servers veranschaulicht, auf dem die Anwendung läuft.
  • Bei Schritt S54 können die Daten in den Benachrichtigungen, die von dem dynamischen Wächter erzeugt wurden, veröffentlicht werden. Das heißt, die Daten können zur Auswertung an einen außerhalb der überwachten Anwendung liegenden Bereich gesendet werden, um zu bestimmen, ob im Erzeugungsschritt S26 ein Alarm erzeugt werden sollte.
  • Der Schritt des Erzeugens eines Alarms, S26, wird ferner mit Bezug auf 6 beschrieben. Bei Schritt S60 werden die Daten in den von dem oder den dynamischen Wächtern erzeugten Benachrichtigungen verarbeitet, um einen Wert für die ausgewählten Parameter zu bestimmen. Jeder für die Überwachung in Schritt S22 von 2 ausgewählte Parameter kann anhand der Daten in der Benachrichtigung bestimmt werden, obwohl zu diesem Zweck das Kombinieren der Daten aus mehr als einer Benachrichtigung erforderlich sein könnte. Zum Beispiel könnte eine erste Benachrichtigung die Startzeit des Verfahrens anzeigen, während eine zweite Benachrichtigung die Endzeit des Verfahrens angeben könnte. Die beiden Benachrichtigungen zusammen könnten dazu verwendet werden, die Ausführungszeit des Verfahrens zu bestimmen. Um zu bestimmen, ob diese Ausführungszeit eine minimale Ausführungszeit oder eine maximale Ausführungszeit ist, könnte die Ausführungszeit mit anderen während des Überwachungsintervalls bestimmten Ausführungszeiten verglichen werden.
  • Bei Schritt S62 wird der Wert jedes ausgewählten Parameters mit dem oder den Schwellenwerten für jeden der ausgewählten Parameter verglichen, um eine Anzeige des Status der Anwendung mit Bezug auf den ausgewählten Parameter bereitzustellen. Bei Schritt S64 wird eine Bestimmung vorgenommen, ob der Status oder Zustand der Anwendung die Zustandsinformation erfüllt. Insbesondere wird, basierend auf dem Status jedes der Parameter mit Bezug auf die damit verbundenen Schwellenwerte eine Bestimmung betreffs der Erzeugung eines Alarms vorgenommen. Zum Beispiel, wenn die durchschnittliche Ausführungszeit den Status kritisch aufweist, ist wahrscheinlich, dass dies ein Problem anzeigt, und es sollte ein Alarm erzeugt werden, Ja bei S64. Der Alarm wird dann bei Schritt S66 erzeugt. Wenn andererseits der Status jedes Parameters normal lautet, ist das Erzeugen eines Alarms nicht erforderlich, Nein bei S64. In diesem Fall braucht kein Alarm erzeugt werden, und der Prozess kann zu Schritt S60 zurückkehren, um Daten in den Benachrichtigungen des nächsten Überwachungsintervalls zum Beispiel zu verarbeiten. Der Benutzer kann den Status der Computeranwendung bestimmen, für den der Alarm erzeugt wird.
  • Ein System 70 zum Überwachen einer Computeranwendung gemäß der vorliegenden Anmeldung ist mit Bezug auf 7 beschrieben. Eine Schnittstellenvorrichtung 72 ist darauf eingerichtet, einem Benutzer die Auswahl der zu überwachenden Computeranwendung und die Eingabe von Zustandsinformation zu gestatten. Eine Überwachungsvorrichtung 74 ist darauf eingerichtet, die Computeranwendung zu überwachen. Die Schnittstellenvorrichtung 72 könnte auch einen Alarm erzeugen, wenn der Zustand der Computeranwendung mit der vorbestimmten Zustandsinformation übereinstimmt.
  • Die Schnittstellenvorrichtung 72 könnte als grafische Benutzeroberfläche implementiert sein, die dem Benutzer gestattet, die Auswahl- und Zustandsinformation auf einfache Weise einzugeben. Gemäß einer Ausführungsform der vorliegenden Anmeldung gestattet die Schnittstellenvorrichtung 72 dem Benutzer Auswahlinformation zur Auswahl eines Servers einzugeben, auf dem die gewünschte Computeranwendung läuft. Dann könnte der Benutzer mindestens eine spezifische Computeranwendung aus einer Mehrzahl von auf dem Server laufenden, zu überwachenden Computeranwendungen auswählen. Der Benutzer könnte ferner ein Überwachungsintervall bereitstellen und eine Zeitperiode angeben, während der die Computeranwendung überwacht wird, und eine Wartenummer setzen, die die Anzahl der Überwachungsperioden angibt, während welcher der Zustand des Servers die vorbestimmte Zustandsinformation erfüllt, bevor der Alarm erzeugt wird. Wie oben bemerkt, könnte es vorteilhaft sein, mit der Erzeugung des Alarms etwas zu warten, um sicherzustellen, dass ein Problem in der Performance der Computeranwendung bestehen bleibt. Der Benutzer könnte ferner Kennungsinformation über Einzelpersonen bereitstellen, an die der Alarm zu senden ist, falls und wenn er erzeugt wird.
  • Die vom Benutzer eingegebene Zustandsinformation könnte Information zur Auswahl mindestens eines Verfahrens aus einer Mehrzahl von Verfahren beinhalten, die von der ausgewählten Computeranwendung zur Überwachung implementiert werden. Der Benutzer könnte ferner mindestens einen aus einer Mehrzahl von Parametern auswählen, die sich auf das zu überwachende Verfahren beziehen. Diese Parameter beinhalten eine durchschnittliche Ausführungszeit für das Verfahren während des Überwachungsintervalls, eine maximale Ausführungszeit für das Verfahren während des Überwachungsintervalls, eine minimale Ausführungszeit für das Verfahren während der Ausführungszeit, eine Verfahrensaufrufzählung, die angibt wieviel Mal das Verfahren während des Überwachungsintervalls aufgerufen wurde, und eine Verfahrensfadenzählung, die angibt, wieviele Threads eine Verfahrensanforderung während des Überwachungsintervalls handhaben. Die Schnittstellenvorrichtung 72 gestattet dem Benutzer ferner, mindestens einen Schwellenwert für jeden der ausgewählten Parameter einzugeben, um den Status der Computeranwendung zu bestimmen. In einer bevorzugten Ausführungsform werden mehrere Schwellenwerte für jeden der Parameter eingegeben. Mit jedem dieser Schwellenwerte könnte ein Status verbunden sein. Normal könnte der Status sein, bei dem der Parameter unter einem ersten Schwellenwert, bezeichnet mit Warnebene, liegt. Ein Warnstatus ist das Ergebnis, wenn der Wert des Parameters zwischen dem ersten Schwellenwert und einem zweiten Schwellenwert liegt. Wichtig könnte der Status sein, wenn der Wert des Parameters zwischen dem zweiten Schwellenwert und einem dritten Schwellenwert, bezeichnet als kritischer Wert, liegt. Kritisch ist der Status, wenn der Wert des Parameters über dem dritten Schwellenwert liegt. Jeder der Parameter könnte verschiedene erste, zweite und dritte Schwellenwerte aufweisen. Somit könnte ein erster Schwellenwert für den durchschnittlichen Ausführungszeit-Parameter ein anderer als der erste Schwellenwert für den maximalen Ausführungszeit-Parameter sein.
  • Die Überwachungsvorrichtung 74 dient zum Überwachen der Anwendung. Die Überwachungsvorrichtung ist im Detail mit Bezug auf 8 beschrieben. Eine Einfügungsvorrichtung 80 dient zum Einfügen mindestens eines dynamischen Wächters in den Byte-Code der ausgewählten Anwendung. Insbesondere könnte die Einfügungsvorrichtung mindestens einen dynamischen Wächter in den Byte-Code des ausgewählten Verfahrens einfügen. Der dynamische Wächter erzeugt Benachrichtigungen beim Eintreten bestimmter Ereignisse in der Computeranwendung. Insbesondere erzeugt der dynamische Wächter eine Benachrichtigung, wenn (1) die Computeranwendung aufgerufen wird, (2) das ausgewählte Verfahren mit der Ausführung beginnt, (3) das ausgewählte Verfahren die Ausführung beendet und (4) ein Thread auf das Verfahren zugreift. Die Benachrichtigung könnte Daten beinhalten, die einen Typ der Anwendung anzeigen, wie zum Beispiel ein Enterprise Java Bean oder ein Servlet, eine Thread-ID, die den Thread anzeigt, der die Anwendung aufgerufen hat, den Namen der Anwendung und die Zeitinformation, die die Startzeit oder Endzeit des Verfahrens anzeigt.
  • Eine Veröffentlichungsvorrichtung 82 ist darauf eingerichtet die in dem Benachrichtigungsverfahren enthaltenen Daten zu veröffentlichen. Das heißt, die Veröffentlichungsvorrichtung könnte Daten, die den Daten in der Benach richtigung entsprechen, an die Benutzeroberfläche 80 senden. In einer bevorzugten Ausführungsform erfolgt die Veröffentlichung dadurch, dass die Daten unter Einsatz des User Datagram Protokolls an die Schnittstellenvorrichtung 80 gesendet werden. Insbesondere könnte das Datagram mit den in der Benachrichtigung enthaltenen Daten für jede von mindestens einem dynamischen Wächter erzeugte Benachrichtigung von der Veröffentlichungsvorrichtung 82 an die Schnittstellenvorrichtung 72 gesendet werden.
  • Die Benutzeroberfläche 72 könnte nun die Daten in der Benachrichtigung verarbeiten, um Werte für jeden der ausgewählten Parameter zu bestimmen. Diese Bestimmung könnte das Sammeln der Daten aus mehreren Benachrichtigungen erfordern. Zum Beispiel wird eine Benachrichtigung zu Beginn der Ausführung des ausgewählten Verfahrens erzeugt, und eine weitere Benachrichtigung könnte nach Beenden der Ausführung des ausgewählten Verfahrens erzeugt werden. So könnte auf der Basis dieser beiden Benachrichtigungen die Ausführungszeit bestimmt werden. Außerdem ist es zum Bestimmen einer durchschnittlichen Ausführungszeit notwendig, die durchschnittliche Ausführungszeit aller Aufrufe des ausgewählten Verfahrens während des Überwachungsintervalls zu berechnen. Der Wert jedes ausgewählten Parameters könnte nun mit dem oder den Schwellenwerten verglichen werden, die jedem ausgewählten Parameter zugeordnet sind, um den Status der Computeranwendung zu bestimmen. Auf der Basis des Status könnte die Schnittstellenvorrichtung 70 den Alarm erzeugen. Der Alarm könnte nun an die über die Schnittstellenvorrichtung identifizierten Einzelpersonen gesendet werden. Zum Beispiel, wenn ein Wert der durchschnittlichen Ausführungszeit über dem dritten Schwellenwert liegt, ist der Status der Computeranwendung kritisch. Dies könnte ein ernstes Problem in der Ausführung der Computeranwendung bedeuten, und der Alarm wird erzeugt. Wenn jedoch der Wert jedes der ausgewählten Parameter unter einem ersten Schwellenwert für jeden Parameter liegt, funktioniert die Computeranwendung normal, und der Alarm braucht nicht erzeugt zu werden. Der Benutzer kann den Status für jeden Parameter festlegen, bei dem der Alarm erzeugt werden soll.
  • Es wird darauf hingewiesen, dass das System zum Überwachen einer Computeranwendung weitgehend das Verfahren zum Überwachen einer oben besprochenen Computeranwendung implementiert.
  • In einer spezifischen Ausführungsform der vorliegenden Anmeldung könnte das System zum Überwachen einer Computeranwendung als Plug-in in den Anwendungsserver des Unicenter Management for J2EE Agent, zum Beispiel, implementiert sein und mit diesem eine Schnittstelle aufweisen. In einer bevorzugten Ausführungsform gestattet eine Benutzeroberfläche einem Benutzer, ausgewählte Anwendungen, wie zum Beispiel EJBs und Servlets innerhalb des Anwendungsservers zu überwachen. Insbesondere könnte die Benutzeroberfläche ein Formular aufweisen, das ein einzelnes, einen Weblogic Insider Expert Agent darstellendes Objekt oder einen Agent enthält. Das Formular zeigt das von der Weblogic eingesetzte Servlet oder EJB, das heißt die ausgewählte Anwendung, die der Expert Agent überwacht. Zu überwachende Servlets oder EJBs können hinzugefügt, modifiziert und entfernt werden. Nur die Servlets und EJBs, die innerhalb der vom gleichen Agent überwachten Weblogic Server eingesetzt werden, sind zulässig.
  • 9 zeigt ein Beispiel eines Agent und Server gemäß der vorliegenden Offenbarung. Ein Management Block 900, wie ein Unicenter Management für Weblogic, Websphere oder Oracle9iAS, ist an einen Agent 902 angeschlossen dargestellt, der innerhalb eines Anwendungsservers 904 an einen Insider Publisher 906 angeschlossenen ist. Der Insider Publisher 906 ist an ein Instrumentiertes Objekt 908 angeschlossen, das an eine Instrumentierte Klasse 912 ange schlossen ist, die sowohl mit dem Insider Manager 910 als auch einem Klasse Lader 914 verbunden ist.
  • Insider, das heißt der Insider Manager und der Insider Publisher zusammen, funktionieren als Instrumentations-Agent für Agent. Er kann auf der JVM (Java Virtual Machine) laufen, dem Ort, an dem alle EJBs und Servlets laufen. Der Agent könnte unter Einsatz des UDP Veröffentlichungs-/Teilnehmermodells (UDP = User Datagram Protokoll) mit dem Insider kommunizieren. Die Insider Architektur könnte in zwei Teile – Byte-Code-Instrumentierung und Veröffentlichungs-Instrumentierung – eingeteilt sein, um dem Agent Daten bekanntzugeben (zu veröffentlichen).
  • Wenn eine „Klasse", oder Anwendung, in die JVM geladen wird, kann der Insider sie unterbrechen und dynamische Wächter in diese Klassen-Dateien einfügen. Wenn EJBs, JSPs/Servlets und Standalone Java-Klassen in die JVM geladen werden, kann der Insider den Byte-Code durch Einfügen von dynamischen Sensoren oder Wächtern instrumentieren.
  • Der Insider könnte dem Agent Daten unter Einsatz von zwei Verfahren bekanntgeben. Das erste Verfahren ist ein UDP Veröffentlichungs-/Teilnehmer-Verfahren, wobei Insider einen UDP-Anschluss am Anwendungsserver öffnet. Für jede aus der Byte-Code Instrumentierung empfangene Benachrichtigung, könnte er ein Datagram-Paket aussenden. Das zweite Verfahren ist ein CASM EJB Verfahren, wobei CASM EJB als Anforderungs-Antwort-Dienst fungiert. Der Agent benutzt diesen Dienst zum Holen der Metadaten der instrumentierten Objekte oder überwachten Anwendungen. Dieser Dienst könnte das Veröffentlichen von Daten auch dynamisch starten und stoppen.
  • Das vorliegende System und Verfahren stellt somit eine wirkungsvolle und bequeme Möglichkeit für einen Verwalter bereit, ein oder mehrere Computersysteme zu konfigurieren und zu modifizieren.
  • Die vorliegende Offenbarung könnte zweckmäßig unter Einsatz eines oder mehrerer konventioneller digitaler Allzweck-Computer und/oder Server, die gemäß den Lehren der vorliegenden Spezifikation programmiert sind, implementiert werden. Entsprechende Software-Codierung könnte ohne weiteres von fachlich geschulten Programmierern auf der Basis der Lehren der vorliegenden Offenbarung erstellt werden. Die vorliegende Offenbarung könnte auch durch Erstellung von anwendungsspezifischen integrierten Schaltungen oder durch Zusammenschaltung eines entsprechenden Netzwerks konventioneller Komponenten implementiert werden.

Claims (22)

  1. Verfahren zum Überwachen einer Computeranwendung, umfassend: Auswählen (S20) der zu überwachenden Computeranwendung; Eingeben (S22) von Zustandsinformation; Einfügen (S50) mindestens eines dynamischen Wächters in den Bytecode der Computeranwendung, um die Computeranwendung zu überwachen; Erzeugen (S52) durch den dynamischen Wächter einer Benachrichtigung bei Erkennung eines beliebigen von mehreren Ereignissen in der Computeranwendung; Verarbeiten (S60) der Daten, die in der Benachrichtigung enthalten sind, um einen Wert für mindestens einen ausgewählten Parameter zu bestimmen, der von der Zustandsinformation spezifiziert wird; Vergleichen (S62) des Werts jedes der ausgewählten Parameter mit mindestens einem Schwellenwert, der dem entsprechenden ausgewählten Parameter zugeordnet ist; Bestimmen (S64) eines Status der Computeranwendung auf der Grundlage des Vergleichs; und Erzeugen (S26) eines Alarms, wenn der Status der Computeranwendung die Zustandsinformation erfüllt.
  2. Verfahren nach Anspruch 1, wobei die Computeranwendung auf der Grundlage von Auswahlinformation, die von einem Benutzer über eine Benutzerschnittstelle (72) eingegeben wird, ausgewählt wird.
  3. Verfahren nach Anspruch 1, wobei die Computerwendung ein Enterprise JavaBean oder ein Servlet ist.
  4. Verfahren nach Anspruch 1, wobei der Schritt des Auswählens Folgendes umfasst: Auswählen eines Servers (904), auf dem die Computeranwendung betrieben wird; Auswählen (S30) mindestens einer Computeranwendung aus mehreren Computeranwendungen, die auf dem ausgewählten zu überwachenden Server (904) laufen; Eingeben (S32) eines Überwachungsintervalls, das einen Zeitraum angibt, während dessen die Computeranwendung überwacht wird; und Eingeben (S34) einer Wartezahl, die eine Anzahl von Überwachungsintervallen angibt, während derer der Zustand der Computeranwendung die Zustandsinformation vor dem Erzeugen des Alarms erfüllt.
  5. Verfahren nach Anspruch 1, ferner umfassend: Auswählen (S40) mindestens eines Verfahrens von mehreren Verfahren, die von der ausgewählten zu überwachenden Computeranwendung ausgeführt werden.
  6. Verfahren nach Anspruch 5, ferner umfassend: Auswählen (S42) mindestens eines Parameters von mehreren Parametern, die mit dem ausgewählten zu überwachenden Verfahren in Beziehung stehen, wobei die mehreren Parameter eine durchschnittliche Ausführungszeit des Verfahrens während des Überwachungsintervalls, eine minimale Ausführungszeit des Verfahrens während des Überwachungsintervalls, eine maximale Ausführungszeit des Verfahrens während des Überwachungsintervalls, eine Verfahrensaufrufzählung, die eine Anzahl von Malen anzeigt, die das Verfahren während des Überwachungsintervalls aufgerufen wird, und eine Verfahrensfadenzählung, die eine Anzahl von Threads anzeigt, die eine Verfahrensanforderung während des Überwachungsintervalls handhaben, aufweisen.
  7. Verfahren nach Anspruch 6, ferner umfassend: Eingeben (S44) mindestens eines Schwellenwerts zum Bestimmen eines Status des mindestens einen ausgewählten Parameters.
  8. Verfahren nach Anspruch 1, wobei die mehreren Ereignisse das Laden der Computeranwendung, Starten eines ausgewählten Verfahrens der Computeranwendung, Beenden des ausgewählten Verfahrens der Computeranwendung und Zugreifen auf das ausgewählte Verfahren über einen Thread aufweisen.
  9. Verfahren nach Anspruch 1, wobei die Benachrichtigung, die von dem dynamischen Wächter erzeugt wird, Daten aufweist, die eine Art der Computeranwendung, eine Thread-ID, die eine Identität eines Threads angibt, der die Computeranwendung aufgerufen hat, einen Namen, der einen Namen der aufgerufenen Computeranwendung angibt, und eine Zeitinformation, die eine Startzeit und eine Endzeit eines ausgewählten Verfahrens der Computeranwendung aufweist, angeben.
  10. Verfahren nach Anspruch 1, ferner umfassend Bekanntgeben (S54) der Daten, die in der Benachrichtigung enthalten sind, die von dem dynamischen Wächter erzeugt wird.
  11. System (70) zum Überwachen einer Computeranwendung, umfassend: eine Schnittstellenvorrichtung (72), die geeignet ist, um einem Benutzer das Auswählen einer zu überwachenden Computeranwendung und das Eingeben von Zustandsinformation zu ermöglichen; und eine Überwachungsvorrichtung (74), die geeignet ist, um die ausgewählte Computeranwendung auszuwählen, wobei die Überwachungsvorrichtung eine Einfügungsvorrichtung (80) aufweist, die geeignet ist, um einen oder mehrere dynamische Wächter in den Bytecode der ausgewählten Computeranwendung einzufügen, wobei die dynamischen Wächter bei Eintreten jedes der mehreren Ereignisse in der Computeranwendung eine Benachrichtigung erzeugen; und wobei die Schnittstellenvorrichtung (72) betriebsbereit ist, um die Daten, die jeder Benachrichtigung entsprechen, zu verarbeiten, um einen Wert für mindestens einen ausgewählten Parameter, der von der Zustandsinformation spezifiziert wird, zu bestimmen und den Wert jedes ausgewählten Parameters mit einem Schwellenwert zu vergleichen, der dem ausgewählten Parameter zugeordnet ist, um einen Status der Computeranwendung zu bestimmen, wobei die Schnittstellenvorrichtung (72) ferner betriebsbereit ist, um einen Alarm zu erzeugen, wenn der Status der Computeranwendung die Zustandsinformation erfüllt.
  12. System (70) nach Anspruch 11, wobei die Schnittstellenvorrichtung (72) eine grafische Benutzerschnittstelle (72) umfasst, um einem Benutzer das Eingeben von Information zu ermöglichen.
  13. System (70) nach Anspruch 11, wobei die Schnittstellenvorrichtung (72) betriebsbereit ist, um dem Benutzer das Auswählen eines Servers (904) zu ermöglichen, der mehrere Computeranwendungen betreibt, und mindestens eine Computeranwendung aus den mehreren Computeranwendungen, die auf dem ausgewählten zu überwachenden Server (904) laufen, auszuwählen und ein Überwachungsintervall einzugeben, das einen Zeitraum angibt, während dessen die ausgewählte Computeranwendung zu überwachen ist.
  14. System (70) nach Anspruch 11, wobei die Schnittstellenvorrichtung (72) betriebsbereit ist, um dem Benutzer das Eingeben einer Wartezahl, die eine Anzahl von Überwachungsintervallen angibt, während derer der Status der Computeranwendung die Zustandsinformation erfüllt, vor dem Erzeugen des Alarms zu ermöglichen.
  15. System (70) nach Anspruch 11, wobei die Zustandsinformation Verfahrensinformation umfasst, die mindestens ein Verfahren von mehreren Verfahren, die von der ausgewählten zu überwachenden Computeranwendung benutzt werden, Parameterinformation, die mindestens einen Parameter von mehreren Parametern angibt, die mit dem ausgewählten zu überwachenden Verfahren in Beziehung stehen, und Schwellenwertinformation, die mindestens einen Schwellenwert für den mindestens einen ausgewählten Parameter zum Bestimmen des Status der Computeranwendung angibt, anzeigt.
  16. System (70) nach Anspruch 15, wobei die mehreren Parameter eine durchschnittliche Ausführungszeit des Verfahrens während des Überwachungsintervalls, eine minimale Ausführungszeit des Verfahrens während des Überwachungsintervalls, eine maximale Ausführungszeit des Verfahrens während des Überwachungsintervalls, eine Verfahrensaufrufzählung, die eine Anzahl von Malen anzeigt, die das Verfahren während des Überwachungsintervalls aufgerufen wird, und eine Verfahrensfadenzählung, die eine Anzahl von Threads anzeigt, die eine Verfahrensanforderung während des Überwachungsintervalls handhaben, aufweisen.
  17. System (70) nach Anspruch 11, wobei die Überwachungsvorrichtung (74) ferner Folgendes umfasst: eine Veröffentlichungsvorrichtung (82), die geeignet ist, um Daten, die in der Benachrichtigung enthalten sind, der Schnittstellenvorrichtung (72) bekannt zu geben.
  18. System (70) nach Anspruch 11, wobei die mehreren Ereignisse das Laden der Computeranwendung, Beginnen der Ausführung eines ausgewählten Verfahrens der Computeranwendung, Beenden der Ausführung des ausgewählten Verfahrens und Zugreifen auf die Computeranwendung durch einen Thread umfassen.
  19. System (70) nach Anspruch 11, wobei die Benachrichtigung Daten umfasst, die eine Art der ausgewählten Computeranwendung, eine Thread-ID, die eine Identität eines Threads angibt, der die Computeranwendung aufgerufen hat, einen Namen, der einen Namen der aufgerufenen ausgewählten Computeranwendung angibt, und Zeitinformation, die eine Startzeit und eine Endzeit eines ausgewählten Verfahrens der Computeranwendung aufweist, angeben.
  20. System (70) nach Anspruch 17, wobei die Veröffentlichungsvorrichtung (82) betriebsbereit ist, um Daten, die jeder Benachrichtigung entsprechen, die von dem mindestens einen dynamischen Wächter erzeugt wird, an die Schnittstellenvorrichtung (72) zu senden.
  21. System (70) nach Anspruch 11, wobei die Schnittstellenvorrichtung (72) betriebsbereit ist, um den Alarm zu erzeugen, wenn der Status der Computeranwendung ein vorbestimmter Status ist.
  22. Computerlesbares Medium, umfassend Befehle, die bei Ausführung von einem geeigneten Computer bewirken, dass der Computer ein Verfahren nach einem der Ansprüche 1 bis 10 ausführt.
DE60314742T 2002-04-19 2003-04-18 System und verfahren zur überwachung eines computers Expired - Lifetime DE60314742T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US37395902P 2002-04-19 2002-04-19
US373959P 2002-04-19
PCT/US2003/012204 WO2003090085A2 (en) 2002-04-19 2003-04-18 System and method for monitoring a computer application

Publications (2)

Publication Number Publication Date
DE60314742D1 DE60314742D1 (de) 2007-08-16
DE60314742T2 true DE60314742T2 (de) 2008-04-10

Family

ID=29251109

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60314742T Expired - Lifetime DE60314742T2 (de) 2002-04-19 2003-04-18 System und verfahren zur überwachung eines computers

Country Status (11)

Country Link
EP (1) EP1499977B1 (de)
JP (1) JP2005523518A (de)
KR (1) KR20050007307A (de)
CN (1) CN1650269A (de)
AT (1) ATE366440T1 (de)
AU (1) AU2003222658A1 (de)
BR (1) BR0309296A (de)
CA (1) CA2480955A1 (de)
DE (1) DE60314742T2 (de)
IL (1) IL164615A0 (de)
WO (1) WO2003090085A2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1614255B1 (de) * 2003-04-04 2014-09-03 CA, Inc. Verfahren und system zur verwaltung und konfiguration von fernagenten
US7712083B2 (en) 2003-08-20 2010-05-04 Igt Method and apparatus for monitoring and updating system software
GB2424086A (en) * 2004-09-14 2006-09-13 Acres Gaming Inc Monitoring computer system software
US7937690B2 (en) 2006-05-23 2011-05-03 Hewlett-Packard Development Company, L.P. Evaluating performance of software application
CN100479385C (zh) * 2006-06-01 2009-04-15 华为技术有限公司 一种多设备集中维护方法和***
US9100223B2 (en) 2008-12-01 2015-08-04 Google Inc. Selecting format for content distribution
US8893156B2 (en) * 2009-03-24 2014-11-18 Microsoft Corporation Monitoring of distributed applications
CN101847116A (zh) * 2010-05-05 2010-09-29 中兴通讯股份有限公司 一种基于j2ee架构的监控***和方法
CN102622289B (zh) * 2011-01-26 2015-03-18 阿里巴巴集团控股有限公司 程序设置方法、程序监控方法与装置、***
CN102122263A (zh) * 2011-03-23 2011-07-13 成都勤智数码科技有限公司 一种java应用***运行时监控方法和装置
CN102279786B (zh) * 2011-08-25 2015-11-25 百度在线网络技术(北京)有限公司 一种监测应用程序有效访问量的方法及装置
CN103248651B (zh) * 2012-02-09 2016-02-24 腾讯科技(深圳)有限公司 一种性能监控的方法和***以及客户端和服务器
CN103631701B (zh) * 2013-12-04 2018-01-30 金蝶软件(中国)有限公司 Erp性能检测的方法和装置
CN106233261B (zh) * 2014-04-17 2020-03-20 起元技术有限责任公司 处理环境的一体化监视和控制
CN104683179A (zh) * 2015-02-12 2015-06-03 北京蓝海讯通科技有限公司 一种对对象的执行性能进行监控的方法、装置及***
CN104683181B (zh) * 2015-02-12 2019-02-15 北京蓝海讯通科技有限公司 一种性能监控方法、设备和***
CN105721533A (zh) * 2015-06-26 2016-06-29 乐视云计算有限公司 监控方法、装置及***
CN106888256B (zh) * 2017-02-21 2021-06-04 阿里巴巴(中国)有限公司 分布式监控***及其监控和调度方法与装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867659A (en) * 1996-06-28 1999-02-02 Intel Corporation Method and apparatus for monitoring events in a system
US6339750B1 (en) * 1998-11-19 2002-01-15 Ncr Corporation Method for setting and displaying performance thresholds using a platform independent program
GB2368689B (en) * 2000-06-28 2004-12-01 Ibm Performance profiling in a data processing system

Also Published As

Publication number Publication date
IL164615A0 (en) 2005-12-18
EP1499977B1 (de) 2007-07-04
ATE366440T1 (de) 2007-07-15
WO2003090085A2 (en) 2003-10-30
DE60314742D1 (de) 2007-08-16
AU2003222658A1 (en) 2003-11-03
WO2003090085A3 (en) 2004-04-22
CA2480955A1 (en) 2003-10-30
JP2005523518A (ja) 2005-08-04
BR0309296A (pt) 2007-02-21
CN1650269A (zh) 2005-08-03
KR20050007307A (ko) 2005-01-17
EP1499977A2 (de) 2005-01-26

Similar Documents

Publication Publication Date Title
DE60314742T2 (de) System und verfahren zur überwachung eines computers
DE69210399T2 (de) Rechnerueberwachungsverfahren und system
DE69712678T3 (de) Verfahren zur Echtzeitüberwachung eines Rechnersystems zu seiner Verwaltung und Hilfe zu seiner Wartung während seiner Betriebsbereitschaft
DE60220287T2 (de) System und verfahren zur überwachung von software-warteschlangenanwendungen
DE10050684B4 (de) Verfahren und System zur periodischen Ablaufverfolgung für Aufrufsequenzen zwischen Routinen
DE69031538T2 (de) System und Verfahren zur Sammlung von Softwareanwendungsereignissen
DE112012000797B4 (de) Mehrfach-Modellierungsparadigma für eine Vorhersageanalytik
DE69815946T2 (de) Informationsverarbeitungsvorrichtung
DE69029983T2 (de) Leistungsverbesserungsgerät für auf Regeln beruhendes Expertensystem
DE69729252T2 (de) Fernverwaltung von Rechnervorrichtungen
DE60017457T2 (de) Verfahren zur isolierung eines fehlers in fehlernachrichten
DE69839145T2 (de) Kompensierender Betriebsmittelverwalter
DE602004011455T2 (de) Verfahren und System zur automatischen Erzeugung von Dienstschnittstellen für eine dienstorientierte Architektur
DE10240883A1 (de) Verfahren zum Erfassen eines unbegrenzten Wachstums verketteter Listen in einer laufenden Anwendung
DE69913375T2 (de) Anzeige eines fehlers in einem transaktionsverarbeitungssystem
DE102005049055B4 (de) Verfahren, um Ereignisse in einem Systemereignisprotokoll in eine Reihenfolge zu bringen
US20060156072A1 (en) System and method for monitoring a computer apparatus
DE69727633T2 (de) Verfahren und Gerät zur Benutzerstufeunterstützung für das Synchronisieren mehrerer Ereignisse
US20050216585A1 (en) Monitor viewer for an enterprise network monitoring system
WO2008071448A1 (de) Computerimplementiertes system zur analyse, verwaltung, beherrschung, bewirtschaftung und überwachung einer komplexen hardware-/softwarearchitektur
DE102005020893A1 (de) System zur adaptiven Bestimmung von Operationseigenschaften einer ausführbaren Anwendung
DE112010004252T5 (de) Systeme und Verfahren zur Ressourcenleckerkennung
DE19605093A1 (de) Verfahren und Vorrichtung zur parallelen Client/Server-Kommunikation
DE112017000881T5 (de) Identifizieren der Grundursache von einem Problem, das während einer Ausführung einer Anwendung beobachtet wird
DE10349005B4 (de) Verfahren zur Überwachung eines Netzwerks

Legal Events

Date Code Title Description
8364 No opposition during term of opposition