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.
- Log in to vigilmon.online and click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter your Allure server URL:
https://allure.yourcompany.com. - Set Check interval to
2 minutes. - Set Expected HTTP status to
200. - 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.
- In Vigilmon, click Add Monitor → Cron Heartbeat.
- Set the expected interval to match your CI cadence (e.g.
60minutes for hourly runs). - 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.
- Open the HTTP monitor you created in Step 1.
- Enable Monitor SSL certificate.
- Set Alert when certificate expires in less than
21 days. - 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
- In Vigilmon, open the Allure server HTTP monitor.
- Click Alerting → Add Alert Channel.
- Add Slack (to your
#qa-alertschannel) and Email (to the QA lead). - Set trigger: down for 2 minutes for the server monitor, missed 1 heartbeat for the pipeline monitor.
- 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.