Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält...

39
Weblogic Diagnostic Framework (=WLDF) Birgit Arndt

Transcript of Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält...

Page 1: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

Weblogic Diagnostic

Framework (=WLDF)

Birgit Arndt

Page 2: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Allgemeine Architektur des WeblogicDiagnostic Frameworks (= WLDF)

• Allgemein zur Konfiguration von WLDF

• Konfiguration einiger WLDF Komponenten

• Zugriff auf die Diagnosedaten

• Fazit

Agenda

2Weblogic Diagnostic Framework (=WLDF)

Page 3: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

WLDF enthält verschiedene Komponenten zumSammeln und Analysieren von Daten:

• Integration von JRockit• Diagnostic Image capture• Archive• Instrumentation• Harvester• Watches und Notifications• Monitoring Dashboard• Logging Services

Was ist das WLDF?

3Weblogic Diagnostic Framework (=WLDF)

Page 4: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Zur Analyse im Fehlerfall

• Zum Speichern von diagnostischen Werten

• Zur Diagnose von Applikationen

Wozu das WLDF benutzen?

4Weblogic Diagnostic Framework (=WLDF)

Page 5: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

WLDF enthält folgendes• Data Creators• Data Collectors• Instrumentation

Komponente• Archive Komponente• Accessor Komponente• Watch und

NotificationKomponente

• Image Capture Komponente

• Monitoring Dashboard

WLDF Architektur Hauptkomponenten

5Weblogic Diagnostic Framework (=WLDF)

Page 6: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Ist im Wesentlichen eine Momentaufnahme des Servers

• Ad hoc

• Automatisch gesteuert durch z.B. eine Überwachungsregel

WLDF Architektur Image Capture

6Weblogic Diagnostic Framework (=WLDF)

Page 7: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Zum Speichern „historischer“ Daten

• Events, wie Logfileeinträge, als auch Metriken können in Archiven gespeichert werden

WLDF Architektur Archive

7Weblogic Diagnostic Framework (=WLDF)

Page 8: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

WLDF ArchitekturData Creation, Collection and Instrumentation

8Weblogic Diagnostic Framework (=WLDF)

• Daten werden von verschiedenen Quellen gesammelt

Page 9: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Watches sind zum Überwachen von speziellen diagnostischen Werten

• Durch die Notifications können Benachrichtigungen gesendet werden.

WLDF Architektur Watches und Notifications

9Weblogic Diagnostic Framework (=WLDF)

Page 10: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Bietet Zugriff auf alle Daten, die gesammelt werden

• Online, JMX-basiert

• Offline, via WeblogicScripting Tool und physikalischem Zugriff

WLDF Architektur Data Accessor

10Weblogic Diagnostic Framework (=WLDF)

Page 11: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Zeigt den aktuellen und historischen Betriebszustand des Server und dessen Applikationen

• Greift auf Archive zu

• Es gibt vordefinierte Views, aber man kann auch selbst welche erstellen.

WLDF Architektur Monitoring Dashboard

11Weblogic Diagnostic Framework (=WLDF)

Page 12: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Über MBeans (Managed Beans)

• Konfiguration wird referenziert in XML-Dateien

• Tools für die Konfiguration:- Weblogic AdminKonsole- Weblogic Scripting Tool (= WLST)- via JMX- via XML-Dateien (nicht empfohlen)

Allgemein zur Konfiguration WLDF

12Weblogic Diagnostic Framework (=WLDF)

Page 13: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• WLDF Konfiguration ist aufgeteilt in

- Server-Level

- Applikations-Level

Allgemein zur Konfiguration WLDF

13Weblogic Diagnostic Framework (=WLDF)

Page 14: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

Allgemein zur Konfiguration WLDFDiagnostic System Models

• Werden in der Domain erstellt, um WLDF auf Server-Ebene zu nutzen.

• Sind global in der Domain

• Verschiedene konfigurierbar

• Maximal eines pro Server / Cluster

Weblogic Diagnostic Framework (=WLDF) 14

Page 15: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Nur Instrumentation möglich

• Wird mit der Applikation deployed

• Konfiguration in weblogic-diagnostics.xml unter META-INF

Allgemein zur Konfiguration WLDFDiagnostic Application Models

15Weblogic Diagnostic Framework (=WLDF)

Page 16: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Via AdminKonsole

• Via WLST

Konfiguration Image Capture

16Weblogic Diagnostic Framework (=WLDF)

cd('/Servers/MedRecServer/ServerDiagnosticConfig/MedRecServer')

cmo.setImageDir('/home/oracle/')

cmo.setImageTimeout(3)

Page 17: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Ad hoc, via AdminKonsole

• Ad hoc, via WLST

Erstellung eines Image Capture

17Weblogic Diagnostic Framework (=WLDF)

serverRuntime()

cd('serverRuntime:/WLDFRuntime/WLDFRuntime/WLDFImageRuntime/Image')

cmo.captureImage()

Page 18: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

18

Inhalt eines Image Capture

Weblogic Diagnostic Framework (=WLDF)

Page 19: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Für jeden Server konfigurierbar

• 2 Arten von Archiven- Dateibasiert- JDBC

• Konfiguration der Aufbewahrung von diagnostischen Daten- Größenbasiert- Zeitbasiert

Konfiguration Archives

19Weblogic Diagnostic Framework (=WLDF)

Page 20: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Via AdminKonsole

• Via WLST

Dateibasierte Archives

20Weblogic Diagnostic Framework (=WLDF)

cd('/Servers/MedRecMng01/ServerDiagnosticConfig/MedRecMng01')

cmo.setPreferredStoreSizeLimit(100)

cmo.setStoreSizeCheckPeriod(1)

cmo.setDataRetirementEnabled(true)

cmo.setDiagnosticDataArchiveType('FileStoreArchive')

cmo.setDiagnosticStoreDir('/home/oracle/diagnostic')

Page 21: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Via AdminKonsole

• Via WLST

JDBC Archives

21Weblogic Diagnostic Framework (=WLDF)

cd('/Servers/MedRecServer/ServerDiagnosticConfig/MedRecServer')

cmo.setPreferredStoreSizeLimit(100)

cmo.setStoreSizeCheckPeriod(1)

cmo.setDataRetirementEnabled(true)

cmo.setDiagnosticDataArchiveType('JDBCArchive')

cmo.setDiagnosticJDBCResource(getMBean('/JDBCSystemResources/Me

dRecGlobalDataSourceXA'))

Page 22: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Via AdminKonsole

• Via WLST

Konfiguration ArchivesAufbewahrungszeiten, Größenbasiert

22Weblogic Diagnostic Framework (=WLDF)

cd('/Servers/MedRecMng01/ServerDiagnosticConfig/MedRecMng01')

cmo.setPreferredStoreSizeLimit(2048)

cmo.setStoreSizeCheckPeriod(2)

Page 23: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Via AdminKonsole

Konfiguration ArchivesAufbewahrungszeiten, Zeitbasiert

23Weblogic Diagnostic Framework (=WLDF)

Page 24: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Via WLST

Konfiguration ArchivesAufbewahrungszeiten, Zeitbasiert

24Weblogic Diagnostic Framework (=WLDF)

cd('/Servers/MedRecMng01/ServerDiagnosticConfig/MedRecMng01')

cmo.createWLDFDataRetirementByAge('MedRecHarcvesterRetirement')

cd('/Servers/MedRecMng01/ServerDiagnosticConfig/MedRecMng01/WLD

FDataRetirementByAges/MedRecHarcvesterRetirement')

cmo.setArchiveName('HarvestedDataArchive')

cmo.setRetirementAge(720)

cmo.setRetirementTime(22)

cmo.setRetirementPeriod(240)

cmo.setEnabled(true)

Page 25: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Hauptmerkmale sind- Diagnostic monitors- Diagnostic actions- Diagnostic context

• Mechanismus zum Hinzufügen von Diagnosecode an bestimmten Stellen- joinpoints- pointcuts- diagnostic location

• Sowohl Serverbasiert als auch Applikationsbasiert konfigurierbar

Konfiguration Instrumentation

25Weblogic Diagnostic Framework (=WLDF)

Page 26: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

Diagnostic Monitors

• Werden nach Bereich (Server / Applikation) und nach Typ (pointcut,diagnostic location, action) kategorisiert

• Es gibt- standard monitors- delegation monitors- custom monitors

Konfiguration Instrumentation

26Weblogic Diagnostic Framework (=WLDF)

Page 27: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

Monitor actions

• Führen den Diagnosecode für delegationoder custom monitors aus

• Monitor actions müssen zum Diagnose Monitor passen

Konfiguration Instrumentation

27Weblogic Diagnostic Framework (=WLDF)

Page 28: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

Diagnostic actions

• WLDF bietet folgende actions:- DisplayArgumentsAction- MethodInvocationStatisticsAction- MethodMemoryAllocationStatisticsAction- StackDumpAction- ThreadDumpAction- TraceAction- TraceElapsedTimeAction- TraceMemoryAllocationAction

Konfiguration Instrumentation

28Weblogic Diagnostic Framework (=WLDF)

Page 29: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Via Deskriptordatei weblogic-diagnostic.xml im Verzeichnis META-INF

• Via Deploymentplan

• Via Annotations

Konfiguration für Applikationsinstrumentation

29Weblogic Diagnostic Framework (=WLDF)

Page 30: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

30

Konfiguration für Applikationsinstrumentation

Weblogic Diagnostic Framework (=WLDF)

<?xml version="1.0" encoding="UTF-8"?><wldf-resource xmlns="http://www.bea.com/ns/weblogic/90/diagnostics">

<instrumentation><enabled>true</enabled><!-- Servlet Session Monitors --><wldf-instrumentation-monitor><name>Servlet_Around_Service</name><enabled>true</enabled><dye-mask>ADDR1</dye-mask><dye-filtering-enabled>true</dye-filtering-enabled><action>TraceElapsedTimeAction</action>

</wldf-instrumentation-monitor><!-- Servlet Session Monitors --><wldf-instrumentation-monitor><name>EJB_Around_SessionEjbBusinessMethods</name><enabled>true</enabled><dye-mask>ADDR1</dye-mask><dye-filtering-enabled>true</dye-filtering-enabled><action>TraceElapsedTimeAction</action>

</wldf-instrumentation-monitor></instrumentation>

</wldf-resource>

Page 31: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Komponente der Instrumentation

• Zur eindeutigen Identifizierung und Nachverfolgung von HTTP- oder RMI-Requests innerhalb des Systems

• Fügt dem Request einen diagnostic context zu

• Diagnostic context besteht für die Dauer des Lebenszyklus des Requests.

Konfiguration DyeInjectionfür Diagnostic Context

31Weblogic Diagnostic Framework (=WLDF)

Page 32: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

Konfiguration DyeInjectionvia AdminKonsole

32Weblogic Diagnostic Framework (=WLDF)

Page 33: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

Konfiguration DyeInjection via WLST

33Weblogic Diagnostic Framework (=WLDF)

cd('/WLDFSystemResources/MedRecWLDF/WLDFResource/MedRecWLDF/Instru

mentation/MedRecWLDF')

cmo.createWLDFInstrumentationMonitor('DyeInjection')

cd('/WLDFSystemResources/MedRecWLDF/WLDFResource/MedRecWLDF/Instru

mentation/MedRecWLDF/WLDFInstrumentationMonitors/DyeInjection')

cmo.setDescription('DyeInjection')

cmo.setProperties('ADDR1=127.0.0.1\r\[email protected]')

set('Actions',jarray.array([], String))

cmo.setDyeMask(None)

Page 34: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Jeder Diagnostic monitor kann eine dye maskhaben

Dye Filterung

34Weblogic Diagnostic Framework (=WLDF)

Page 35: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Data accessor erhält von den WLDF Komponenten Diagnoseinformationen

• Diagnoseinformationen werden nach ihrer „Herkunft“ in logische Datenspeicher aufgeteilt.

• Datenspeicher sind meist tabellarisch

Zugriff auf Diagnose Daten

35Weblogic Diagnostic Framework (=WLDF)

Page 36: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Via AdminKonsole (online)

Zugriff auf Diagnose Daten

36Weblogic Diagnostic Framework (=WLDF)

Page 37: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• Via WLST (online & offline)

Zugriff auf Diagnose Daten

37Weblogic Diagnostic Framework (=WLDF)

Online:

wls:/medrec/serverConfig> serverRuntime()

wls:/medrec/serverRuntime>

exportDiagnosticDataFromServer(logicalName="HarvestedData

Archive",exportFileName="/home/oracle/HarvestedDataArchiv

e.xml")

Offline:

wls:/offline>

exportDiagnosticData(logicalName="HarvestedDataArchive",e

xportFileName="/home/oracle/HarvestedDataArchive_02.xml")

Page 38: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

• WLDF ist „ab Werk“ dabei(nicht bei WLS Basic Lizenz)

• Andere Tools für gleichen Zweck auch auf dem Markt (z.B. dynaTrace)

• Absprachen zwischen Entwicklern und Administratoren notwendig

• Eher für Diagnose als für Monitoring

Fazit

38Weblogic Diagnostic Framework (=WLDF)

Page 39: Weblogic Diagnostic Framework (=WLDF) · Weblogic Diagnostic Framework (=WLDF) 2. WLDF enthält verschiedene Komponenten zum Sammeln und Analysieren von Daten: • Integration von

Fragen & Antworten