Sakuli: end-to-end monitoring

  • Are you looking to ensure that your applications always run reliably and deliver a high level of performance for the user?
  • Or are you interested in running automated GUI tests in continuous integration environments?

Our solution goes by the name Sakuli.

The test framework, developed by ConSol, simulates user actions on graphical interfaces, evaluates their content, records the execution times, and allows the results to be forwarded to (monitoring) systems such as Nagios, Icinga, and others. Sakuli combines two powerful, well-established open source tools that are based on completely different technologies:

  • Sahi is the first choice for web content, which it identifies, activates, and processes using the DOM.
  • Sikuli localizes image patterns on the display and therefore works with every application.

Sakuli is more than the sum of its parts: When one of the two programs reaches its natural limit, the other one simply takes over. Sakuli combines the strengths of both tools and works around the respective weaknesses of the individual tools.

    The strengths of Sakuli:

    • End-to-end monitoring for applications: A tool for universal monitoring of the application layer: Whether it’s the Internet, a fat client (for example, SAP), or a bit of both (for example, Citrix), Sakuli always has the right tool available, even in mixed operation.
    • Automation of GUI tests: Web-based browser tests and GUI tests for rich clients with a connection to continuous integration environments: The effort involved in manual testing is significantly reduced with Sakuli test automation.
    • One tool for all platforms: Sakuli tests run on Windows and Linux operating systems. 
    • Sakuli tests in Docker containers are free of any disturbances and legacies of the underlying operating system, because they always have identical conditions to start (that is, without cached browser content, tests blocking OS updates e.g.). There are no limits to horizontal scaling of E2E setups with Docker; the separated resources of the container technology isolates the instances from each other and allows the parallel execution.
    • Modularity: Sakuli results can be integrated into any third-party system, such as Nagios, Icinga2, Databases (MySQL) or Check_MK, using receiver modules.
    • Open source: Sakuli and all of its components are freely available.
      Sakuli-Download at GitHub

    Sakuli in action: short films & moving images

    • Installation: The graphical assistant greatly simplifies the initial setup of Sakuli clients. All parameters can be saved as a XML file, which can be used to automate all further installations.
    • Screenshot history: Lets you browse through all past screenshots of application errors in a convenient way.

    Examples of Sakuli in use in the early detection of incidents and software errors:

    Do the Citrix applications in subsidiaries react just as quickly as at headquarters? 

    • Sakuli stays permanently logged in to Citrix applications at all locations. Nagios triggers an alert if the permitted runtimes for the checks and/or the steps in the check are exceeded. The historical measurement data is suitably presented in graphs to allow any changes in application performance to be identified.

    Are the most important webshop and ERP system functions working properly?  

    • Sakuli logs in to the webshop as a test user, reviews the order process using article search and shopping cart functions, changes inventory data, and much more. 
    • Sakuli checks whether the order generated by the webshop is present in the ERP system and ensures that it will be processed there.
    • Sample project: M-net order processing

    Are the figures in the daily SAP NetWeaver report up to date? 

    • Sakuli independently calls up SAP reports and monitors their execution time and how up-to-date the content is.

    How reliable is delivery by the SaaS service provider? 

    • Sakuli tests the availability and functioning of services that have few monitoring interfaces and/or have infrastructure outside of their control.

    What about function and performance of internal web applications?

    • The local government of a German city monitors the complete internal web application landscape with Sakuli; the results are reported to the Nagios monitoring and visualized there.
    • Thanks to container technology the "plan-build-run" cycle can also be mapped for E2E tests across team boundaries. Docker scales horizontally with the E2E setup, uses hardware resources much better and grows with the requirements.