tutorial

How to Monitor Allure with Vigilmon

Allure generates beautiful test reports and dashboards — but if your Allure server goes down or reports stop publishing, your team flies blind. Here's how to monitor Allure with Vigilmon.

Allure is the test reporting framework that turns raw JUnit XML, pytest results, and test-suite JSON into interactive dashboards with trend graphs, flaky test detection, and per-test history. Teams rely on Allure Report to understand test health over time. When the Allure server goes down, reports stop publishing, or the historical data stops updating, developers lose visibility into test quality — and often don't notice for days. Vigilmon keeps watch over your Allure infrastructure so your test reporting never silently fails.

What You'll Set Up

  • HTTP uptime monitoring for Allure TestOps or self-hosted Allure server
  • Cron heartbeat for the report-generation pipeline
  • SSL certificate monitoring for your Allure instance
  • Alerting when reports stop publishing or the server goes down

Prerequisites

  • Allure Report (self-hosted) or Allure TestOps running and accessible
  • Test results publishing to Allure from CI (e.g. via allure-maven-plugin, allurepy, or allure-pytest)
  • A free Vigilmon account

Step 1: HTTP Monitor for Your Allure Server

A self-hosted Allure Report instance or Allure TestOps runs as an HTTP service. If it goes down, every team that depends on test reports is flying blind.

  1. Log in to vigilmon.online and click Add Monitor.
  2. Set Type to HTTP / HTTPS.
  3. Enter your Allure server URL: https://allure.yourcompany.com.
  4. Set Check interval to 2 minutes.
  5. Set Expected HTTP status to 200.
  6. Click Save.

For Allure TestOps, the health endpoint is:

https://allure.yourcompany.com/management/health

This endpoint returns 200 OK with {"status":"UP"} when all components are healthy, and a non-2xx status when any component (database, storage) is degraded. Use this URL instead of the root URL for a more meaningful health signal.


Step 2: Heartbeat Monitor for the Report Publishing Pipeline

The Allure server being up doesn't mean reports are actually being published. Your CI pipeline generates test results and uploads them to Allure — if that upload step fails silently, the server shows stale data. A Vigilmon heartbeat catches this.

  1. In Vigilmon, click Add MonitorCron Heartbeat.
  2. Set the expected interval to match your CI cadence (e.g. 60 minutes for hourly runs).
  3. Copy the heartbeat URL (e.g. https://vigilmon.online/heartbeat/abc123).

GitHub Actions with allure-pytest

# .github/workflows/tests.yml
name: Tests

on:
  push:
  schedule:
    - cron: '0 * * * *'

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Run tests with Allure
        run: pytest --alluredir=allure-results

      - name: Upload results to Allure TestOps
        run: |
          allurectl upload \
            --endpoint https://allure.yourcompany.com \
            --token ${{ secrets.ALLURE_TOKEN }} \
            --project-id 1 \
            allure-results/

      - name: Ping Vigilmon heartbeat
        if: success()
        run: curl -fsS --max-time 10 https://vigilmon.online/heartbeat/abc123

Java / Maven with allure-maven-plugin

<!-- pom.xml -->
<plugin>
  <groupId>io.qameta.allure</groupId>
  <artifactId>allure-maven</artifactId>
  <version>2.12.0</version>
</plugin>

After mvn test allure:report, post to Allure TestOps and ping Vigilmon:

#!/bin/bash
mvn test allure:report
if [ $? -eq 0 ]; then
  # Upload results
  allurectl upload --endpoint https://allure.yourcompany.com \
    --token "$ALLURE_TOKEN" --project-id 1 target/allure-results/
  # Ping heartbeat
  curl -fsS --max-time 10 https://vigilmon.online/heartbeat/abc123
fi

Step 3: SSL Certificate Monitoring for Allure

Allure dashboards are accessed by your entire QA and development team. A lapsed SSL certificate takes the dashboard offline and triggers browser security warnings.

  1. Open the HTTP monitor you created in Step 1.
  2. Enable Monitor SSL certificate.
  3. Set Alert when certificate expires in less than 21 days.
  4. Click Save.

For Allure instances behind a reverse proxy (nginx, Caddy), the certificate is managed by the proxy. Monitor the domain the proxy exposes — not the internal Allure port.


Step 4: Monitor Allure Storage Availability

Self-hosted Allure stores test history and attachments in a file system or S3-compatible object store. If storage fills up or the mount point fails, new results stop persisting — but the server stays up and returns 200, giving a false-healthy signal.

Set up a dedicated storage health endpoint in front of Allure:

# allure-health-proxy.py (Flask)
import os
import requests
from flask import Flask, jsonify

app = Flask(__name__)
ALLURE_URL = os.environ['ALLURE_URL']
ALLURE_TOKEN = os.environ['ALLURE_TOKEN']

@app.route('/health')
def health():
    checks = {}

    # 1. Allure server up
    try:
        r = requests.get(f'{ALLURE_URL}/management/health', timeout=5,
                         headers={'Authorization': f'Bearer {ALLURE_TOKEN}'})
        checks['server'] = 'up' if r.status_code == 200 else 'down'
    except Exception:
        checks['server'] = 'unreachable'

    # 2. Storage writable — attempt a trivial write via Allure API
    try:
        r = requests.get(f'{ALLURE_URL}/api/rs/launch', timeout=5,
                         headers={'Authorization': f'Bearer {ALLURE_TOKEN}'})
        checks['api'] = 'ok' if r.status_code == 200 else 'error'
    except Exception:
        checks['api'] = 'unreachable'

    all_ok = all(v in ('up', 'ok') for v in checks.values())
    return jsonify({'status': 'ok' if all_ok else 'degraded', **checks}), 200 if all_ok else 503

app.run(host='0.0.0.0', port=8080)

Add an HTTP monitor pointing at this proxy's /health endpoint.


Step 5: Set Up Alerting

  1. In Vigilmon, open the Allure server HTTP monitor.
  2. Click AlertingAdd Alert Channel.
  3. Add Slack (to your #qa-alerts channel) and Email (to the QA lead).
  4. Set trigger: down for 2 minutes for the server monitor, missed 1 heartbeat for the pipeline monitor.
  5. Click Save.

For the SSL certificate alert:

  • Route to the infrastructure team email and Slack.
  • 21 days gives enough time for certificate renewal without urgency, but the 7-day follow-up (set a second alert at 7 days) triggers an escalation if the first was ignored.

Conclusion

Allure is your window into test health across time — trend graphs, flaky test tracking, per-suite history. When the Allure server goes down or the publishing pipeline breaks, that window closes and quality regressions stop being visible. By the time someone notices the dashboard is stale, days of test data may be missing.

Vigilmon's HTTP monitors catch server downtime in minutes. The cron heartbeat catches the more insidious failure — reports not publishing even though the server is up. Set up both, route alerts to your QA team, and your Allure reporting infrastructure will be as reliable as the test data it holds.

Monitor your app with Vigilmon

Free plan — 5 monitors, no credit card required. Up and running in 60 seconds.

Start free →