Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
21.05.2014
Sakuli
End2End-Monitoring
Simon Meggle
21.05.2014 www.consol.de2
AGENDA
•  Begriff "End2End-Monitoring"
•  die Situation und ihre Herausforderung
•  Funktionswei...
21.05.2014 www.consol.de
Begriff "End2End-Monitoring"
•  Business-kritische Applikationen bestehen oft aus einer Vielzahl ...
21.05.2014 www.consol.de
die Situation und ihre Herausforderung
•  viele frei verfügbare E2E-Tools
•  Grenzen
•  zu spezie...
21.05.2014 www.consol.de5
Funktionsweise von Sahi
•  Was ist/kann Sahi?
ü  entwickelt von Narayan Raman (Indien)
ü  „Web...
21.05.2014 www.consol.de6
localhost:9999
Sahi Test-Host
Webserver
Funktionsweise von Sahi
HTTP Request/Response
Browser Sa...
21.05.2014 www.consol.de
Situation und Herausforderung
7
•  viele frei verfügbare E2E-Tools
•  Grenzen
•  zu speziell (Bsp...
21.05.2014 www.consol.de
Funktionsweise von Sikuli
8
•  Sikuli kann alles sehen und steuern, was der User sieht und mit Ma...
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...
21.05.2014 www.consol.de
Die Tools und ihre Stärken im Vergleich
10
100% Web
Web & "off-web"
GUI-Tests (off-Browser conten...
21.05.2014 www.consol.de
Aus zwei mach eins: Sakuli = Sahi + Sikuli
11
Test	
  Case	
  
API	
  API	
  
"web""off-web"
SAKU...
21.05.2014 www.consol.de
12
Architektur von Sakuli
Test	
  Case	
  
API	
  API	
  
"web""off-web"
SAKULI	
  
MySQL Result ...
21.05.2014 www.consol.de
Live-Demo
13
•  Aufbau von Sakuli-Scripts
•  Testcase: eShop: Bestellung + Bestellbestätigung dru...
21.05.2014 www.consol.de
Ausblick: weitere geplante Features
14
•  Headless Execution
•  Linux: xvfb
•  Windows: ?
•  Aufz...
21.05.2014 www.consol.de
Ausblick: Queue-basierte Architektur (Release 2)
15
Scheduler	
  
Server/Scheduler
•  mit Web-Obe...
21.05.2014 www.consol.de
Ausblick: Queue-basierte Architektur (Release 2)
16
Scheduler	
  
Q1" Q2" Q3" Q4"
Worker	
  1	
  ...
21.05.2014 www.consol.de
Ausblick: Queue-basierte Architektur (Release 2)
17
Scheduler	
  
Q1" Q2" Q3" Q4"
Worker	
  1	
  ...
21.05.2014 www.consol.de
Ausblick: Queue-basierte Architektur (Release 2)
18
Scheduler	
  
Q1" Q2" Q3" Q4"
Worker	
  1	
  ...
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
Upcoming SlideShare
Loading in …5
×

Simon Meggle - Open Source End2End Monitoring with Sakuli and Nagios

4,989 views

Published on

Published in: Technology
  • Be the first to comment

Simon Meggle - Open Source End2End Monitoring with Sakuli and Nagios

  1. 1. 21.05.2014 Sakuli End2End-Monitoring Simon Meggle
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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  
  19. 19. 21.05.2014 www.consol.de Download 19 https://github.com/ConSol/sakuli
  20. 20. 21.05.2014 www.consol.de20 Vielen Dank für die Aufmerksamkeit! Q&A

×