SlideShare ist ein Scribd-Unternehmen logo
Autonomic Computing
Seminar (SS 2010)
Diagnosis
Über: Pinpoint: Problem Determination in Large, Dynamic Internet
Services (Chen, Mike et al.)
Oliver Stadie
7. Juni 2010
Autonomic Computing - Über: Pinpoint 2
Gliederung
● Problem & Ziel
● Idee
● Umsetzung
● Bewertung
● Einschränkungen & Ansätze
Autonomic Computing - Über: Pinpoint 3
Problem & Ziel (1)
● Problem: Riesige Systeme
● Ständige Änderung
● Ständiges Wachstum
● Fehler treten auf
● Interagierende, verteilte Komponenten
● Client Requests durchlaufen verschiedene
Komponenten
● Ziel: Fehlerquellen finden ohne konkretes System
zu kennen oder anzupassen
Autonomic Computing - Über: Pinpoint 4
Problem & Ziel (2)
● Fehlerhafter
Request:
● Problem:
Fehlerquelle könnte
in Komponente K21,
K22, K32 oder K33
liegen
● Ziel: Fehlerquelle
idenzifizieren
K11 K21 K31
K12 K22 K32
K13 K23 K33
System
Autonomic Computing - Über: Pinpoint 5
Idee (1)
● Viele Requests: ● Einige Komponenten haben
öfter Fehler als andere
● K22: 3 von 3 (100%)
● K21: 1 von 2 (50%)
● K12: 0 von 2 (0%)
● Zusammenspiel mehrerer
Komponenten
● K32+K33: 1 von 2 (50%)
● Sensitivität einstellbar
K11 K21 K31
K12 K22 K32
K13 K23 K33
Autonomic Computing - Über: Pinpoint 6
Idee (2)
1.Client Request
Traces
2.Failure Detection
(extern & intern)
3.Data Clustering
Analysis
Autonomic Computing - Über: Pinpoint 7
Idee (3)
● Client Request Traces
● Middleware instrumentieren → welche Komponenten für
jeden Request benutzt?
● Failure Detection
● Interne Failure Detection
● Externe Failure Detection
● Data Clustering Analysis
● Daten über benutzte Komponenten + Failure Daten →
fehlerhafte Komponenten & Interaktionen
Autonomic Computing - Über: Pinpoint 8
Idee (4) - Client Request Tracing
K2 Pinpoint K3
<R1, ...>
<R2, ...>
<R2, K2>
<R1, ...>
<R2, ...>
<R2, K2>
<R2, K3>
R2PinpointR
Middleware Framework
Trace Log
vorher
Trace Log
nachher
PP
Autonomic Computing - Über: Pinpoint 9
Idee (5) - Client Request Tracing
● Aufzeichnen aller Komponenten die jeder Request benutzt
● Alternativ: Aufzeichnen aller Maschinen (grob) oder Dateien
(fein)
● Weist ankommenden Requests ID zu
● Instrumentierung der Middleware
● Vergleichbar: umschreiben der verwendeten Bibliotheken (z. B.
Mathe-Bibliothek)
● Komponenten bleiben unberührt
● Abhängig vom benutzen Framework
Autonomic Computing - Über: Pinpoint 10
Idee (6) – Failure Detection
● Unabhängig von Client Request Tracing
● Aufzeichnen ob ein Request fehlerhaft ist
oder nicht
● Interne Failures:
● Werden maskiert bevor sie User erreichen
● Middleware wird instrumentiert
● External Failures
● z.B. Maschinen-Crash, veraltete Links
Autonomic Computing - Über: Pinpoint 11
Idee (9) – Failure Detection
● Erfolgreicher Request
K2 PinpointK3
<R1, ...>
<R2, ...>
R3PPR
Middleware Framework
Fault Log
vorher
Trace Log
nachher
<R1, ...>
<R2, ...>
<R3, Success>
Autonomic Computing - Über: Pinpoint 12
Idee (7) – Failure Detection
● Beispiel interner maskierter Fehler:
Autonomic Computing - Über: Pinpoint 13
R3
Idee (10) – Failure Detection
● Interner Fehler ohne PP:
K3 K4
Middleware Framework
K1 K2
Km
<<maskierend>>
Autonomic Computing - Über: Pinpoint 14
R3
Idee (11) – Failure Detection
● Interner Fehler mit PP:
K3 K4
Middleware Framework
K1 K2
Km
<<maskierend>>
Trace Log
nacher
<R1, ...>
<R2, ...>
<R3, Fail>
PP
Autonomic Computing - Über: Pinpoint 15
Idee (8) – Failure Detection
● Beispiel Externe Fehler:
● Error 404, Server-Timeouts, etc.
● Url: http://www.google.de/ungueltigeUrl
Autonomic Computing - Über: Pinpoint 16
R
Idee (12) – Failure Detection
● Externer Fehler ohne PP:
K3 K4
K1 K2
Middleware
Framework
Server
Response
mit Fehler
Autonomic Computing - Über: Pinpoint 17
R
Idee (13) – Failure Detection
● Externer Fehler mit PP:
K3 K4
K1 K2
Middleware
Framework
Server
Response
mit Fehler
PP
Trace Log
nacher
<R1, ...>
<R2, ...>
<R3, Fail>
Autonomic Computing - Über: Pinpoint 18
Idee (14) – Data Analysis
● Zusammenführen des Trace Logs und Failure
Logs. Bsp:
● Berechnen wie oft Komponenten (oder
Kombinationen) an Fehlern beteiligt sind
● Im Paper nicht näher erklärt
Autonomic Computing - Über: Pinpoint 19
Umsetzung (1)
● Prototyp auf J2EE Middleware implementiert
● Client Request Tracing
● Interne Fault Detection
● (Fault Injektion)
● Network Sniffer
● Externe Failure Detection, durch TCP- und HTTP-Check
der Responses
● Analyzer
● Benutzt nicht näher erläuterte Algorithmen
Autonomic Computing - Über: Pinpoint 20
Bewertung (1)
● Experimenteller Aufbau:
● e-commerce service: J2EE PetStore
demonstration application
● Fehler ins System injiziert
– 4 Typen von Fehlern
– Fehler Injektion getrennt von Fault Detector
● 133 Tests: Einzel-Komponenten-Fehler & Fehler
durch Interaktion
● Client Emulator: generiert Requests
Autonomic Computing - Über: Pinpoint 21
Bewertung (2)
Anteil
gefundener
fehlerhafter
Paare
perfekt
Autonomic Computing - Über: Pinpoint 22
Bewertung (3)
● Vergleich mit 2 anderen einfachen Analyse-
Verfahren
● Dedection & dependency checking
● Pinpoint hat deutlich bessere Ergebnisse
● Performance Verlust durch Pinpoint:
● Unter 10%
● Analyse kann offline gemacht werden
● Tracefiles: 2,5kB pro Request (100 Byte wenn
komprimiert)
Autonomic Computing - Über: Pinpoint 23
Einschränkungen und → Ansätze
● Komponenten die immer zusammenarbeiten nicht
unterscheidbar → synthetische Requests
● Request-übergreifende Fehler nicht identifizierbar → Traces
auf „shared state“ (Datenbanken) ausweiten
● „krankhafte Eingaben“ (z.B. fehlerhafte Cookies / defekter
Browser) nicht von Systemfehlern unterscheidbar → Die
Requests selbst aufzeichnen
● „fail-stutter“ fault (Performance-Verlust durch maskierte
Fehler) → Timing Informationen nutzen
Autonomic Computing - Über: Pinpoint 24
Quellen
● Pinpoint: Problem Determination in Large,
Dynamic Internet Services (Chen, Mike et al.)
Autonomic Computing - Über: Pinpoint 25
Diskussion, Fragen, Kommentare

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (9)

Marca faber castell
Marca faber castellMarca faber castell
Marca faber castell
 
Dynamo North East skills update January 2015 final BP
Dynamo North East skills update January 2015 final BPDynamo North East skills update January 2015 final BP
Dynamo North East skills update January 2015 final BP
 
Control de calidad
Control de calidadControl de calidad
Control de calidad
 
WordPress Security
WordPress SecurityWordPress Security
WordPress Security
 
Garcinia cambogia: nuovo estratto miracolose per perdere peso velocemente. Tu...
Garcinia cambogia: nuovo estratto miracolose per perdere peso velocemente. Tu...Garcinia cambogia: nuovo estratto miracolose per perdere peso velocemente. Tu...
Garcinia cambogia: nuovo estratto miracolose per perdere peso velocemente. Tu...
 
Garcinia Cambogia: il nuovo estratto miracoloso per perdere peso velocemente....
Garcinia Cambogia: il nuovo estratto miracoloso per perdere peso velocemente....Garcinia Cambogia: il nuovo estratto miracoloso per perdere peso velocemente....
Garcinia Cambogia: il nuovo estratto miracoloso per perdere peso velocemente....
 
Green building valuation process - Australia
 Green building valuation process - Australia Green building valuation process - Australia
Green building valuation process - Australia
 
Ch 1 - intro
Ch 1  - introCh 1  - intro
Ch 1 - intro
 
Psycho
PsychoPsycho
Psycho
 

Ähnlich wie Autonomic Computing - Diagnosis - Pinpoint Summary

Qualitätssicherung in Webprojekten
Qualitätssicherung in WebprojektenQualitätssicherung in Webprojekten
Qualitätssicherung in Webprojekten
Sebastian Springer
 
Präsentation Monitoring 31.1.2011
Präsentation Monitoring 31.1.2011Präsentation Monitoring 31.1.2011
Präsentation Monitoring 31.1.2011
Maikel Hahahup
 
PROFACTOR Gruppe | Complete Inspect
PROFACTOR Gruppe | Complete InspectPROFACTOR Gruppe | Complete Inspect
PROFACTOR Gruppe | Complete Inspect
PROFACTOR Group
 
Best practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics apiBest practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics api
e-dialog GmbH
 

Ähnlich wie Autonomic Computing - Diagnosis - Pinpoint Summary (20)

OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
 
It workplace performance anwenderzufriedenheit messbar machen
It workplace performance   anwenderzufriedenheit messbar machenIt workplace performance   anwenderzufriedenheit messbar machen
It workplace performance anwenderzufriedenheit messbar machen
 
IT Workplace Performance - Anwenderzufriedenheit messbar machen
IT Workplace Performance - Anwenderzufriedenheit messbar machenIT Workplace Performance - Anwenderzufriedenheit messbar machen
IT Workplace Performance - Anwenderzufriedenheit messbar machen
 
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
 
Die Macht der Zahlen
Die Macht der ZahlenDie Macht der Zahlen
Die Macht der Zahlen
 
Softwaremonitoring mit prometheus
Softwaremonitoring mit prometheusSoftwaremonitoring mit prometheus
Softwaremonitoring mit prometheus
 
Qualitätssicherung in Webprojekten
Qualitätssicherung in WebprojektenQualitätssicherung in Webprojekten
Qualitätssicherung in Webprojekten
 
Performance?!
Performance?!Performance?!
Performance?!
 
Software-Sanierung: Wie man kranke Systeme wieder gesund macht.
Software-Sanierung: Wie man kranke Systeme wieder gesund macht.Software-Sanierung: Wie man kranke Systeme wieder gesund macht.
Software-Sanierung: Wie man kranke Systeme wieder gesund macht.
 
Lösungsorientierte Fehlerbehandlung
Lösungsorientierte FehlerbehandlungLösungsorientierte Fehlerbehandlung
Lösungsorientierte Fehlerbehandlung
 
ONE Konferenz: Von der Idee zur App
ONE Konferenz: Von der Idee zur AppONE Konferenz: Von der Idee zur App
ONE Konferenz: Von der Idee zur App
 
FMEA Failure Mode Effect Analysis, FTA Fault Tree Analysis, Fahrzeugdiagnose
FMEA Failure Mode Effect Analysis, FTA Fault Tree Analysis, FahrzeugdiagnoseFMEA Failure Mode Effect Analysis, FTA Fault Tree Analysis, Fahrzeugdiagnose
FMEA Failure Mode Effect Analysis, FTA Fault Tree Analysis, Fahrzeugdiagnose
 
Streaming Plattformen und die Qual der Wahl
Streaming Plattformen und die Qual der WahlStreaming Plattformen und die Qual der Wahl
Streaming Plattformen und die Qual der Wahl
 
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
 
Präsentation Monitoring 31.1.2011
Präsentation Monitoring 31.1.2011Präsentation Monitoring 31.1.2011
Präsentation Monitoring 31.1.2011
 
CCD 2013: JIRA goes i18n
CCD 2013: JIRA goes i18nCCD 2013: JIRA goes i18n
CCD 2013: JIRA goes i18n
 
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
 
Projekte Schneiden
Projekte SchneidenProjekte Schneiden
Projekte Schneiden
 
PROFACTOR Gruppe | Complete Inspect
PROFACTOR Gruppe | Complete InspectPROFACTOR Gruppe | Complete Inspect
PROFACTOR Gruppe | Complete Inspect
 
Best practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics apiBest practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics api
 

Mehr von Oliver Stadie (8)

UML Stereotypen und Profile
UML Stereotypen und ProfileUML Stereotypen und Profile
UML Stereotypen und Profile
 
UML Composite Structure Diagrams
UML Composite Structure DiagramsUML Composite Structure Diagrams
UML Composite Structure Diagrams
 
Schwarmverhalten - Anwendungen Formationen Emergenz
Schwarmverhalten - Anwendungen Formationen EmergenzSchwarmverhalten - Anwendungen Formationen Emergenz
Schwarmverhalten - Anwendungen Formationen Emergenz
 
Irish Commission and Nedap Hack
Irish Commission and Nedap HackIrish Commission and Nedap Hack
Irish Commission and Nedap Hack
 
Ästhetik und Software
Ästhetik und SoftwareÄsthetik und Software
Ästhetik und Software
 
Komfortable, systematische Modellierung und Automatisierung von GUI-Tests
Komfortable, systematische Modellierung und Automatisierung von GUI-TestsKomfortable, systematische Modellierung und Automatisierung von GUI-Tests
Komfortable, systematische Modellierung und Automatisierung von GUI-Tests
 
Software Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup GroupSoftware Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup Group
 
Software Architecture and Design - An Overview
Software Architecture and Design - An OverviewSoftware Architecture and Design - An Overview
Software Architecture and Design - An Overview
 

Autonomic Computing - Diagnosis - Pinpoint Summary

  • 1. Autonomic Computing Seminar (SS 2010) Diagnosis Über: Pinpoint: Problem Determination in Large, Dynamic Internet Services (Chen, Mike et al.) Oliver Stadie 7. Juni 2010
  • 2. Autonomic Computing - Über: Pinpoint 2 Gliederung ● Problem & Ziel ● Idee ● Umsetzung ● Bewertung ● Einschränkungen & Ansätze
  • 3. Autonomic Computing - Über: Pinpoint 3 Problem & Ziel (1) ● Problem: Riesige Systeme ● Ständige Änderung ● Ständiges Wachstum ● Fehler treten auf ● Interagierende, verteilte Komponenten ● Client Requests durchlaufen verschiedene Komponenten ● Ziel: Fehlerquellen finden ohne konkretes System zu kennen oder anzupassen
  • 4. Autonomic Computing - Über: Pinpoint 4 Problem & Ziel (2) ● Fehlerhafter Request: ● Problem: Fehlerquelle könnte in Komponente K21, K22, K32 oder K33 liegen ● Ziel: Fehlerquelle idenzifizieren K11 K21 K31 K12 K22 K32 K13 K23 K33 System
  • 5. Autonomic Computing - Über: Pinpoint 5 Idee (1) ● Viele Requests: ● Einige Komponenten haben öfter Fehler als andere ● K22: 3 von 3 (100%) ● K21: 1 von 2 (50%) ● K12: 0 von 2 (0%) ● Zusammenspiel mehrerer Komponenten ● K32+K33: 1 von 2 (50%) ● Sensitivität einstellbar K11 K21 K31 K12 K22 K32 K13 K23 K33
  • 6. Autonomic Computing - Über: Pinpoint 6 Idee (2) 1.Client Request Traces 2.Failure Detection (extern & intern) 3.Data Clustering Analysis
  • 7. Autonomic Computing - Über: Pinpoint 7 Idee (3) ● Client Request Traces ● Middleware instrumentieren → welche Komponenten für jeden Request benutzt? ● Failure Detection ● Interne Failure Detection ● Externe Failure Detection ● Data Clustering Analysis ● Daten über benutzte Komponenten + Failure Daten → fehlerhafte Komponenten & Interaktionen
  • 8. Autonomic Computing - Über: Pinpoint 8 Idee (4) - Client Request Tracing K2 Pinpoint K3 <R1, ...> <R2, ...> <R2, K2> <R1, ...> <R2, ...> <R2, K2> <R2, K3> R2PinpointR Middleware Framework Trace Log vorher Trace Log nachher PP
  • 9. Autonomic Computing - Über: Pinpoint 9 Idee (5) - Client Request Tracing ● Aufzeichnen aller Komponenten die jeder Request benutzt ● Alternativ: Aufzeichnen aller Maschinen (grob) oder Dateien (fein) ● Weist ankommenden Requests ID zu ● Instrumentierung der Middleware ● Vergleichbar: umschreiben der verwendeten Bibliotheken (z. B. Mathe-Bibliothek) ● Komponenten bleiben unberührt ● Abhängig vom benutzen Framework
  • 10. Autonomic Computing - Über: Pinpoint 10 Idee (6) – Failure Detection ● Unabhängig von Client Request Tracing ● Aufzeichnen ob ein Request fehlerhaft ist oder nicht ● Interne Failures: ● Werden maskiert bevor sie User erreichen ● Middleware wird instrumentiert ● External Failures ● z.B. Maschinen-Crash, veraltete Links
  • 11. Autonomic Computing - Über: Pinpoint 11 Idee (9) – Failure Detection ● Erfolgreicher Request K2 PinpointK3 <R1, ...> <R2, ...> R3PPR Middleware Framework Fault Log vorher Trace Log nachher <R1, ...> <R2, ...> <R3, Success>
  • 12. Autonomic Computing - Über: Pinpoint 12 Idee (7) – Failure Detection ● Beispiel interner maskierter Fehler:
  • 13. Autonomic Computing - Über: Pinpoint 13 R3 Idee (10) – Failure Detection ● Interner Fehler ohne PP: K3 K4 Middleware Framework K1 K2 Km <<maskierend>>
  • 14. Autonomic Computing - Über: Pinpoint 14 R3 Idee (11) – Failure Detection ● Interner Fehler mit PP: K3 K4 Middleware Framework K1 K2 Km <<maskierend>> Trace Log nacher <R1, ...> <R2, ...> <R3, Fail> PP
  • 15. Autonomic Computing - Über: Pinpoint 15 Idee (8) – Failure Detection ● Beispiel Externe Fehler: ● Error 404, Server-Timeouts, etc. ● Url: http://www.google.de/ungueltigeUrl
  • 16. Autonomic Computing - Über: Pinpoint 16 R Idee (12) – Failure Detection ● Externer Fehler ohne PP: K3 K4 K1 K2 Middleware Framework Server Response mit Fehler
  • 17. Autonomic Computing - Über: Pinpoint 17 R Idee (13) – Failure Detection ● Externer Fehler mit PP: K3 K4 K1 K2 Middleware Framework Server Response mit Fehler PP Trace Log nacher <R1, ...> <R2, ...> <R3, Fail>
  • 18. Autonomic Computing - Über: Pinpoint 18 Idee (14) – Data Analysis ● Zusammenführen des Trace Logs und Failure Logs. Bsp: ● Berechnen wie oft Komponenten (oder Kombinationen) an Fehlern beteiligt sind ● Im Paper nicht näher erklärt
  • 19. Autonomic Computing - Über: Pinpoint 19 Umsetzung (1) ● Prototyp auf J2EE Middleware implementiert ● Client Request Tracing ● Interne Fault Detection ● (Fault Injektion) ● Network Sniffer ● Externe Failure Detection, durch TCP- und HTTP-Check der Responses ● Analyzer ● Benutzt nicht näher erläuterte Algorithmen
  • 20. Autonomic Computing - Über: Pinpoint 20 Bewertung (1) ● Experimenteller Aufbau: ● e-commerce service: J2EE PetStore demonstration application ● Fehler ins System injiziert – 4 Typen von Fehlern – Fehler Injektion getrennt von Fault Detector ● 133 Tests: Einzel-Komponenten-Fehler & Fehler durch Interaktion ● Client Emulator: generiert Requests
  • 21. Autonomic Computing - Über: Pinpoint 21 Bewertung (2) Anteil gefundener fehlerhafter Paare perfekt
  • 22. Autonomic Computing - Über: Pinpoint 22 Bewertung (3) ● Vergleich mit 2 anderen einfachen Analyse- Verfahren ● Dedection & dependency checking ● Pinpoint hat deutlich bessere Ergebnisse ● Performance Verlust durch Pinpoint: ● Unter 10% ● Analyse kann offline gemacht werden ● Tracefiles: 2,5kB pro Request (100 Byte wenn komprimiert)
  • 23. Autonomic Computing - Über: Pinpoint 23 Einschränkungen und → Ansätze ● Komponenten die immer zusammenarbeiten nicht unterscheidbar → synthetische Requests ● Request-übergreifende Fehler nicht identifizierbar → Traces auf „shared state“ (Datenbanken) ausweiten ● „krankhafte Eingaben“ (z.B. fehlerhafte Cookies / defekter Browser) nicht von Systemfehlern unterscheidbar → Die Requests selbst aufzeichnen ● „fail-stutter“ fault (Performance-Verlust durch maskierte Fehler) → Timing Informationen nutzen
  • 24. Autonomic Computing - Über: Pinpoint 24 Quellen ● Pinpoint: Problem Determination in Large, Dynamic Internet Services (Chen, Mike et al.)
  • 25. Autonomic Computing - Über: Pinpoint 25 Diskussion, Fragen, Kommentare