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 IDLGDMO und IDLSMIv2 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