SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
21.05.2014
Sakuli
End2End-Monitoring
Simon Meggle
21.05.2014 www.consol.de2
AGENDA
•  Begriff "End2End-Monitoring"
•  die Situation und ihre Herausforderung
•  Funktionsweise von Sahi/Sikuli
•  Die Tools und ihre Stärken im Vergleich
•  Aus zwei mach eins: Sakuli = Sahi + Sikuli
•  Architektur von Sakuli
•  Live-Demos
•  Ausblick
•  geplante Features
•  Queue-basierte Architektur (Release 2)
•  Download
21.05.2014 www.consol.de
Begriff "End2End-Monitoring"
•  Business-kritische Applikationen bestehen oft aus einer Vielzahl an Komponenten
•  Applikations-Qualität nur am Ende der Funktionskette messbar
=> Monitoring aus Sicht des Anwenders durch User-Simulation
3
21.05.2014 www.consol.de
die Situation und ihre Herausforderung
•  viele frei verfügbare E2E-Tools
•  Grenzen
•  zu speziell
•  Betriebssystem-spezifisch
•  zu generisch
•  zu wenig an der Realität
•  Bisher: Sahi2OMD (vorgestellt auf der OSMC 2013)
4
?
21.05.2014 www.consol.de5
Funktionsweise von Sahi
•  Was ist/kann Sahi?
ü  entwickelt von Narayan Raman (Indien)
ü  „Web Automation and Testing Tool“
-> Tool zur Simulation von User-Aktion im Webbrowser
ü  AJAX, Frames, iFrames, Up/Downloads, Browser alerts, NTLM Auth, HTTPS…
ü  leistungsfähige Funktionen, wie z.B.:
ü  intelligente Objekt-Adressierung auch über Frames/iFrames hinweg (kein XPath)
ü  Funktionen für File/DB-Zugriff
ü  Batch Mode & Multi-Threaded Playback
ü  Sahi erkennt selbst, wenn Seiten/AJAX-Requests fertig geladen sind.
ü  Java-API
ü  Sahi läuft auf jedem OS mit Java (z.B. auch iOS, Android…) in jedem Browser (ohne Plugin)
ü  Open Source
•  Was ist/kann Sahi nicht?
-  alles, was außerhalb des DOMs liegt (z.B. Flash-Inhalte, Java-Applets)
-  Tests außerhalb des Browserinhaltes
http://sahi.co.in/
21.05.2014 www.consol.de6
localhost:9999
Sahi Test-Host
Webserver
Funktionsweise von Sahi
HTTP Request/Response
Browser Sahi-Prozess
•  Sahi wird als Proxy zwischen Browser und Server geschaltet
•  Aufzeichnung aller weitergeleiteten Requests in SahiScript
•  Wiedergabe durch Injizieren der SahiScripts in den Browser
Testcase
21.05.2014 www.consol.de
Situation und Herausforderung
7
•  viele frei verfügbare E2E-Tools
•  Grenzen
•  zu speziell (Bsp. PIN-Abfrage in Webbrowser)
•  abhängig vom Betriebssystem
•  zu generisch
•  zu wenig an der Realität (Bsp. Test auf Protokoll-Ebene)
•  Bisher: Sahi2OMD (OSMC 2013)
•  End2End Web-Tests
•  Hürden
•  Browserdialoge
•  Java-Applets, Flash, ...
•  Kundenwunsch: GUI-Monitoring
Herausforderung:
Kompensation der Schwachstellen von Sahi durch zweites Tool
21.05.2014 www.consol.de
Funktionsweise von Sikuli
8
•  Sikuli kann alles sehen und steuern, was der User sieht und mit Maus und Tastatur
steuern kann
•  Kern-Komponenten:
•  java.awt.Robot zur Steuerung von Maus/Tastaturevents
•  OpenCV Engine zur Erkennung von Bildmustern
•  Screenshots werden auf dem Bildschirm lokalisiert => Region
•  Region-Objekte erlauben Aktionen wie click(), type(), etc...
•  Texterkennung (OCR), experimental
•  auf jeder Plattform verfügbar
•  Open Source (MIT)
21.05.2014 www.consol.de
Die Tools und ihre Stärken im Vergleich
9
100% Web
Web & "off-web"
GUI-Tests (off-Browser content)
1) theoretisch möglich; im Vergleich zu Sahi jedoch viel zu aufwändig (und Unsinn!)
2) nicht möglich; Java, Flash, PIN-Dialoge etc. sind für Sahi nicht "sichtbar", da keine Web-Inhalte
3) theoretisch möglich (siehe 1); bestenfalls jedoch "Notlösung"
4) Sahi kennt nur den Content des Browser-Canvas (den aber gut...)
1)
3) 2)
4)
21.05.2014 www.consol.de
Die Tools und ihre Stärken im Vergleich
10
100% Web
Web & "off-web"
GUI-Tests (off-Browser content)
1) theoretisch möglich; im Vergleich zu Sahi jedoch viel zu aufwändig (und Unsinn!)
2) nicht möglich; Java, Flash, PIN-Dialoge etc. sind für Sahi nicht "sichtbar", da keine Web-Inhalte
3) theoretisch möglich (siehe 1); bestenfalls jedoch "Notlösung"
4) Sahi kennt nur den Content des Browser-Canvas (den aber gut...)
1)
3) 2)
4)
Sakuli
21.05.2014 www.consol.de
Aus zwei mach eins: Sakuli = Sahi + Sikuli
11
Test	
  Case	
  
API	
  API	
  
"web""off-web"
SAKULI	
  
•  entstanden 2013 aus "sahi2OMD" (-> OSMC 2012)"
=> Gewinnung von SIEMENS als POC-Sponsor!
•  Java-Architektur: Steuern von Sahi und Sikuli über
deren Java-API"
•  Kapselung der Funktionsaufrufe beider Tools in
JavaScript"
•  einheitliche Handhabung"
•  Erweiterung bestehender Funktionen"
•  seamless integration: Sahi- und Sikuli-
Funktionen sind im Test beliebig mischbar"
•  Sakuli stellt alle Backend-Funktionen bereit
(Initialisierung, Zugriff auf die Result-DB,
Erstellen von Screenshots bei Exceptions,
Logging, ...) "
•  Test-Cases in JavaScript-Syntax: Keine Java-
Kenntnisse zur Test-Erstellung erforderlich"
21.05.2014 www.consol.de
12
Architektur von Sakuli
Test	
  Case	
  
API	
  API	
  
"web""off-web"
SAKULI	
  
MySQL Result DB"
OMD! Sakuli Client!
21.05.2014 www.consol.de
Live-Demo
13
•  Aufbau von Sakuli-Scripts
•  Testcase: eShop: Bestellung + Bestellbestätigung drucken
•  Zusammenspiel von Sahi und Sikuli
•  check_mysql_health – Custom "Sakuli" Mode
•  Performancedaten – Custom PNP4Nagios Template
•  wenns kracht...
•  Sakuli "from scratch"
21.05.2014 www.consol.de
Ausblick: weitere geplante Features
14
•  Headless Execution
•  Linux: xvfb
•  Windows: ?
•  Aufzeichnung der Testabläufe als Film
•  Fehlerdokumentation
•  Debugging
•  Multi-Wait
•  Sakuli als Integration Test Tool
•  [Dein Vorschlag]
21.05.2014 www.consol.de
Ausblick: Queue-basierte Architektur (Release 2)
15
Scheduler	
  
Server/Scheduler
•  mit Web-Oberfläche zur Verwaltung incl.
JavaScript-Editor
•  stellt Queues (gruppiert nach OS, Browser o.ä.)
•  legt Test-Jobs in die entspr. Queues
•  Test-Jobs enthalten alle zur Ausführung
notwendigen Dateien
21.05.2014 www.consol.de
Ausblick: Queue-basierte Architektur (Release 2)
16
Scheduler	
  
Q1" Q2" Q3" Q4"
Worker	
  1	
  
Worker	
  2	
  
Worker	
  3	
  
Worker
•  ist in einer/mehreren Queue(s) registriert
•  entnimmt Job aus der Queue und führt ihn aus
•  speichert das Ergebnis in einer Result-Queue
Results"
Worker	
  4	
  
21.05.2014 www.consol.de
Ausblick: Queue-basierte Architektur (Release 2)
17
Scheduler	
  
Q1" Q2" Q3" Q4"
Worker	
  1	
  
Worker	
  2	
  
Worker	
  3	
  
Server/Scheduler
•  liest die Result-Queue und speichert die
Ergebnisse in der DB / sendet sie per GearmanD
OMD
•  prüft Result-Datenbank mit check_mysql_health
(Sakuli-Mode)
Results"
Worker	
  4	
  
21.05.2014 www.consol.de
Ausblick: Queue-basierte Architektur (Release 2)
18
Scheduler	
  
Q1" Q2" Q3" Q4"
Worker	
  1	
  
Worker	
  2	
  
Worker	
  3	
  
ü  Lastverteilung
ü  Erhöhung der Ausfallsicherheit
ü  System "balanciert" sich selbst aus
ü  Clients können zur Wartung inaktiv
geschalten werden,
die Messungen verteilen sich auf andere
Nodes
ü  einfache Skalierung durch Hinzufügen von
Workern
ü  Integration des Sakuli-Schedulers in OMD
Results"
Worker	
  4	
  
21.05.2014 www.consol.de
Download
19
https://github.com/ConSol/sakuli
21.05.2014 www.consol.de20
Vielen Dank für die Aufmerksamkeit!
Q&A

Mais conteúdo relacionado

Destaque

Erhöhen der Kundenzufriedenheit durch bessere Qualität der Lizenzimplementierung
Erhöhen der Kundenzufriedenheit durch bessere Qualität der LizenzimplementierungErhöhen der Kundenzufriedenheit durch bessere Qualität der Lizenzimplementierung
Erhöhen der Kundenzufriedenheit durch bessere Qualität der LizenzimplementierungFlexera
 
Hindernisse beim Beten
Hindernisse beim BetenHindernisse beim Beten
Hindernisse beim BetenIngo Breuer
 
Elektronische Lizenzierung auf Basis von „Pay As You Grow“
Elektronische Lizenzierung auf Basis von „Pay As You Grow“Elektronische Lizenzierung auf Basis von „Pay As You Grow“
Elektronische Lizenzierung auf Basis von „Pay As You Grow“Flexera
 
Wach Auf, du deutsches Land
Wach Auf, du deutsches LandWach Auf, du deutsches Land
Wach Auf, du deutsches LandIngo Breuer
 
AdminStudio Mobile Pack Datasheet
AdminStudio Mobile Pack DatasheetAdminStudio Mobile Pack Datasheet
AdminStudio Mobile Pack DatasheetFlexera
 
Deutsche Bibelübersetzung
Deutsche BibelübersetzungDeutsche Bibelübersetzung
Deutsche BibelübersetzungIngo Breuer
 
Manifest des freien Urchristentums an das deutsche Volk
Manifest des freien Urchristentums an das deutsche VolkManifest des freien Urchristentums an das deutsche Volk
Manifest des freien Urchristentums an das deutsche VolkIngo Breuer
 
Haft wegen Homeschooling. Der Bericht eines Vaters.
Haft wegen Homeschooling. Der Bericht eines Vaters.Haft wegen Homeschooling. Der Bericht eines Vaters.
Haft wegen Homeschooling. Der Bericht eines Vaters.Ingo Breuer
 
Optimiertes Lizenzmanagement für das Rechenzentrum
Optimiertes Lizenzmanagement für das RechenzentrumOptimiertes Lizenzmanagement für das Rechenzentrum
Optimiertes Lizenzmanagement für das RechenzentrumFlexera
 
Lecturio Med Slideshow
Lecturio Med SlideshowLecturio Med Slideshow
Lecturio Med SlideshowLecturio GmbH
 
Master of international Business Administration
Master of international Business AdministrationMaster of international Business Administration
Master of international Business AdministrationMIBA University of Hamburg
 
Die klügsten Städte Deutschlands
Die klügsten Städte DeutschlandsDie klügsten Städte Deutschlands
Die klügsten Städte DeutschlandsLecturio GmbH
 
Untersuchungsergebnisse
UntersuchungsergebnisseUntersuchungsergebnisse
Untersuchungsergebnissekgohr
 

Destaque (19)

Erhöhen der Kundenzufriedenheit durch bessere Qualität der Lizenzimplementierung
Erhöhen der Kundenzufriedenheit durch bessere Qualität der LizenzimplementierungErhöhen der Kundenzufriedenheit durch bessere Qualität der Lizenzimplementierung
Erhöhen der Kundenzufriedenheit durch bessere Qualität der Lizenzimplementierung
 
Hindernisse beim Beten
Hindernisse beim BetenHindernisse beim Beten
Hindernisse beim Beten
 
Elektronische Lizenzierung auf Basis von „Pay As You Grow“
Elektronische Lizenzierung auf Basis von „Pay As You Grow“Elektronische Lizenzierung auf Basis von „Pay As You Grow“
Elektronische Lizenzierung auf Basis von „Pay As You Grow“
 
Präsentation wpr lang2012
Präsentation wpr lang2012Präsentation wpr lang2012
Präsentation wpr lang2012
 
Wach Auf, du deutsches Land
Wach Auf, du deutsches LandWach Auf, du deutsches Land
Wach Auf, du deutsches Land
 
AdminStudio Mobile Pack Datasheet
AdminStudio Mobile Pack DatasheetAdminStudio Mobile Pack Datasheet
AdminStudio Mobile Pack Datasheet
 
Deutsche Bibelübersetzung
Deutsche BibelübersetzungDeutsche Bibelübersetzung
Deutsche Bibelübersetzung
 
Manifest des freien Urchristentums an das deutsche Volk
Manifest des freien Urchristentums an das deutsche VolkManifest des freien Urchristentums an das deutsche Volk
Manifest des freien Urchristentums an das deutsche Volk
 
PKset
PKsetPKset
PKset
 
Haft wegen Homeschooling. Der Bericht eines Vaters.
Haft wegen Homeschooling. Der Bericht eines Vaters.Haft wegen Homeschooling. Der Bericht eines Vaters.
Haft wegen Homeschooling. Der Bericht eines Vaters.
 
Optimiertes Lizenzmanagement für das Rechenzentrum
Optimiertes Lizenzmanagement für das RechenzentrumOptimiertes Lizenzmanagement für das Rechenzentrum
Optimiertes Lizenzmanagement für das Rechenzentrum
 
Lecturio Med Slideshow
Lecturio Med SlideshowLecturio Med Slideshow
Lecturio Med Slideshow
 
Web 2 0
Web 2 0Web 2 0
Web 2 0
 
Mobile Web Apps
Mobile Web AppsMobile Web Apps
Mobile Web Apps
 
P kssuz
P kssuzP kssuz
P kssuz
 
Master of international Business Administration
Master of international Business AdministrationMaster of international Business Administration
Master of international Business Administration
 
Retail
RetailRetail
Retail
 
Die klügsten Städte Deutschlands
Die klügsten Städte DeutschlandsDie klügsten Städte Deutschlands
Die klügsten Städte Deutschlands
 
Untersuchungsergebnisse
UntersuchungsergebnisseUntersuchungsergebnisse
Untersuchungsergebnisse
 

Semelhante a Simon Meggle - Open Source End2End Monitoring with Sakuli and Nagios

OSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas GelfOSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas GelfNETWAYS
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerSandro Sonntag
 
EnterJS 2015 - JavaScript von Morgen schon heute
EnterJS 2015 - JavaScript von Morgen schon heuteEnterJS 2015 - JavaScript von Morgen schon heute
EnterJS 2015 - JavaScript von Morgen schon heutePhilipp Burgmer
 
iOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deiOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deHolger Hammel
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft AG
 
Leistungsvergleich Präsentationsoberflächen für digitale Sammlungen 2013
Leistungsvergleich Präsentationsoberflächen für digitale Sammlungen 2013Leistungsvergleich Präsentationsoberflächen für digitale Sammlungen 2013
Leistungsvergleich Präsentationsoberflächen für digitale Sammlungen 2013goobi_org
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationGWAVA
 
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsNever Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsStefan Adolf
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudAarno Aukia
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt socDaniel Fisher
 
DevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampDevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampWerner Keil
 
OSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon Meggle
OSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon MeggleOSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon Meggle
OSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon MeggleNETWAYS
 
Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011Dominik Helleberg
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHFlorian Holzhauer
 
OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!Tobias Schneck
 
Augmented Reality Workshop
Augmented Reality WorkshopAugmented Reality Workshop
Augmented Reality Workshopargency
 

Semelhante a Simon Meggle - Open Source End2End Monitoring with Sakuli and Nagios (20)

OSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas GelfOSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM Server
 
EnterJS 2015 - JavaScript von Morgen schon heute
EnterJS 2015 - JavaScript von Morgen schon heuteEnterJS 2015 - JavaScript von Morgen schon heute
EnterJS 2015 - JavaScript von Morgen schon heute
 
iOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deiOS Testautomation bei mobile.de
iOS Testautomation bei mobile.de
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
OSGi: Tools und Entwicklungsprozesse in OSGi Projekten
OSGi: Tools und Entwicklungsprozesse in OSGi ProjektenOSGi: Tools und Entwicklungsprozesse in OSGi Projekten
OSGi: Tools und Entwicklungsprozesse in OSGi Projekten
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
 
Die Java Plattform Strategie
Die Java Plattform StrategieDie Java Plattform Strategie
Die Java Plattform Strategie
 
Leistungsvergleich Präsentationsoberflächen für digitale Sammlungen 2013
Leistungsvergleich Präsentationsoberflächen für digitale Sammlungen 2013Leistungsvergleich Präsentationsoberflächen für digitale Sammlungen 2013
Leistungsvergleich Präsentationsoberflächen für digitale Sammlungen 2013
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
 
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsNever Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc
 
DevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampDevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCamp
 
OSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon Meggle
OSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon MeggleOSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon Meggle
OSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon Meggle
 
Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HH
 
OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!
 
Augmented Reality Workshop
Augmented Reality WorkshopAugmented Reality Workshop
Augmented Reality Workshop
 

Simon Meggle - Open Source End2End Monitoring with Sakuli and Nagios

  • 2. 21.05.2014 www.consol.de2 AGENDA •  Begriff "End2End-Monitoring" •  die Situation und ihre Herausforderung •  Funktionsweise von Sahi/Sikuli •  Die Tools und ihre Stärken im Vergleich •  Aus zwei mach eins: Sakuli = Sahi + Sikuli •  Architektur von Sakuli •  Live-Demos •  Ausblick •  geplante Features •  Queue-basierte Architektur (Release 2) •  Download
  • 3. 21.05.2014 www.consol.de Begriff "End2End-Monitoring" •  Business-kritische Applikationen bestehen oft aus einer Vielzahl an Komponenten •  Applikations-Qualität nur am Ende der Funktionskette messbar => Monitoring aus Sicht des Anwenders durch User-Simulation 3
  • 4. 21.05.2014 www.consol.de die Situation und ihre Herausforderung •  viele frei verfügbare E2E-Tools •  Grenzen •  zu speziell •  Betriebssystem-spezifisch •  zu generisch •  zu wenig an der Realität •  Bisher: Sahi2OMD (vorgestellt auf der OSMC 2013) 4 ?
  • 5. 21.05.2014 www.consol.de5 Funktionsweise von Sahi •  Was ist/kann Sahi? ü  entwickelt von Narayan Raman (Indien) ü  „Web Automation and Testing Tool“ -> Tool zur Simulation von User-Aktion im Webbrowser ü  AJAX, Frames, iFrames, Up/Downloads, Browser alerts, NTLM Auth, HTTPS… ü  leistungsfähige Funktionen, wie z.B.: ü  intelligente Objekt-Adressierung auch über Frames/iFrames hinweg (kein XPath) ü  Funktionen für File/DB-Zugriff ü  Batch Mode & Multi-Threaded Playback ü  Sahi erkennt selbst, wenn Seiten/AJAX-Requests fertig geladen sind. ü  Java-API ü  Sahi läuft auf jedem OS mit Java (z.B. auch iOS, Android…) in jedem Browser (ohne Plugin) ü  Open Source •  Was ist/kann Sahi nicht? -  alles, was außerhalb des DOMs liegt (z.B. Flash-Inhalte, Java-Applets) -  Tests außerhalb des Browserinhaltes http://sahi.co.in/
  • 6. 21.05.2014 www.consol.de6 localhost:9999 Sahi Test-Host Webserver Funktionsweise von Sahi HTTP Request/Response Browser Sahi-Prozess •  Sahi wird als Proxy zwischen Browser und Server geschaltet •  Aufzeichnung aller weitergeleiteten Requests in SahiScript •  Wiedergabe durch Injizieren der SahiScripts in den Browser Testcase
  • 7. 21.05.2014 www.consol.de Situation und Herausforderung 7 •  viele frei verfügbare E2E-Tools •  Grenzen •  zu speziell (Bsp. PIN-Abfrage in Webbrowser) •  abhängig vom Betriebssystem •  zu generisch •  zu wenig an der Realität (Bsp. Test auf Protokoll-Ebene) •  Bisher: Sahi2OMD (OSMC 2013) •  End2End Web-Tests •  Hürden •  Browserdialoge •  Java-Applets, Flash, ... •  Kundenwunsch: GUI-Monitoring Herausforderung: Kompensation der Schwachstellen von Sahi durch zweites Tool
  • 8. 21.05.2014 www.consol.de Funktionsweise von Sikuli 8 •  Sikuli kann alles sehen und steuern, was der User sieht und mit Maus und Tastatur steuern kann •  Kern-Komponenten: •  java.awt.Robot zur Steuerung von Maus/Tastaturevents •  OpenCV Engine zur Erkennung von Bildmustern •  Screenshots werden auf dem Bildschirm lokalisiert => Region •  Region-Objekte erlauben Aktionen wie click(), type(), etc... •  Texterkennung (OCR), experimental •  auf jeder Plattform verfügbar •  Open Source (MIT)
  • 9. 21.05.2014 www.consol.de Die Tools und ihre Stärken im Vergleich 9 100% Web Web & "off-web" GUI-Tests (off-Browser content) 1) theoretisch möglich; im Vergleich zu Sahi jedoch viel zu aufwändig (und Unsinn!) 2) nicht möglich; Java, Flash, PIN-Dialoge etc. sind für Sahi nicht "sichtbar", da keine Web-Inhalte 3) theoretisch möglich (siehe 1); bestenfalls jedoch "Notlösung" 4) Sahi kennt nur den Content des Browser-Canvas (den aber gut...) 1) 3) 2) 4)
  • 10. 21.05.2014 www.consol.de Die Tools und ihre Stärken im Vergleich 10 100% Web Web & "off-web" GUI-Tests (off-Browser content) 1) theoretisch möglich; im Vergleich zu Sahi jedoch viel zu aufwändig (und Unsinn!) 2) nicht möglich; Java, Flash, PIN-Dialoge etc. sind für Sahi nicht "sichtbar", da keine Web-Inhalte 3) theoretisch möglich (siehe 1); bestenfalls jedoch "Notlösung" 4) Sahi kennt nur den Content des Browser-Canvas (den aber gut...) 1) 3) 2) 4) Sakuli
  • 11. 21.05.2014 www.consol.de Aus zwei mach eins: Sakuli = Sahi + Sikuli 11 Test  Case   API  API   "web""off-web" SAKULI   •  entstanden 2013 aus "sahi2OMD" (-> OSMC 2012)" => Gewinnung von SIEMENS als POC-Sponsor! •  Java-Architektur: Steuern von Sahi und Sikuli über deren Java-API" •  Kapselung der Funktionsaufrufe beider Tools in JavaScript" •  einheitliche Handhabung" •  Erweiterung bestehender Funktionen" •  seamless integration: Sahi- und Sikuli- Funktionen sind im Test beliebig mischbar" •  Sakuli stellt alle Backend-Funktionen bereit (Initialisierung, Zugriff auf die Result-DB, Erstellen von Screenshots bei Exceptions, Logging, ...) " •  Test-Cases in JavaScript-Syntax: Keine Java- Kenntnisse zur Test-Erstellung erforderlich"
  • 12. 21.05.2014 www.consol.de 12 Architektur von Sakuli Test  Case   API  API   "web""off-web" SAKULI   MySQL Result DB" OMD! Sakuli Client!
  • 13. 21.05.2014 www.consol.de Live-Demo 13 •  Aufbau von Sakuli-Scripts •  Testcase: eShop: Bestellung + Bestellbestätigung drucken •  Zusammenspiel von Sahi und Sikuli •  check_mysql_health – Custom "Sakuli" Mode •  Performancedaten – Custom PNP4Nagios Template •  wenns kracht... •  Sakuli "from scratch"
  • 14. 21.05.2014 www.consol.de Ausblick: weitere geplante Features 14 •  Headless Execution •  Linux: xvfb •  Windows: ? •  Aufzeichnung der Testabläufe als Film •  Fehlerdokumentation •  Debugging •  Multi-Wait •  Sakuli als Integration Test Tool •  [Dein Vorschlag]
  • 15. 21.05.2014 www.consol.de Ausblick: Queue-basierte Architektur (Release 2) 15 Scheduler   Server/Scheduler •  mit Web-Oberfläche zur Verwaltung incl. JavaScript-Editor •  stellt Queues (gruppiert nach OS, Browser o.ä.) •  legt Test-Jobs in die entspr. Queues •  Test-Jobs enthalten alle zur Ausführung notwendigen Dateien
  • 16. 21.05.2014 www.consol.de Ausblick: Queue-basierte Architektur (Release 2) 16 Scheduler   Q1" Q2" Q3" Q4" Worker  1   Worker  2   Worker  3   Worker •  ist in einer/mehreren Queue(s) registriert •  entnimmt Job aus der Queue und führt ihn aus •  speichert das Ergebnis in einer Result-Queue Results" Worker  4  
  • 17. 21.05.2014 www.consol.de Ausblick: Queue-basierte Architektur (Release 2) 17 Scheduler   Q1" Q2" Q3" Q4" Worker  1   Worker  2   Worker  3   Server/Scheduler •  liest die Result-Queue und speichert die Ergebnisse in der DB / sendet sie per GearmanD OMD •  prüft Result-Datenbank mit check_mysql_health (Sakuli-Mode) Results" Worker  4  
  • 18. 21.05.2014 www.consol.de Ausblick: Queue-basierte Architektur (Release 2) 18 Scheduler   Q1" Q2" Q3" Q4" Worker  1   Worker  2   Worker  3   ü  Lastverteilung ü  Erhöhung der Ausfallsicherheit ü  System "balanciert" sich selbst aus ü  Clients können zur Wartung inaktiv geschalten werden, die Messungen verteilen sich auf andere Nodes ü  einfache Skalierung durch Hinzufügen von Workern ü  Integration des Sakuli-Schedulers in OMD Results" Worker  4  
  • 20. 21.05.2014 www.consol.de20 Vielen Dank für die Aufmerksamkeit! Q&A