Child pages
  • How to send Sikulix Test Results to OP5
Skip to end of metadata
Go to start of metadata

Background

This plugin does two things.

  1. It parses the sikulix log file and converts it to a standard nagios plugin format.
  2. Sends the output to an OP5 server using passive checks.

Other Approaches

Another approach is to install a filebeat agent and send the sikulix test results to Log Analytics. You probably have to involve logstash to parse the sikulix log files.

Step-by-step guide

  1. Install sikulix and it's dependencies. https://raiman.github.io/SikuliX1/downloads.html 
  2. Download the sikuliwrapper plugin . It uses python so install python as well. It may require you to install the python module as well which you can do using pip install. 
    1. The plugin takes 8 arguments. The full path of your sikulix.jar, skl file(sikuli test file), full path of your test log, IP/hostname of your OP5 server, username and password.
      sikuliwrapper.py
  3. Install the above on the server which you would like to run the plugin and sikulix on.
  4. Create a host called WinTest and a passive service called Sikuli Test. 
    1. These will be arguments in the future.

 

This is a very early version of the plugin and is not intended for production usage. Another option is to run this script using NRPE from OP5 and disable the passive check function in the plugin.

Missing features in the plugin:

Better error handling.

Help command for the script.

Adding a function to wait for the sikuli test case/process to finish instead of a static wait.  


Example

This is an example that opens the "calculator" app on Windows. The script was created in sikulix IDE


The script was then exported to a sikuli packed script (*.skl)


Below we can see the plugin and the test case executed. The plugin outputs the message and sends the result as a passive check to OP5 monitor:


The plugin sends the output message, response time of each command and the status_code to OP5 monitor

The status code is either 1 (Ok) or 2 (Critical). The plugin takes care of this very simply by searching for "error" in the log file. If it find it, it will change the status to 2.