Developer aan het bureau met de Semro-statuspagina van klant Twizy open op een groot scherm

Precieze metingen, geen ruis

Een site geeft HTTP 200 en is tóch stuk. Een cron-job stopt stilletjes. Een 429 lijkt op een storing, maar is het niet. Semro meet wat echt telt en zegt eerlijk wat de meting betekent.

Heartbeat-monitoring

Weet wanneer je cron-job stilvalt

Laat je job een ping sturen naar Semro. Blijft die ping uit, dan weet jij het, niet je klant. Voor backups, queues, imports en alles wat op de achtergrond moet draaien.

  • Stel een verwacht interval in, plus een marge voor uitloop.
  • Eén curl-regel aan het eind van je script, klaar.
#!/usr/bin/env bash
# Draai je taak; ping Semro alleen als 'ie lukt
/opt/scripts/backup.sh && curl -fsS -m 10 "https://api.semro.nl/api/v1/heartbeat/<token>"

De && zorgt dat de ping alleen draait als je script slaagt (exit 0). Mislukt het, dan blijft de ping uit en alarmeert Semro.

composer require semro/laravel-reporter

# .env — key uit Semro → Applicaties → Installatie
SEMRO_KEY=jouw-ingest-key

De package haakt automatisch in op de exception-handler en rapporteert alleen in production/staging. Opties als queue en scrubbing: php artisan vendor:publish --tag=semro-config.

Foutmonitoring

Stop met dagelijks logs lezen

Laat je applicatie haar fouten naar Semro pushen. Je ziet ze gegroepeerd terug per type en bestand — en je hoort het van Semro, niet van de klant die belt.

  • Laravel in één regel: composer require semro/laravel-reporter, key in .env, klaar.
  • Melding bij een níeuwe fout of een piek — niet bij elke herhaling, dus geen volgelopen inbox bij één kapotte loop.
  • Elke stack werkt: één HTTP-POST met een key. Volledige uitleg (ook als AI-spec): semro-errors.md.

Intervallen tot 30 seconden

Korte intervallen waar het ertoe doet, met responstijd en historie per endpoint. Zie een trage trend aankomen voordat het een storing wordt.

Check-observability

We laten zien wat de meting echt zegt. Een 429 is rate limiting, geen storing. Een timeout in één regio is nog geen incident. Geen verkeerde conclusies.

Rust in je meldingen

Pas alarmeren na X mislukte checks, throttle tegen herhaalspam en quiet hours voor 's nachts. Plus SLA-profielen per monitor of klant. Geen alert-moeheid.

webhook payload
{
  "monitor": "api.semro.nl",
  "event": "down",
  "confirmed_by": ["ams", "fra"],
  "status_code": 503,
  "at": "2026-06-04T12:38:11Z"
}
Webhooks, Slack en mail

Stuur de melding waar je team al werkt

Je hoeft niets te veranderen aan je workflow. Naast Slack en mail krijg je webhooks met een heldere payload, dus je bouwt er zelf op door.

  • Payload vertelt welke regio's de storing bevestigden.
  • SemroBot is eerlijk identificeerbaar, dus je kunt hem whitelisten.

200 betekent niet altijd gezond

Een pagina kan laden en toch leeg, gehackt of half kapot zijn. Met keyword-checks zien we of de echte inhoud er nog staat. En met twee-regio-bevestiging weet je zeker dat een melding hout snijdt.

MonitorCheckTwee-regio-bevestigingHeartbeatFoutmonitoringSLA-profielSemroBot

Begin gratis, zonder creditcard

Ruim gratis instapniveau. Schaal op naar kortere intervallen als je het nodig hebt.