Web-basiertes Management - Homepage Fachgebiet
Transcription
Web-basiertes Management - Homepage Fachgebiet
Planung und Verwaltung von Kommunikationsnetzen Sommersemester 2015 Fachgebiet Kommunikationsnetze Technische Universität Ilmenau Motivation Nachteile beim Einsatz herkömmlicher Managementplattformen: Kapitel 11: proprietäre Datenformate proprietäre Programmierschnittstellen proprietäre Benutzerführung und Darstellung hohe Hardwareanforderungen Plattformabhängigkeit mangelnde Leistungsfähigkeit (in Teilbereichen) unzureichende Integration gerätespezifischer Lösungen Web-basiertes Management Web-Server Proxy-Ansatz CGI/Java JMX CORBA WBEM Heterogenes Management durch Vielzahl von Managementlösungen! PuVvKn, SS 2015 Web-basiertes Management Web-Server Definition: Idee: „(Netzwerk-)Management unter Nutzung von Web-Technologien wie HTML, HTTP, Java, Corba, ...” Integration eines Web-Servers in zu verwaltenden Komponenten Anfragen mittels Web-Browser über HTTP ("Front-End") Web-Server muss Anfragen auf die internen Ressourcen (Managementobjekte) der Geräte umsetzen Vorteile: Plattform-/Betriebssystemunabhängigkeit • Browser meist ausreichend WebServer Ortsunabhängigkeit • Internet-Zugang einzige Voraussetzung HTTP effiziente Ressourcennutzung • keine dedizierte Managementstation notwendig einheitliche Darstellung/Programmierschnittstellen einfache Bedienung, geeignet für die Verwaltung einzelner Geräte (v.a. Konfigurationsmanagement) Skalierbarkeitsprobleme in größeren Netzen Kompatibilität (?) • vereinfachte Zusammenarbeit unterschiedlicher Systeme PuVvKn, SS 2015 Fachgebiet Kommunikationsnetze, Prof. Jochen Seitz WebServer WebServer Einheitlichkeit (?) • 308 309 PuVvKn, SS 2015 310 1 Planung und Verwaltung von Kommunikationsnetzen Sommersemester 2015 Proxy-Ansatz Proxy-Ansatz – Beispiel Multi Router Traffic Grapher (MRTG) Idee: dedizierter Management-Server übernimmt Kommunikation mit einzelnen Komponenten (SNMP, CMIP, ...) Client kommuniziert mit Management-Server über HTTP Variante: Client "tunnelt" SNMP/CMIP-Pakete, Umsetzung durch Management-Server • erzeugt HTML-Seiten mit Auslastungsstatistiken • Zugriff auf Systeme per SNMP (realisiert mit CGI-Skripten in Perl/C) SNMPAgent HTTP SNMP WebServer SNMPAgent ManagementServer SNMPAgent einfache Integration bestehender Managementprotokolle Management-Server kann komplexe Operationen bereitstellen und auf Netzstruktur abbilden (z.B. Fehlersuche) PuVvKn, SS 2015 311 Realisierung der Managementoperationen 1. im Management-Server durch SSI/CGI-Skripte/Servlets hohe Belastung des Servers durch CGI-Skripte eingeschränkte Funktionalität durch rel. statische Seiten 2. lokal (innerhalb des Browsers) durch Applets Managementanwendung (Applet) wird von Web-Server geladen und kommuniziert direkt mit den Komponenten (z.B. über SNMP) umfangreiche Anwendungen realisierbar SNMP Applet SNMP PuVvKn, SS 2015 Fachgebiet Kommunikationsnetze, Prof. Jochen Seitz 312 Java Management Extensions (JMX) erste Aktivitäten Anfang 1999 "Final Draft" der Basis-Spezifikation im August 2000 beteiligt u.a. Alcatel, IBM, Motorola, SUN, ... Möglichkeiten: HTTP PuVvKn, SS 2015 WebServer SNMPAgent SNMPAgent 313 Eigenschaften & Ziele: JMX betrachtet Management für und durch Java universelle Java-Erweiterung für Managementaufgaben • Verwaltung beliebiger Ressourcen Nutzung aktueller Technologien (z.B. Java-Beans, Jini, ...) Unabhängigkeit von Manager (SNMP, CMIP, Java, ...) Unabhängigkeit von Informationsmodell einfache Erweiterbarkeit • Manager Agenten Intelligenz und Autonomie der Agenten PuVvKn, SS 2015 314 2 Planung und Verwaltung von Kommunikationsnetzen Sommersemester 2015 JMX – Architektur (I) SNMPManager WebBrowser JMXManager JMX – Architektur (II) Basis: Java-Beans (wiederverwendbare Java-Objekte) MBean JMX-ManagementAnwendung Verteilte Dienste Agent 1 ProtokollAdaptoren SNMP Connectoren JMX-Agent Agent 2 durch Dienste dynamisch erweiterbarer Agent zur Ressourcenverwaltung • Dienste als MBeans implementiert enthält MBeans, die über einen MBean-Server angesprochen werden Protokoll-Adaptoren ermöglichen Zugriff auf MBeans über HTML u. SNMP Connectoren ermöglichen transparenten Zugriff auf MBeans über HTTP/TCP, HTTP/SSL, RMI (Remote Method Invocation) HTML MBean-Server Agenten Dienst (MBean) Objektrepräsentation einer verwaltbaren Ressource (vgl. Managed Object) • wohldefinierte Schnittstelle: Attribute, Operationen, Benachrichtigungen • können von anderen MBeans/Managementanwendungen erzeugt werden JMX-Manager Bean MBean MBean Instrumentierung Verdichten/Verteilen von Daten von/an mehrere(n) Agenten, Schnittstelle für bestehende Managementanwendungen (SNMP, ...) Java Virtual Machine PuVvKn, SS 2015 315 PuVvKn, SS 2015 JMX – Basisdienste 316 JMX – Erweiterbarkeit Dynamisches Nachladen von Diensten (Class Loading) Dynamisches Nachladen von Diensten/Klassen implementiert als Dienst des MBean-Servers <MLET>-Tag Einbinden in Webseiten durch <MLET>-Tag Pull: Laden von Diensten auf Initiative des Agenten Push: Laden von Diensten auf Initiative des Managers Überwachung von Attributen beliebiger MBeans (Monitoring) Senden von Benachrichtigungen zu vordefinierten (evtl. periodischen) Zeitpunkten (Timer) Definition von Relationen zwischen MBeans (Relations) Hierarchiebildung durch Master-/Sub-Agents (Cascading) Auswahl u. Filterung (Query and Response) WebServer <MLET A> <MLET B> ... Auswahl einer spezifischen Menge von MBeans Auffinden von JMX-Agenten im Netz (Discovery) Erkennung von Verbindungsabbrüchen (Heartbeat) PuVvKn, SS 2015 Fachgebiet Kommunikationsnetze, Prof. Jochen Seitz "PULL" Agent MBean-Server Dienst Dienst Java Virtual Machine 317 PuVvKn, SS 2015 "PUSH" Dienst MBean Manager WebServer 318 3 Planung und Verwaltung von Kommunikationsnetzen Sommersemester 2015 Common Object Request Broker Architecture JMX – Bewertung Erweiterbarkeit & "Intelligenz" der Agenten 1991 erste Version durch Object Management Group (OMG) http://www.omg.org/ CORBA ermöglicht eine orts-, plattform- und implementierungsunabhängige Interaktion von Objekten ORB findet Zielobjekt und führt Kommunikation durch komplexere Operationen können lokal beim Agenten ausgeführt werden, sobald entsprechender Dienst vorhanden einfache Verwaltung von Java-Anwendungen ergibt sich mit sehr geringem Aufwand beim Einsatz von JMX • hierzu evtl. auch Kommunikation mit weiteren ORBs durch IIOP (Internet Inter-ORB Protocol) Protokollunabhängigkeit MBeans unabhängig vom verwendeten Managementprotokoll strenge Trennung von Implementierung und Schnittstelle durch IDL (Interface Definition Language) Effizienz nicht nachgewiesen Protokolloverhead, Java-Interpreter etc. Effizienz der Protokolladaptoren Client ObjektImplementierung Abhängigkeit von der Programmiersprache Java Informationsmodell gegeben durch Schnittstellen der MBeans PuVvKn, SS 2015 Object Request Broker (ORB) 319 Interface Definition Language IDL 320 Interface Definition Language IDL ObjektImplementierungsseite ClientSeite PuVvKn, SS 2015 ObjektImplementierungsseite ClientSeite IDL Object Request Broker IDL isoliert die Schnittstelle von der Implementierung! Object Request Broker PuVvKn, SS 2015 Fachgebiet Kommunikationsnetze, Prof. Jochen Seitz Schnittstelle Definition der Objektschnittstelle mittels IDL Operationen, Parameter, Typen, Ausnahmen, ... programmiersprachenunabhängig 321 PuVvKn, SS 2015 322 4 Planung und Verwaltung von Kommunikationsnetzen Sommersemester 2015 Interface Definition Language IDL Interface Definition Language IDL ObjektImplementierungsseite ClientSeite ObjektImplementierungsseite ClientSeite IDL Object Request Broker Schnittstelle Object Request Broker Objektimplementierung Objekts können in unterschiedlichen Programmiersprachen implementiert werden C, C++, Smalltalk, Ada, COBOL, Visual Basic, . . . PuVvKn, SS 2015 PuVvKn, SS 2015 Schnittstelle IDL ObjektSchnittimplemenstelle tierung ClientSchnittImplemen- stelle tierung Die selbe IDL-Beschreibung legt auf der Client-Seite die Schnittstelle fest. PuVvKn, SS 2015 Fachgebiet Kommunikationsnetze, Prof. Jochen Seitz ObjektImplementierungsseite ClientSeite IDL Object Request Broker 324 Interface Definition Language IDL ObjektImplementierungsseite IDL Existierende Implementierung Als Implementierung können auch hergenommen werden: Umhüllte bereits existierende Objekte (wrapped legacy objects) Durch Werkzeuge erzeugte Objekte Von Drittanbietern eingekaufte Objekte ... 323 Interface Definition Language IDL ClientSeite Schnittstelle Wrapper IDL 325 IDL Object Request Broker Schnittstelle Objektimplementierung Wie bereits bei der Server-Implementierung kann der Client (d.h. das Anwendungsprogramm) von Hand implementiert, durch ein bereits existentes oder gekauftes Programm realisiert oder maschinell erzeugt werden. PuVvKn, SS 2015 326 5 Planung und Verwaltung von Kommunikationsnetzen Sommersemester 2015 CORBA-IDL Object Request Broker (ORB) Schnittstellenbeschreibung in CORBA-IDL ObjektImplementierung Schnittstellenablage ClientStubs Implementierungsskelett Implementierungsablage Ein ORB kapselt Informationen über: Ort, Implementierung und Ausführungszustand eines Objekts Art der Kommunikation mit den Objekten Statischer Aufruf: Stub: Erzeugen von CORBA-Anfragen aus Client Skeleton: Versenden von CORBA-Anfragen an Objekt Dynamischer Aufruf: über DII/DSI (Dynamic Invocation/Skeleton Interface) ObjektClient Implementierung DII IDL Stub ORB Interface DSI IDL Skeleton Object Adapter Object Request Broker (ORB) PuVvKn, SS 2015 327 Object Management Architecture (OMA) PuVvKn, SS 2015 328 Object Management Architecture (OMA) Application Interfaces: spezifische Anwendungen Domain Interfaces: Schnittstellen für spezifische Anwendungsgebiete • z.B. E-Commerce, Telemedizin Common Facilities: universell von Anwendungen nutzbare Dienste Anwendungsschnittstelle (Application Interfaces) Allgemeine Dienste (Common Facilities) • z.B. Datenaustausch, Drucken, Datenbankzugriff Object Services: allgemein nutzbare Dienste • z.B. Erzeugen und Auffinden von Objekten Application Interfaces Domain Interfaces Common Facilities Object Request Broker Object Request Broker (ORB) Objektdienste (Object Services) Object Services PuVvKn, SS 2015 Fachgebiet Kommunikationsnetze, Prof. Jochen Seitz 329 PuVvKn, SS 2015 330 6 Planung und Verwaltung von Kommunikationsnetzen Sommersemester 2015 CORBA – Object Services Interface Definition Language (IDL) CORBA-Object Services (Realisierung als CORBA-Objekte): Trading Eigenschaften: definiert zulässige Operationen und Datentypen eines Objekts deklarativ, objektorientiert, programmiersprachenunabhängig Abbildungen auf Java, C/C++, Smalltalk, ... durch IDL-Compiler Datentypen: Basis-Datentypen: • Ermitteln von Objekten anhand Eigenschaften Naming • Abbildung von Objektreferenzen auf verständliche Namen Events • Versand asynchroner Benachrichtigungen • z.B. short, long, float, double, char, string, boolean, ... Transactions zusammengesetzte Datentypen: • 2-Phasen-Commit etc. • structure, sequence, union, array Persistence Schnittstellen-Definitionen enthalten Datentypen, Konstante, Attribute, Ausnahmen, Operationen Modul-Definitionen Gruppieren von Schnittstellen-Definitionen • Zustandssicherung Security • Zugriffskontrolle, Authentifizierung, Vertraulichkeit ... PuVvKn, SS 2015 331 IDL – Beispiel PuVvKn, SS 2015 332 CORBA – Bewertung module Telematik { // Daten eines Netzwerkadapters struct Network_Adapter { string mac_address; long speed; boolean working_status; }; // Daten eines Endsystems interface Telematik_Host: Telematik_Objects { readonly attribute long upTime; attribute Adapter network_interface; long get_interface_speed (); void set_connectivity (in boolean value) }; objektorientiert erleichtert komplexen Entwurfsprozess verteilter Systeme verbesserte Modellierung von Managementinformationen orts- und plattformunabhängig hersteller- und programmiersprachenunabhängig Integration anderer Managementstandards möglich Abbildungen von IDLGDMO und IDLSMIv2 sind vorhanden Interoperabilität von Managementplattformen wird gewährleistet Unterstützung durch Hersteller ist gegeben fehlende Effizienz von CORBA hoher Ressourcenbedarf hoher Protokolloverhead ausschließl. Nutzung zuverlässiger Transportdienste (z.B. TCP) }; PuVvKn, SS 2015 Fachgebiet Kommunikationsnetze, Prof. Jochen Seitz 333 PuVvKn, SS 2015 334 7 Planung und Verwaltung von Kommunikationsnetzen Sommersemester 2015 Web-Based Enterprise Management (WBEM) Common Information Model WBEM-Initiative 1996 gegründet von Cisco, Intel, Microsoft, ... 1998 übergeben an Desktop Management Task Force (DMTF) Ziel: Vereinheitlichung des Managements durch Eigenschaften von CIM: objektorientiert (basiert auf Unified Modeling Language) implementierungsunabhängig Modellierung von Managementinformationen einzelner Geräte & Modellierung von Managementinformationen zwischen Managementanwendungen * * • Nutzung von Internet-Techniken • Definition eines einheitlichen Informationsmodells • Integration existierender Standards Bestandteile: CIM (Common Information Model) Managed System Element * Name String Components * Dependency Description String ShortDescription String In Use BOOL Installed BOOL • Modellierung von Managementinformationen CIM Meta-Modell definiert die zulässigen Konstrukte zur Beschreibung von CIM-Schemata (Klassen, Attribute, Methoden, usw.) CIM-Schema = Menge von Klassen u. deren Beziehungen xmlCIM Logical Element • Kodierung von CIM in XML (Extensible Markup Language) Version String CIM Operations on HTTP • Abbildung von CIM auf HTTP (Nachrichtenformat etc.) • z.B. Schema "Netzwerkdrucker" PuVvKn, SS 2015 335 PuVvKn, SS 2015 CIM – Modelle (I) CIM (derzeit V2.43, seit 27. Januar 2015) gliedert sich in 3 sog. "Modelle": Kern (Core Model) Allgemeine Erweiterungen (Common Model) Spezifische Erweiterungen (Extension Model) CIM – Modelle (II) Kern: Grundlegende, "abstrakte" Elemente des Bereiches Management Unterteilung in physikal./log. Elemente alle weiteren Komponenten (Anwendungen, Netzwerke, ...) werden als Erweiterungen des Kerns betrachtet Allgemeine Erweiterungen: Erweiterungen des Kerns um allgemein verwendbare Objekte Netzwerke (Dienstzugangspunkte, Protokolle,...), Geräte (CPU, Speicher, ...) usw. technologieunabhängig Spezifische Erweiterungen: hersteller-/gerätespezifische Erweiterungen technologieabhängig (Betriebssysteme, Netzwerkkarten, ...) APPS System Core Device Quelle: www.dmtf.org PuVvKn, SS 2015 Fachgebiet Kommunikationsnetze, Prof. Jochen Seitz 336 337 PuVvKn, SS 2015 338 8 Planung und Verwaltung von Kommunikationsnetzen Sommersemester 2015 CIM – Beispiel CIM – Architektur abstrakte Sicht auf eine Netzwerkschnittstelle: CIM Object Manager: Objekt ist Teil der allg. Erweiterungen (Common Model) abgeleitet von der Klasse "LogicalDevice" dargestellt im MOF (Managed Object File) Format Verwaltung/Zugriff auf Managementinformationen & Object Repository CIM Object Repository: Speicherung von Managementinformationen (statische Klassendefinitionen/-Instanzen, Schemata, Zugriffsrechte, ...) Provider: class CIM_NetworkAdapter : CIM_LogicalDevice { MaxLen (64), Description ... string PermanentAddress; MaxLen (64), Description ... string NetworkAddresses; Description ... Units ("Bits per Second"), uint64 Speed; Description ... Units ("Bits per Second"), uint64 MaxSpeed; Description ... boolean FullDuplex; Description ... boolean AutoSense; Description ... uint64 OctetsTransmitted; Description ... uint64 OctetsReceived; }; PuVvKn, SS 2015 einheitliche Schnittstelle zu verwalteten Objekten (auch CIMOM mögl.) Managementanwendung xmlCIM/HTTP CIM Object Manager SNMPAgent 339 WBEM – Bewertung WMI (Windows Management Instrumentation) von Microsoft Solaris-WBEM von SUN mächtiges, objektorientiertes Informationsmodell universelles Datenformat XML Integration existierender Standards nachlassende Begeisterung nach überschwänglichem Beginn fehlende Interoperabilität bestehender Implementierungen Transportmechanismen (xml/CIM, HTTP) erst Mitte 1999 definiert konkurrierende Ansätze: Microsoft (COM, DCOM) SUN (Java) rel. hohe Hardware-Anforderungen an WBEM-konforme Geräte SNMP-Agenten wesentlich einfacher Fachgebiet Kommunikationsnetze, Prof. Jochen Seitz xmlCIM/HTTP Provider Provider PuVvKn, SS 2015 xmlCIM/ HTTP XML 340 Literatur (I) Unterstützung durch Hersteller PuVvKn, SS 2015 SNMP Object Repository 341 "CORBA: Integrating Diverse Applications Within Distributed Heterogeneous Environments", S. Vinoski, IEEE Communications Magazine, Vol.43, No.3, Februar, 1997 "A Discussion of the Object Management Architecture", Object Management Group, Januar 1997, http://www.omg.org/technology/documents/formal/object_management _architecture.htm "The Common Object Request Broker – Architecture and Specification", Revision 2.3.1, Object Management Group, Oktober 1999, http://www.omg.org/technology/documents/formal/corba_2.htm "Client/Server Programming with Java and Corba", R. Orfali und D. Harkey, John Wiley & Sons, Inc. New York 1998 "Web-based Enterprise Management Architecture", J.P. Thompson, IEEE Communications Magazine, März 1998 (z.T. veraltet) "CIM Schema: Version 2.4", http://www.dmtf.org/spec/cim_schema_v24.html, Desktop Management Task Force, 1999/2000 PuVvKn, SS 2015 342 9 Planung und Verwaltung von Kommunikationsnetzen Sommersemester 2015 Literatur (II) "CIM Schema White Papers", http://www.dmtf.org/educ/whit.html, Desktop Management Task Force, 1999/2000 "CIM Tutorial", http://www.dmtf.org/spec/cim_tutorial/, Desktop Management Task Force, 1999/2000 "Web-Based Enterprise Management (WBEM) Standards", http://www.dmtf.org/spec/wbem.html, Desktop Management Task Force, 1999/2000 "Alles neu macht das Web – WBEM, Standard zur Infrastrukturverwaltung", U. Jörgens. und M. Kuschke, iX, Juli 2000, Seite 116-121 PuVvKn, SS 2015 Fachgebiet Kommunikationsnetze, Prof. Jochen Seitz 343 10