
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.
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-keyDe 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.
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.
{
"monitor": "api.semro.nl",
"event": "down",
"confirmed_by": ["ams", "fra"],
"status_code": 503,
"at": "2026-06-04T12:38:11Z"
}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.