How monitoring works

System architecture

CyberApis runs on a Mikrus server and uses Laravel's built-in task scheduler (cron) to periodically check your websites. By default, tests run every 5 minutes.

Check process step by step

  1. HTTP Request — the system sends an HTTP GET request to your URL, expecting a 2xx response code (e.g. 200 OK).
  2. Response analysis — response time is measured in milliseconds and the presence of expected text on the page is checked (if configured).
  3. Sanity check — heuristics analyze the page content for error indicators (empty page, PHP error messages, server errors).
  4. Render probe — if enabled, Browsershot/Puppeteer takes a screenshot in headless Chrome and visually compares it with the previous screenshot.
  5. Decision — based on all results, the system determines: the site is working correctly, or there is a problem.

What happens when a site is down?

When a test detects an issue, the system does not send an alert immediately. Instead:

  • The test is retried on the next cycle (~5 minutes later) to rule out temporary network issues.
  • After several consecutive failures, the system sends an email alert to configured addresses.
  • Alerts include details: error type, URL, timestamp, and screenshot (if applicable).
  • When the site recovers, a recovery notification is sent.

Where do the tests run from?

All tests run from the Mikrus server located in Poland. This means:

  • Response times reflect real-world conditions from a Polish user's perspective.
  • If your site is hosted abroad, response times may be slightly higher due to geographic distance.
  • Tests are not geographically distributed — we do not check from multiple locations simultaneously.