Uptime monitoring voor API's: endpoints en webhooks monitoren
Hoe je API-endpoints, webhooks en backend services monitort. Detecteer API-storingen, degradatie van response times en timeout-problemen.
Waarom API monitoring anders is#
Je website kan "up" zijn terwijl je API stuk is. Gebruikers zien een homepage die prima laadt, maar de app-functionaliteit waar ze van afhankelijk zijn werkt totaal niet.
Voorbeeld: je checkout-pagina laadt (site is up ✅), maar de payment-API faalt (site is stuk ❌). Klanten kunnen geen aankopen voltooien. Omzet stopt.
API monitoring detecteert deze onzichtbare storingen.
Wat heeft API monitoring nodig#
- Payment gateways (Stripe, PayPal, Square)
- Authenticatie-endpoints (login/logout)
- Data-API's (productlijsten, gebruikersdata)
- Webhooks (inkomende data van derden)
- Zoek-endpoints
- Media-upload API's
HTTP-statuscodes in API's#
API's gebruiken HTTP-statuscodes anders dan websites:
Website:
- 200 OK: pagina laadt
- 500 Server Error: site is stuk
API:
- 200 OK: request geslaagd
- 400 Bad Request: client stuurde verkeerde data
- 401 Unauthorized: authenticatie mislukt
- 403 Forbidden: geen permissies
- 404 Not Found: endpoint bestaat niet
- 429 Too Many Requests: rate limited
- 500+ Server Error: backend stuk
Belangrijk verschil: een API kan 200 OK teruggeven met een error in de JSON body.
Voorbeeld:
{
"status": 200,
"success": false,
"error": "Payment processing failed"
}
HTTP zegt "OK", maar de API is feitelijk gefaald. Basis uptime monitoring mist dit.
API monitoring opzetten#
Stap 1: identificeer kritieke API-endpoints#
Zet alle API-endpoints op een rij die kritiek zijn voor je business:
/api/auth/login(gebruikers kunnen niet inloggen als dit faalt)/api/payments/create(gebruikers kunnen niet afrekenen)/api/users/profile(app crasht als dit faalt)/webhooks/stripe(betalingen worden niet vastgelegd als dit faalt)
Stap 2: bepaal response-validatie#
Beslis voor elk endpoint wat "up" betekent:
Basis check (HTTP-status):
- Endpoint geeft 200 of 201 terug = OK
Tussenliggende check (status + response time):
- Endpoint geeft 200 EN antwoordt binnen < 1 seconde
Geavanceerde check (status + body content):
- Endpoint geeft 200 EN response body bevat verwachte data
Stap 3: configureer monitoring tool#
In Nova Uptime:
- Voeg domein toe:
https://api.yourdomain.com - Voeg elk kritiek endpoint toe als aparte monitor:
/api/auth/login/api/payments/create- etc.
- Configureer response body-validatie indien beschikbaar
- Stel alert thresholds in (2 opeenvolgende failures voor alerting)
Geavanceerd: response body-validatie#
Sommige endpoints vereisen een specifiek response-format.
Voorbeeld: payment creation endpoint
Verwachte response:
{
"success": true,
"payment_id": "pay_12345",
"amount": 99.99
}
Monitoring-setup:
- Check of response
"success": truebevat - Zo niet, dan is endpoint "stuk", ook al is HTTP-status 200
Nova Uptime's Email Health Checker valideert response bodies — hetzelfde principe geldt voor API monitoring.
Authenticatie-tokens in API monitoring#
De meeste API's vereisen authenticatie. Om ze te monitoren:
Optie 1: maak een test API key
- Genereer een speciale test API key voor monitoring
- Gebruik deze key in alle monitoring-requests
- Deze key heeft alleen read-permissies (kan geen data wijzigen)
- Gebruik deze key in de monitoring tool
Optie 2: publiek endpoint
- Sommige API's hebben unauthenticated endpoints (health check, status)
- Monitor deze in plaats daarvan
- Voorbeeld:
GET /api/health(publiek, geen auth vereist)
Webhook monitoring#
Webhooks zijn lastiger. Ze zijn inkomend (jij ontvangt ze, jij stuurt niet naar ze).
Monitor het endpoint dat webhooks ontvangt:
Voorbeeld: Stripe stuurt POST naar https://yourdomain.com/webhooks/stripe
Hoe te monitoren:
- Maak een test webhook sender (handmatig getriggerd)
- Verifieer dat endpoint hem accepteert en 200 teruggeeft
- Controleer logs of de webhook is verwerkt
Of gebruik synthetic monitoring:
- Zet een synthetic POST request naar het webhook endpoint op
- Voeg een test payload toe
- Verifieer dat hij ontvangen en verwerkt wordt
Response time monitoring#
API's draaien niet alleen om up/down. Ze draaien ook om snelheid.
Trage API = stukke API (vanuit gebruikersperspectief).
Stel response time thresholds in:
- Authenticatie-endpoint: < 200ms
- Payment-endpoint: < 500ms
- Zoek-endpoint: < 1000ms (complexer)
Als een endpoint 5 seconden over een response doet, ervaren gebruikers timeouts en haken af, ook al "werkt" het.
Rate limiting-overwegingen#
API's hanteren vaak rate limiting om misbruik te voorkomen.
Probleem: je monitoring stuurt elke minuut een check. Bij 1.000 monitors zijn dat 1.000 requests per minuut. Als je API rate limit op 100/minuut zit, wordt monitoring geblokkeerd.
Oplossing:
- Maak een aparte API key voor monitoring (met hoge rate limit)
- Of verlaag de check-frequentie (elke 5 minuten in plaats van 1)
- Of gebruik een intern
/healthendpoint dat niet rate-limited is
Veelgemaakte API monitoring-fouten#
Fout 1: production monitoren met destructieve operaties#
Monitor niet:
POST /api/users/delete ← Deletes users on each check
POST /api/billing/charge ← Charges card on each check
Monitor read-only operaties in plaats daarvan:
GET /api/users/{id}
GET /api/health
Fout 2: authenticatie in de URL meesturen#
Niet doen:
GET /api/endpoint?auth_token=SECRET
Hierdoor komen secrets in logs terecht. Gebruik in plaats daarvan headers:
Authorization: Bearer SECRET_TOKEN
Fout 3: webhook-endpoints niet testen#
Webhooks zijn kritiek maar vaak ongetest. Je webhook-processor kan compleet stuk zijn zonder dat je het weet.
Fix: stuur regelmatig test webhooks en verifieer dat ze worden verwerkt.
API-dependencies monitoren#
Je API kan afhankelijk zijn van externe services:
- Database (als die down is, is API down)
- Message queue (Redis, RabbitMQ)
- Cache (Memcached)
- Externe API's (Stripe, Twilio)
Monitor deze apart:
- Database health check-endpoint
- Cache status-endpoint
- Statuspagina van third-party API
Alerts instellen voor API-failures#
Als API monitoring een failure detecteert:
Alert moet bevatten:
- Welk endpoint faalde
- Wat de failure was (timeout vs 500 error)
- Wanneer het begon
- Recente wijzigingen (indien beschikbaar)
Alert-severity:
- Kritiek: payment/auth API (gebruikers geblokkeerd)
- Hoog: search/data API (gebruikers gefrustreerd)
- Medium: analytics/logging (errors zichtbaar voor gebruikers)
API monitoring in Nova Uptime#
Nova Uptime monitort API-uptime naast website-uptime:
- Voeg je API-domein toe:
https://api.yourdomain.com - Configureer endpoint monitoring
- Krijg alerts via e-mail/Slack
- Bekijk incident history en response times
- Automatische screenshots van failures (voor debugging)
Plus email health monitoring — als je API transactionele e-mails verstuurt, checkt Nova Uptime automatisch SPF/DKIM/DMARC op hetzelfde dashboard.
Samenvatting#
- Lijst kritieke API-endpoints op
- Bepaal wat "up" voor elk betekent (statuscode, response time, body content)
- Maak monitoring voor elk
- Stel response time thresholds in
- Monitor dependencies (database, cache, third-party)
- Test webhooks regelmatig
- Alert direct bij failures
Begin vandaag met het monitoren van je API: Nova Uptime API monitoring. Inclusief uptime + email health op hetzelfde dashboard. 🚀
Monitor Your Website Before It Goes Down
Get uptime monitoring, SSL tracking, domain expiry alerts, and email health checks. Free plan — no credit card required.
Start Monitoring Free