Lade Inhalt...

Methoden des Application Monitoring

Studienarbeit 2008 33 Seiten

Informatik - Wirtschaftsinformatik

Leseprobe

Inhaltsverzeichnis

Abstract

1 Einführung
1.1 Motivation
1.2 Aufbau der Studienarbeit

2 Anforderungen an die Anwendungsüberwachung
2.1 Überwachungsmethodik
2.2 Überwachungskriterien

3 Netzwerküberwachung
3.1 Management Information Base
3.2 Simple Network Management Protocol
3.3 Remote Network Monitoring
3.4 Agent
3.5 Bewertung

4 Überwachungsmöglichkeiten von Anwendungsarchitekturen
4.1 Prozedurales und Funktionales Modell
4.1.1 Konventionelle Architektur
4.1.2 Client-Server Architektur
4.1.3 Remote Procedure Call Architektur
4.2 Objektorientiertes Modell
4.2.1 Common Object Request Broker Architecture
4.2.2 Remote Method Invocation Architektur
4.3 Komponenten-Modell
4.3.1 Enterprise Java Beans
4.3.2 Java Management Extensions
4.4 Bewertung

5 Zusammenfassung und Ausblick

Literaturverzeichnis

Abkürzungsverzeichnis

Abbildungsverzeichnis

Abbildung in dieser Leseprobe nicht enthalten

Abbildungsverzeichnis

Abbildung 1: Ablaufschritte bis zur Diagnose

Abbildung 2: Benutzerinteraktion

Abbildung 3: Aufbau eines verteilten Systems

Abbildung 4 : Netzwerküberwachung als Bestandteil des Netzwerkmanagements

Abbildung 5 : Informationsstruktur in der Netzwerkkomponente

Abbildung 6 : Informationsfluss über SNMP

Abbildung 7 : Beispiel einer RMON Implementierung

Abbildung 8 : Interaktion des Software-Agenten mit der Umgebung

Abbildung 9 : Aufbau einer Client Server Kommunikation

Abbildung 10 : Zeitlicher Versatz bei der Client-Server-Kommunikation

Abbildung 11 : Aufbau einer RPC-Architektur

Abbildung 12 : Aufbau einer CORBA Architektur

Abbildung 13 : Container Pro

[...]

Abstract

Unternehmen befinden sich in Konkurrenz. Um sich auf dem Markt behaupten zu können, müssen die Geschäftsprozesse der Unternehmen immer wieder verändert und optimiert werden. Davon ebenfalls betroffen sind die am jeweiligen Geschäftsprozess beteiligten Anwendungen. Eine fortschreitende, flexible Modellierung von Geschäftsprozessen erfordert eine ebenfalls flexible Anwendungsarchitektur, die sich den veränderbaren Anforderungen anpassen kann.

Auch wenn der Einsatz von Anwendungen gut geplant und durchdacht erfolgt, so ist es dennoch notwendig, zumindest den Betrieb der Kernprozesse abzusichern. Nicht selten werden Geschäftsprozesse durch den Ausfall von beteiligten Anwendungen unterbrochen. Dies hat weitreichende Konsequenzen. Schaden in Form von entgangenem Gewinn oder Imageverlust kann die Folge sein.

Dass eine Anwendung regulär funktioniert, darf nicht nur – wenn überhaupt – vom Anwender abhängen. Deshalb ist es notwendig, Anwendungen ganzheitlich maschinell zu überwachen. Derzeit existieren Lösungen aus dem Bereich der Netzwerküberwachung. Diese versprechen viel, haben jedoch nur eine externe Sichtweise auf Anwendungen. Ausschlaggebend ist deshalb auch die Anwendungsarchitektur. Diese hat den Spagat zwischen den bestehenden Flexibilitätsansprüchen und einer soliden Überwachungsmöglichkeit zu meistern.

Interessant ist in diesem Zusammenhang die historische Analyse und Bewertung verschiedener Anwendungsarchitekturen. Die fortschreitende Komplexität von innovativen Paradigmen verschleiert die eigentlichen Gründe dieser Entwicklung. Es ist nicht offensichtlich, welche Möglichkeiten verschiedene Anwendungsarchitekturen zur Überwachung anbieten.

Diese Studienarbeit betrachtet zunächst die Möglichkeiten und Grenzen der Netzwerküberwachung anhand definierter Kriterien. Ergebnisse werden in einer Übersicht zusammengefasst. Aus den Grenzen der Netzwerküberwachung resultiert die Notwendigkeit einer weiterführenden, historisch aufsteigenden Betrachtung verschiedener Anwendungsarchitekturen. Die Architekturen werden Anhand von Kriterien bezüglich ihrer Überwachungsmöglichkeiten evaluiert. Die Bewertung erfolgt anhand eines kohärenten, tabellarischen Vergleichs. Die Lösung der Java Management Extensions wird aufgezeigt.

1 Einführung

Informations- und Kommunikationstechnologien sind inzwischen im unternehmerischen Alltag fest verwurzelt. Viele wirtschaftliche Funktionsbereiche wie Finanzbuchhaltung, Beschaffung, Fertigung, Vertrieb, Logistik und Personalwesen werden durch Anwendungen unterstützt1. Die dabei anfallende Informationsverarbeitung beinhaltet Standardoperationen wie drucken, ordnen, sortieren, vergleichen, rechnen, speichern und darstellen2.

Die Operationen von Anwendungen sind fest in Geschäftsprozesse integriert. Dabei bestehen zwischen Geschäftsprozessen und dem Zustand der Anwendungen Abhängigkeiten. Ausfälle oder unberechenbares Anwendungsverhalten können negative Auswirkungen auf den Ablauf von Prozessen haben. Indirekt besteht somit auch eine Abhängigkeit zwischen dem Anwendungszustand und den Kosten.

Gerade in größeren Unternehmen existieren häufig verschiedene Anwendungen nebeneinander. Solche komplexen Anwendungssysteme teilen sich meistens aus finanziellen Gründen Ressourcen, Subsysteme und Daten. Aufgrund der Komplexität solcher Systeme werden Störungen eventuell erst nach einer gewissen Verzögerung festgestellt. Oftmals entdeckt der Anwender selbst eine Störung – nicht der technische Verantwortliche. Bleiben Störungen im Anwendungssystem längere Zeit unentdeckt, so können sie weitere Kosten verursachen. Für das Unternehmen kann ein unvorhergesehener Schaden entstehen. Stellt ein Anwender immer wieder aufs Neue fest, dass eine Anwendung fehlerhaft ist, nimmt seine Akzeptanz ab und er reagiert frustriert.

Aus diesen Gründen wird von vielen Unternehmen eine hohe Anwendungsverfügbarkeit angestrebt. Kernprozesse des Unternehmens sollen möglichst nicht unterbrochen oder eingeschränkt werden. Um die fortwährende Funktion von Geschäftsprozessen zu gewährleisten ist es erforderlich, die daran beteiligten Anwendungen zu überwachen. Eine professionelle „Anwendungsüberwachung“ (engl. application monitoring) ist notwendig.

Interessant in diesem Zusammenhang ist die Frage, wie eine optimale Anwendungsüberwachung aussehen sollte und welche Realisierungsmöglichkeiten die aktuellen Informations- und Kommunikationstechnologien anbieten.

1.1 Motivation

Moderne kaufmännische Anwendungen lassen sich nicht mehr auf Standardoperationen beschränken. Damit ein Unternehmen neben der Konkurrenz bestehen kann, müssen Geschäftsprozesse und die jeweils daran beteiligten Anwendungen möglichst schnell und flexibel modelliert werden. Der Weg vom Modell zur fertigen Anwendung wird dabei zunehmend automatisiert.3

Serviceorientierte Architekturen (SOA) zielen deshalb darauf ab, Anwendungen flexibel zu halten. Mittels SOA lassen sich Anwendungen aus verschiedenen Komponenten oder Funktionsbausteinen zusammensetzen. Bei Bedarf können Komponenten einfach neu hinzugefügt oder substituiert werden.4

Solch ein Komponenten-Modell verspricht ein hohes Maß an Flexibilität. Allerdings wirft das Modell unter dem Aspekt der Anwendungsüberwachung auch weitere Fragen auf. Interessant ist deshalb die Frage, inwiefern aktuelle Überwachungsmethoden den Anforderungen einer flexiblen SOA gerecht werden können. Eine genauere Untersuchung verschiedener Überwachungsmethoden ist notwendig.

Motivierend wirkt zudem eine Studie des Marktforschungsunternehmens Gartner. Gemäß der Studie sind 40% der Ausfallzeiten auf Fehler in Anwendungen zurückzuführen.5

Nur wenn ein Fehler in einem frühen Stadium erkannt wird, kann schnell reagiert werden. Diese Studie hat deshalb zum Ziel, einen theoretischen Einstieg in die Anwendungsüberwachung zu finden. Aktuelle Lösungen aus dem Bereich der Netzwerküberwachung sind bezüglich ihrer Möglichkeiten und Grenzen zu bewerten. Die Schwachstellen bei der Überwachung verschiedener Anwendungsarchitekturen sind aufzuzeigen. Es erfolgt die historisch aufsteigende Bewertung der Architekturen unter dem Aspekt der Überwachungsmöglichkeit. Die Überwachungsmethoden sollen den Anforderungen einer SOA gerecht werden.

1.2 Aufbau der Studienarbeit

Der Begriff „Anwendungsüberwachung“ setzt sich aus „Anwendung“ (Objekt) und „Überwachung“ (Vorgang, Methode) zusammen. Zunächst werden grundlegende Anforderungen an die Anwendungsüberwachung bestimmt. Die geforderte Überwachungsmethodik wird definiert und relevante Überwachungskriterien werden ausgewählt.

Im Anschluss werden die aktuellen Methoden der Netzwerküberwachung aufgezeigt. Die Möglichkeiten und Grenzen der Netzwerküberwachung werden evaluiert. Aus den Grenzen resultiert die Relevanz einer näheren Betrachtung unterschiedlicher Anwendungsarchitekturen.

Der Aufbau von Architekturen wird historisch aufsteigend, anhand der anfänglich definierten Überwachungskriterien, bewertet. Es erfolgt eine kohärente Bewertung der Architekturen. Die Lösung der Java Management Extensions wird dabei aufgezeigt.

Ergebnisse werden zusammengefasst und ein Ausblick wird gegeben.

2 Anforderungen an die Anwendungsüberwachung

Zunächst werden die grundlegenden Anforderungen bestimmt. Sowohl die relevante Überwachungsmethodik, als auch die notwendigen Überwachungskriterien werden definiert.

2.1 Überwachungsmethodik

Eine Überwachung (engl. monitoring) hat zum Ziel, frühzeitig und zuverlässig Fehler zu erkennen und zu melden. Bei komplexen Systemen ist es notwendig, dass in definierten Zeitintervallen, in einer zentralen Station, eine Diagnose durchgeführt wird.

Die „Diagnose ist der Prozess der Festlegung des inneren Zustands eines Systems aufgrund einer vorliegenden Symptomatik und physikalischer Gesetzmäßigkeiten.“6 Dabei muss von einem oder mehreren Symptomen auf den Systemzustand geschlossen werden. Dieser Rückschluss von einer Wirkung auf eine oder mehrere mögliche Ursachen wird „Abduktion“ genannt.7

Systeme, die eine Abduktion leisten, werden als „Diagnosesysteme“ bezeichnet und der Gruppe der Expertensysteme zugerechnet. Diagnosesysteme klassifizieren verschiedene Symptomfälle, oft auf Grundlage einer Reduktion umfangreichen Datenmaterials und ggf. sogar unter Berücksichtigung unsicheren Wissens.8

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: Ablaufschritte bis zur Diagnose9

Ein Diagnosesystem arbeitet wie folgt: Ein Soll-Verhalten wird definiert. Das Ist-Verhalten wird zyklisch erfasst und anhand der gemessenen Größen mit dem Soll-Verhalten verglichen. Die Abweichung von Soll- und Ist-Verhalten bildet ein Symptom. Anhand von Symptomen kann über eine Abduktion die Diagnose durchgeführt werden. Der bestimmte Systemzustand kann dann weiter verarbeitet werden. Grundsätzlich können wissensbasierte und konventionelle Diagnosestrategien zur Anwendungsüberwachung eingesetzt werden. Es erfolgt zwangsläufig eine Reduktion der Systemkomplexität auf relevante Kriterien.10

2.2 Überwachungskriterien

Zur Spezifizierung des Überwachungsobjektes ist es notwendig, den Begriff „Anwendung“ (engl. application) genau zu definieren. Grundlegende Dependenzen werden aufgezeigt.

Einer Anwendung ist ein bestimmter Nutzen zugeordnet, der den Mitarbeitern eines Unternehmens bei der Erfüllung von Aufgaben hilft. Eine Anwendung bietet dem Benutzer Operationen, die funktional einen Nutzen in dem betreffenden Prozess darstellen. Insofern lässt sich der Begriff „Anwendung“ von dem gemeinen Begriff „Programm“ abgrenzen.11

Für die Erzeugung des Nutzens ist es notwendig, dass auf bestehende maschinelle „Ressourcen“ zurückgegriffen wird. Hauptspeicher, Prozessor-Rechenzeit, Geräte usw. werden als Ressourcen bezeichnet. Von der Anwendung ausgehend erfolgt der Zugriff auf die Ressourcen. Dies geschieht meistens über Systemaufrufe (engl. system calls) – im Betriebssystem vordefinierte Funktionen. Für die korrekte Ausführung einer Anwendung müssen die von der Anwendung geforderten Ressourcen zum richtigen Zeitpunkt in genügendem Umfang zur Verfügung stehen.12

Die Interaktion zwischen Benutzer und Anwendung erfolgt über Eingabe- und Ausgabegeräte. Das Betriebssystem tritt dabei als Schnittstelle auf. Die Aktion eines Benutzers wird „Ereignis“ (engl. event) genannt. Ereignisse werden in speziellen Ereignisbehandlungsroutinen (engl. event handler, listener) behandelt.13

Abbildung in dieser Leseprobe nicht enthalten

Betriebssystem Abbildung 2: Benutzerinteraktion

Der Vorteil von Ereignissen besteht darin, dass ein (Unter-)Programm sich nicht darum kümmern muss, einen bestimmten Anwendungszustand zu ermitteln – z.B. ob eine Anwendung bereits geschlossen ist. Über die Ereignisse der Benutzerinteraktion sind Rückschlüsse auf den internen Anwendungszustand möglich. Ein Ereignis wird nur dann ausgeführt, wenn sich die Anwendung im entsprechenden Zustand befindet. Dazu ist ein Regelwerk von Nachrichten notwendig.14

Viele neuere Anwendungen werden als verteilte Systeme realisiert. „Ein verteiltes System ist eine Menge voneinander unabhängiger Computer, die dem Benutzer wie ein einzelnes, kohärentes System erscheinen.“15

Kennzeichnend für ein verteiltes System ist die vorhandene „Middleware“. „Der Begriff Middleware bezieht sich auf Software, die der Kommunikation von Software-Systemen dient.“16 Die Aufgabe der Middleware ist die Abstraktion ggf. inhomogener Betriebssysteme. Es wird eine Basis geschaffen, auf der die einzelnen Anwendungsteile miteinander kommunizieren können.

Abbildung in dieser Leseprobe nicht enthalten

Netzwerk Abbildung 3: Aufbau eines verteilten Systems17

Bei einer Anwendungsüberwachung ist immer der gesamte Software-Stack zu betrachten. Somit auch Middleware und Betriebssystem.

Insgesamt lässt sich feststellen, dass Dependenzen zur Anwendungsumgebung bei einer Überwachung berücksichtigt werden müssen. Grundlegend sind Ressourcen-Zustand, Benutzerinteraktion mit der Anwendung (Ereignisdienst) und Middleware-Zustand zu überwachen – sofern den unter 2.1 aufgeführten methodischen Ansprüchen eines Diagnosesystems Beachtung geschenkt werden soll. Ziel ist eine ganzheitliche Symptomerfassung.

Die Überwachungsanforderungen an eine SOA sind zu beachten. Eine umfassende Überwachung für Komponenten muss möglich sein.

[...]


1 Vgl. [OHW04] S.53

2 Vgl. [OHW04] S.23

3 Vgl. [MI02] S. V

4 Vgl. [FR07] S.7

5 Vgl. [GAR08] S.1

6 Vgl. [ME90] S.37

7 Vgl. [ME90] S.37

8 Vgl. [ME90] S.17

9 Vgl. [ME90] S.38

10 Vgl. [ME90] S.37 - 60

11 Vgl. [OHW04] S.269

12 Vgl. [AC06] S.13

13 Vgl. [LM05] S.199

14 Vgl. [MP08]

15 Siehe [ST03] S.18

16 Siehe [HJS01] .S.1

17 Siehe [ST03] S. 19

Details

Seiten
33
Jahr
2008
ISBN (eBook)
9783640104109
ISBN (Buch)
9783640218363
Dateigröße
600 KB
Sprache
Deutsch
Katalognummer
v111941
Institution / Hochschule
Duale Hochschule Baden-Württemberg Mannheim, früher: Berufsakademie Mannheim
Note
1,3
Schlagworte
Methoden Application Monitoring Systementwicklung

Autor

Zurück

Titel: Methoden des Application Monitoring