Integrating Sakuli with Prometheus for End-to-End Monitoring

Overview

Sakuli provides native support for forwarding test results into Prometheus. This integration allows teams to track performance, availability, and reliability of business-critical workflows by using Prometheus metrics and visualizing them in dashboards such as Grafana.

Benefits

  • Real-time visibility of Sakuli test executions.

  • Standard Prometheus metrics for monitoring and alerting.

  • Easy integration with existing DevOps pipelines.

  • Combine functional tests with infrastructure monitoring.

Configuration

  1. Run Sakuli in a container with Prometheus exporter enabled:

    docker run -d

    -p 8080:8080 -e PROMETHEUS_FORWARDER=true sakuli/sakuli

  2. Add Prometheus scrape configuration in prometheus.yml:

    scrape_configs:
    • job_name: “sakuli” static_configs:

      • targets: [“localhost:8080”]

  3. Verify Prometheus metrics by opening:

    http://localhost:8080/metrics

Example Metrics

Sakuli forwards test case metrics in Prometheus format. Example output:

# HELP sakuli_testcase_duration_seconds Duration of Sakuli test case in seconds
# TYPE sakuli_testcase_duration_seconds gauge
sakuli_testcase_duration_seconds{testCase="Login Workflow"} 12.8

# HELP sakuli_testcase_status Status of Sakuli test case (0=OK,1=WARNING,2=CRITICAL,3=UNKNOWN)
# TYPE sakuli_testcase_status gauge
sakuli_testcase_status{testCase="Login Workflow"} 2

Alerting Workflow

Once Sakuli metrics are exposed, Prometheus alerting rules can detect failures.

Example alert.rules.yml:

groups:
  - name: sakuli-alerts
    rules:
      - alert: SakuliTestFailure
        expr: sakuli_testcase_status > 0
        for: 1m
        labels:
          severity: critical
        annotations:
          summary: "Sakuli Test Case Failed"
          description: "Test case {{ $labels.testCase }} failed with status {{ $value }}"

Visualizing in Grafana

  • Import Prometheus as a data source in Grafana.

  • Create dashboards for test case status, execution time, and error trends.

  • Combine application-level monitoring with Sakuli E2E test results.

References