Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 1 Bei Anruf: Fehler bereits behoben Proaktive Fehlerbeseitigung ohne Kundenbeteiligung.

Slides:



Advertisements
Ähnliche Präsentationen
Architektur eines Human-Task-Service
Advertisements

DI Christian Donner cd (at) donners.com
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
E-Commerce Shop System
Phasen und ihre Workflows
Prüfungspläne Bachelor-Thesis
Von David Keß, Heinrich Wölk, Daniel Hauck
1 Fortbildungsveranstaltung des VDB Regionalverbandes Nordwest Vorstellung des gemeinsamen Auskunftsdienstes der Hamburger Bibliotheken Fragen Sie Hamburger.
Systemverwaltung wie es Ihnen gefällt.
JDF Tools: Einsatz bei Agfa
Webseiten, die gefunden werden Dr. Eduard Heindl, Heindl Internet AG Tübingen.
Vorstellung von PaderWAVE Generierung von Web-Anwendungen aus visuellen Spezifikationen, SS04 Projektgruppe der AG Kastens.
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
Objektrelationales Mapping mit JPA
Ausnahmen HS Merseburg (FH) WS 06/07.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
Genetische Algorithmen
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE LM 9 - LO2 Prozessmodell und Management.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE 3.1 ProzessqualitätLM 5 V-Modell-AnwendungenFolie 1 V-Modell für große Projekte.
Markplätze für Agenten Seminar Softwareagenten Timo Hoelzel.
AGXIS – Ein Konzept für eine generische Schnittstellenbeschreibung Dr.-Ing. Ulrich Hussels, RISA GmbH 07. Juni 2005 Workshop Umweltdatenbanken 2005.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Einsatz von XML zur Kontextspeicherung in einem agentenbasierten ubiquitären System Faruk Bagci, Jan Petzold, Wolfgang Trumler und Theo Ungerer Lehrstuhl.
Spezielle Aspekte der Anbindung von Datenbanken im Web.
NetUSE Web Application Framework Kai Voigt NetUSE AG 28. Februar 2003.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Die Bank von morgen - eine neue Welt für IT und Kunden? 23. Oktober 2001.
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
Spezifikation von Anforderungen
Debugging, Logging, Monitoring, Tools
1 Produktive ZDB-Schnittstellen : OAI Bernd Althaus / 10| Produktive ZDB-Schnittstellen: OAI| Althaus | 14. Oktober 2013.
Entwurf und Realisierung einer digitalen Bibliothek zur Verwaltung von Notenhandschriften Dipl.-Ing. Temenushka Ignatova Datenbank- und Informationssysteme,
ProFM Helpdesk Effective Web Based Maintenance Management System.
MDM Systeme im Test Udo Bredemeier
1 Alexander Arimond, University of Kaiserslautern, Germany Entwicklung und Evaluation eines Raytracing-Dienstes für das Venice Service Grid Alexander Arimond.
Tobias Kluge: FAME Middleware / Karlsruhe / The FAME project – Middleware.
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Allgemeines zu Datenbanken
Präsentiert Management Lösungen Value Added Software GmbH, Carl-Schurz-Str. 7, Neuss
Content Management System
Was heißt ‘ ‘? Visuelles Management
Real World Windows Azure Die Cloud richtig nutzen.
Die Management-Tools von Z&H COACH beinhalten zentrale Hilfsmittel für ein Management-System. Sorgfältig angewendet führen diese Tools Ihr Unternehmen.
Robuste Programme durch Ausnahmebehandlung
ADR & SCANKARTEN.
Lise-Meitner-Str Flensburg Germany Tel: +49 (0) PESQ|SERVER.
->Prinzip ->Systeme ->Peer – to – Peer
HORIZONT 1 SmartJCL ® Der einfache Weg zur fehlerfreien JCL neue Version 3.2 HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel.
Vortrag - Diplomarbeiten (HS I)
So nutzen Sie die Powerpoint-Datei:
Bern University of Applied Sciences Engineering and Information Technology Documentation generator for XML-based description standards Ausgangslage: Die.
Datenbanken im Web 1.
Oracle Portal think fast. think simple. think smart. Dieter Lorenz, Christian Witt.
Team 8 Eva Reinl, Markus Leimbach
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
N.Fremann, M.Jentsch, D.Wilmsmann Interaction with public and private displays Projektarbeit im Seminar Location Based Services.
DSpace IT Zertifikat Blockseminar Dedizierte Systeme Dozentin: Susanne Kurz, M.A. Referentin: Camilla Ottnad, B.A.
Optimierung von Geschäftsprozessen durch Webformulare und Webworkflow Rainer Driesen Account Manager.
, Claudia Böhm robotron*SAB Anwendungsentwicklung mit dem Java und XML basierten Framework robotron*eXForms Simple Application Builder.
J.GehlenDept. of Medical Informatics 1 Department of Medical Informatics, Uniklinik RWTH Aachen, Germany Sichere Mobile Datenerfassung.
Seminararbeit Release Management von Web-Systemen Minh Tran Lehrstuhl für Software Engineering RWTH Aachen
Webdeployment auf Cluster Seminarvortrag von Lukas Bonzelett.
Seminarvortrag Mobile Darstellung der Backup-Reporte Analyse und Konzept Anita Ludermann Rechen- und Kommunikationszentrum Aachen Stand:
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
Business IN THE FAST LANE
 Präsentation transkript:

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 1 Bei Anruf: Fehler bereits behoben Proaktive Fehlerbeseitigung ohne Kundenbeteiligung

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 2 Über uns... Tobias Gindler Sven Bunge Die Holisticon AG ist eine Management- und IT-Beratung mit Sitz in Hamburg. Mit einem ganzheitlichen Beratungsansatz unterstützen wir unsere Kunden in ihren Entwicklungsprojekten auf technischer, taktischer wie auch strategischer Ebene.

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 3 Agenda ■ Motivation ■ Mögliche Fehlerquellen ■ … und wie man diese aufspürt ■ Verarbeitung von Logfiles ■ Implizites Logging ■ Alerting ■ Fragen und Diskussion

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 4 Motivation ■ Gesteigerte Komplexität in Softwaresystemen steigert auch Fehlerwahrscheinlichkeit ■ Fehler können nie mit Gewissheit ausgeschlossen werden. ■ In produktiver Umgebung sollte Fehler von Kunden unbemerkt bleiben ■ … und automatisiert erkannt und schnell behoben werden.

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 5 Beispiel 1: Benutzer erleben Fehler ■ Kunde besucht Onlineshop  Kunde wählt Produkt  Kunde meldet sich an / erstellt Konto  Kunde gibt Zahlungsdaten ein  Beim Speichern tritt ein Fehler auf  Kunde sieht Fehlerseite ■ Geschäftsabschluss findet nicht statt  Dem Kunden ist klar, dass Kauf nicht stattgefunden hat

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 6 Beispiel 2: Benutzer bezahlen Fehler ■ Kunde besucht Onlineshop  Kunde wählt Produkt  Kunde meldet sich an / erstellt Konto  Kunde gibt Zahlungsdaten ein  Kunde bestätigt Kauf und sieht Kaufbestätigung ■ Geschäftsabschluss findet statt ■ Kauf wird nicht ins ERP System übertragen  Kunde bezahlt Fehler ohne das Ware geliefert wird

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 7 Fehler sind ungemütlich im Geschäftsalltag

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 8 Vielfältige Fehlerquellen Software / Implementierung Daten Infrastruktur

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 9

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 10 Auswertung und Alerting ■ Darstellung  Visuelle Aufbereitung der Metriken in einem Monitoring -Server  Operator benachrichtigt ggf. zuständige Mitarbeiter (z.B. Issue-Tracking-System) ■ Automatisierte Benachrichtigung  Metriken werden von Monitoring Server gegen Schwellwerte verglichen und klassifiziert  Feste oder dynamische Regeln entscheiden über eine Mitarbeiter-Intervention

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 11 Fehler in der Anwendung ■ Software  Programmierfehler  Unklare / unvollständige Anforderungen  Integrationsinkonsistenzen gegenüber externen Komponenten ■ Datenkonsistenz / -korrektheit  Fehlerhafte Daten können zu unvorhersehbaren Systemverhalten führen  Fehlerhafte Daten können durch Fehler in der Software und der Infrastruktur entstehen

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 12 Detektion von Software-Fehlern ■ Meldung durch den Endbenutzer ■ Überprüfung der persistenten Daten  Konsistenz  Anforderungen ■ Auswertung von Log-Dateien  Access-Logs  Anwendungsserverlogs

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 13 Log-Dateien ■ Sind technologieunabhängig ■ Ausgabe-Formate sind vielfältig ■ Müssen fortlaufend verbessert werden  Hinzufügen fehlender Informationen  Entfernung von Ausgaben ohne Mehrwert  Optimierung der Log Level der Ausgabe

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 14 Große Systeme haben viele Log-Dateien

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 15

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 16 Aggregation von Logausgaben ■ Nicht aggregiert ■ Aggregiert :13: [main] INFO holisticon.examples.TestClass - Hello World :12: [main] INFO holisticon.examples.TestClient - [SESSION_ID] - [REQUEST_ID] - Hello World

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 17 Kontext-Propagation

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 18 Aggregation von Logausgaben ■ Aggregation von Logausgaben mittels Request- und pseudonymisierte Session-Ids ■ Aggregationsdaten müssen zwischen Komponenten übertragen werden  HTTP: REST, XML-RPC, etc. über HTTP-Header  SOAP: SOAP-Header  Asynchrone Verarbeitung – Speicherung der Daten an der Message  Ausschluss der Datenübertragung von externen Komponenten  Benutzer-Interaktionen und komplette Sessions können systemweit einfach und schnell nachvollzogen werden

Wie loggen wir eigentlich?

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 20 Explizites Logging

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 21 Implizites Logging

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 22 Ausgabe des impliziten Logging ■n■n IMPLICIT_EXCEPTION_LOGGER: { "errorMessage": { "message": "An error occurred while updating the customer" }, "invocationContext": { "className": "de.holisticon.examples.CustomerDao2", "methodName": "updateCustomer", "parameters": [{ "de.holisticon.examples.Customer": }, "throwable": { "message": "java.lang.IllegalArgumentException: org.hibernate.ObjectDeletedException: deleted instance passed to merge:", "stacktrace": "..." }

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 23 Logging an den Komponentengrenzen

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 24 Beispiel - Webanwendung ■ Kunde erhält bei Eingabe von Zahlungsinformationen einen Fehler ■ Fehler wird im Log aufgezeichnet  Identifikation über Session ID  Request-ID als Klammer für Nutzerinteraktion  Erweiterte Kontextinformationen ■ Kontextinformationen sind zum Beispiel  URL mit Aufrufparameter / Payload  SOAP / REST Kommunikation

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 25 Einschränkungen ■ Ausgabe  Sicherheitskritischen Daten  Komplexen Datenstrukturen  Großen Datenmengen ■ Frameworkabhängige Einschränkungen  JPA: Entitäten mit Relationen  CDI: Injection ■ Zusammenspiel mit anderen Problemlösungen  Beispiel: Fehlerseiten-Filter

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 26 ■ Allgemeine technologiegebundene Problemlösungen ■ Aufgaben  Bereitstellung von Kontextinformationen  Erleichterung der Erkennung und Behebung von Fehlerzuständen ■ Einsatz  Systemgrenzen  Komponentengrenzen  Neuralgischen Punkten  Verwendung nicht übertreiben! Implizites Logging - Zusammenfassung

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 27 Automatisierte Fehlererkennung / Alerting ■ Automatisierte Suche nach Fehlern und Schlüsselworten ■ Vergleich der gefundenen Fehler mit bereits aufgetretenen Fehlern  Automatisierte Erstellung eines Tickets im Ticket System bei unbekannten Fehlern  Erhöhung der Behebungspriorität im Ticket-System bei wiederholtem Auftreten  Tickets enthalten Verlinkung auf Log-Servers mit vordefinierter Request ID und Session ID ■ Regelmäßige Erstellung von Fehlerreports und Fehlerstatistiken

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 28 TracEE ■ Kostenloses Java Framework ■ Open-Source, auf GitHub verfügbar  ■ Bereitstellung und Propagation von Session- und Request-Ids in verteilten Systemen ■ Leicht erweiterbar ■ Verwendete Techniken auf andere Technologie-Stacks übertragbar

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 29 TracEE – Implizites Logging ■ Implizites (Kontext-)Logging im Falle eines Fehlers ■ Unterstützt viele Java-Technologien ■ Leicht einzubinden ■ Log-Ausgaben flexibel konfigurierbar ■ Einfach erweiterbar

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 30 Zusammenfassung Alerting des Logservers Reproduktion durch Fehler- Kontext Bugfix Kunden ermitteln / korrigieren KundenbeschwerdeFehlerkorrektur

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 31 Fragen und Diskussion

Bei Anruf: Fehler bereits behoben | Tobias Gindler & Sven Bunge | 32 Datenintegrität über Komponentengrenzen ■ Überprüfung der Daten über Skripte zur Prüfung der Daten ■ Skripte können auf folgende Grundlagen basieren:  Anforderungen  Beispiel : Überfällige Auslieferungen  Datenbankstruktur  Beispiel : Constraints, die nicht durch das Datenbankschema abgedeckt sind  Bekannte Fehler ■ Skripte können ein Alerting ansteuern ■ Erkannte Fehler können teilweise automatisiert behoben werden!