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
Nächste SlideShare
Wird geladen in …5
×

Simon Meggle - Open Source End2End Monitoring with Sakuli and Nagios

4.500 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
4.500
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3.264
Aktionen
Geteilt
0
Downloads
7
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

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

×