Академический Документы
Профессиональный Документы
Культура Документы
Page 2
Introduction ITeratio
Business Field Monitoring
Incident Capacity
Management Management
Business
Management
Service
BIG-Data-Analyse
User/Technologie/customer
Service Reporting
Problem customer
Level
Management
Management
Management
Event
End-to-End Monitoring
User
Infrastructure Monitoring
Technology
Configuration Availability
Management Management
Page 3
End2End Monitoring with Check_MK
Agenda
Page 4
Terms - Delimitation
End2End Monitoring mit Check_MK
Page 5
Passive vs. Active E2E Monitoring
End2End Monitoring with Check_MK
Page 6
Objectives and addressees
Application Owner/ Customer Care Center
Operating / CCC
/Application owner
Intranet /
Internet
Database Websphere Webserver Firewall User
Firewall
/Java
Page 7
Overview End2End Monitoring
Scenario
Component E2E
Page 8
Objectives and addressees
Service Management
Page 9
There are several open source tools for E2E monitoring
Tools
Page 10
Overview End2End Monitoring
Tools for End2End Testing
• Check_http • AutoIT
• Check_webinject • Sikuli
• Seleninum
• Sahi
• AutoIT
Page 11
Monitoring of Web Applications
Check_http , nt_check_http.ps1
Page 12
Monitoring of Web Applications
check_webinject (webinject project)
Page 13
Monitoring of Web Applications
Selenium Web Driver
Pros:
• Open Source
• Large community
• Very good documentation
even for language bindings
• Works on multiple os (java)
• Works on multiple browsers
• Multiple scripting languages
• Works headless (phantomJS or
xvfb)
• Cons:
• Usage of Xpath
• Need of wait statements
for making ajax work
Page 14
Monitoring of Web Applications
Selenium Web Driver API
Locating elements: Actions :
• find_element_by_id • _click, _double_click ...
• find_element_by_name • _send_keys
• find_element_by_xpath • _move_to_element
• find_element_by_link_text • ......
• find_element_by_partial_link_text
• find_element_by_tag_name
• find_element_by_class_name Page navigation, history and popup
• find_element_by_css_selector handling:
• ....... • _switch_to_window
• _switch_to_frame
Wait statements: • _switch_to_alert
• Implicit Waits • .....
• Waiting on DOM objects
• Explicit Waits
• Waiting on conditions
Page 15
Monitoring of Web Applications with Selenium
Selenium Integration in Check_MK (Nagios) 2/2
Nagios Plugins
• check_selenium, check_selenium (Perl), check_selenium.py and many more
!!!All of them have limited functionality!!!!
Selmon
• Classical active check
• https://github.com/objectified/sel
mon
• Python Library
• Easy Performance values for
individual steps
• Easy integration of conditional
test
• Integrated Picture Tests
• Needs selenium server running
Page 16
Monitoring of Web Applications with Sahi
Sahi Functionalities
Functionalities: sahiproxy:
Functionalities: Pros:
Page 20
Comparison of Web Application Monitoring
Web Application E2E Monitoring 1/3
Feature \ Product Selenium AutoIt Sahi check_webinject
Browser-Support Internet Internet Internet No browser
Explorer, Explorer, Explorer, support , works
Firefox, Firefox, Firefox, on protocol level
Chrome, Opera Chrome,
Safari, ... Safari,
Opera, ...
Platform Linux, Windows Linux, Independent(Perl-
Windows, Windows, Mac Skript/Modules)
Mac
Testcases Java, Python, Similar to Sahiscript XML-format
(Description Ruby, C#, BASIC (JavaScript)
Language) Perl, ...
Creation of test Selenium IDE SciTe or any Sahi Driver, Arbitrary Editor
cases or anny other other IDE Eclipse or any
IDE e.g. other Java IDE
Eclipse
Page 21
Comparison of Web Application Monitoring
Web Application E2E Monitoring 2/3
Feature \ Product Selenium AutoIt Sahi check_webinject
Execution of Registered and logged on desktop user Background
Testcases
Execution with Yes Yes Yes Yes
locked desktop (no GUI (As long as no (no GUI control
control direct GUI possible)
possible) control is
necessary)
Check_MK / Yes Yes Yes Yes
Nagios Plugin
Check_MK MRPE/NRPE / Nagios Plugin, Classical Nagios
integration NSCA, Spool Directory Plugin
local check (no Windows, Session 0 Problem)
Page 22
Comparison of Web Application Monitoring
Web Application E2E Monitoring 3/3
Feature \ Produkt Selenium AutoIt Sahi check_webinject
Automatically „no“ no yes Not relevant,
waits for web page User wait HTTP Status
loading (ajax statements Codes (No GUI)
elements) needed
Test case Recording yes, export in no yes No (use proxy to
different identify actions)
language
bindings
possible
Page 23
Building Test Cases
!!!What you should do!!!
Page 25
Monitoring of GUI Applications with Sikuli
Sikuli Functionalities
• Java Applications
• Script Languages
• Python (Jython), Ruby, JavaScript, RobotFramework
• Robotic Control of GUI Aplications (fat clients)
• Identify Image Patterns (Screenshots) on the display (OpenCV)
• Screenshot-based tool
• Screenshots must be created manually
• Dependent on
• ScreenSize(resolution)
• Presentation form (e.g. colors, background image, etc.
• Localization(Language)
• Specific Application (Firefox, IE, ...)
• Execute Mouse an Keyboard actions
• Can search for more objects in the region
• Can extract text by OCR (Tesseract) (BETA)
Page 26
Comparison
Gui Applications
Feature \ Product AutoIt Sikuli
Testcases (description Similar to BASIC JavaScript, Python, Ruby
language)
GUI-Control and - Standard Controls - Pixel-/Screenshot comparison
Comparison - Usage of DLL and Windows - OCR / Text Recognation
API functions - keyboard and mouse actions
- keyboard and mouse actions
Integrationin Check_MK MRPE/NRPE over Nagios Plugin, NSCA, local Check,Spool Dir
Page 27
GUI and Web Applications
Sakuli (Consol Labs)
Page 28
Gui und Webanwendungen
Sakuli (Consol Labs)
• Check_MK Integration
Page 29
End2End Monitoring
Summary
• All of the tools can be integrated in Check_MK
• Use them together with
• Element/Component monitoring (360° View)
• BI
• Reports
• Service Times
• Performance Graphs
• Creation of robust test cases
• Error handling
• Multiple element validation,
• Security
• If possible, run with a locked desktop
• Use virtualization
• Location based security
• Ensure smooth test case operation
• Auto Recovery
• Intercepting e.g. Memory leaks of the controlled
application (browser)
• Check state of the last testcase, before starting new one
Page 30
Wir stellen ein!!!
karriere@iteratio.com