Skip to main content

Wat is Laravel Nightwatch?

Laravel Nightwatch is een gehost SaaS-platform voor het continu monitoren van de productieomgeving van je Laravel-applicatie. Het verzamelt en visualiseert in realtime telemetriegegevens van je hele applicatie: HTTP-requests, SQL-query’s, excepties, queue jobs, logs, geplande taken en meer.
Nightwatch is een betaalde dienst (maandelijks abonnement). Er is ook een gratis plan, maar dat heeft een limiet op het aantal events dat je kunt verzamelen. Om het gratis plan praktisch te gebruiken zijn de sampling- en filterinstellingen verderop in dit artikel onmisbaar.

Verschillen met Telescope en Pulse

Nightwatch heeft een ander doel dan de bestaande monitoring- en debugtools in het Laravel-ecosysteem. Laten we de toepassingen op een rij zetten. Nightwatch verzamelt vrijwel dezelfde informatie als Telescope, maar laat een agentproces draaien dat de data naar de cloud stuurt. Daardoor kun je ook historische data bekijken als je server plat ligt, en kun je meerdere servers en meerdere applicaties centraal beheren.

Architectuur

Nightwatch plaatst een agentproces tussen je Laravel-app en de Nightwatch-cloud. De agent luistert lokaal (127.0.0.1:2407), ontvangt events van je Laravel-app en stuurt ze door naar de cloud. Daarom moet het agentproces continu draaien.

Installatie en initiële configuratie

1. Account en applicatie aanmaken

Maak op nightwatch.laravel.com een account aan en registreer een organisatie en applicatie. Na het registreren van de applicatie krijg je een omgevingstoken.

2. Het pakket installeren

Anders dan bij Telescope is de flag --dev niet nodig. Nightwatch is bedoeld voor gebruik in productie.

3. Het token instellen

Voeg het token toe aan je .env-bestand.

4. De agent starten

De agent moet continu op de achtergrond draaien. Voor Laravel Cloud, Laravel Forge en Laravel Vapor zijn er speciale handleidingen. Bij Forge wordt alles automatisch geconfigureerd als je de officiële integratie gebruikt. De status van de agent controleren:

5. Uitschakelen in de testomgeving

We raden aan Nightwatch uit te schakelen tijdens het draaien van tests.
Je kunt het ook instellen in phpunit.xml.

Configuratie om het gratis plan praktisch te gebruiken

Het gratis plan heeft een maandelijkse limiet op het aantal events. Met de standaardinstellingen (samplingpercentage 100% en alle data verzamelen) bereik je bij een applicatie met veel verkeer die limiet al snel. Pas daarom altijd de onderstaande instellingen toe.

Het samplingpercentage verlagen

NIGHTWATCH_REQUEST_SAMPLE_RATE staat standaard op 1.0 (alle requests verzamelen). Bij het gratis plan raden we aan dit terug te brengen tot ongeveer 0.1 (10%).
Een configuratievoorbeeld waarbij excepties en commando’s nog steeds volledig worden verzameld:

Query-verzameling uitschakelen

Databasequery’s maken een groot deel uit van het aantal events. Door in het gratis plan de query-verzameling uit te schakelen, houd je ruimte over voor het opslaan van belangrijke events (excepties, requests, jobs).

Overige filterinstellingen

Indien nodig kun je ook het verzamelen van cache-events en mails uitschakelen.

Aanbevolen configuratie voor het gratis plan samengevat

Met alleen deze drie regels realiseer je ook op het gratis plan praktische applicatiemonitoring.

Belangrijkste functies

Requestmonitoring

Per HTTP-request worden responstijden, statuscodes, route-informatie en meer verzameld. Zo kun je abnormaal trage endpoints identificeren en performance-bottlenecks opsporen.

Exceptietracking

Onafgehandelde excepties in productie worden in realtime vastgelegd. Stack traces en broncode-snippets worden automatisch geregistreerd, wat het onderzoeken van de oorzaak vereenvoudigt.

Logverzameling

Integreert met het logsysteem van Laravel (zoals Log::error()) en stuurt gestructureerde logs naar Nightwatch.

Monitoring van jobs en geplande taken

Volgt de uitvoeringsgeschiedenis, de succes-/faalstatus en de uitvoeringstijd van queue jobs en geplande taken. Zo spoor je problemen in batchverwerking snel op.

Deploymenttracking

Koppelt wijzigingen en problemen per release aan elkaar. Onderzoek zoals “na deze deploy zijn de excepties toegenomen” kun je visueel uitvoeren.

Alerts en notificaties

Via Slack-integratie of webhooks kun je direct meldingen krijgen over pieken in excepties of afnemende performance.

Wanneer gebruik je Telescope of Nightwatch?

  • Lokale ontwikkeling → Telescope
  • Een dashboard met geaggregeerde productiedata → Pulse
  • Gedetailleerde traces en alerts voor productie → Nightwatch
De drie sluiten elkaar niet uit; je kunt Pulse en Nightwatch ook samen gebruiken.

Samenvatting

Laravel Nightwatch is een krachtige SaaS-tool die de zichtbaarheid van je Laravel-applicatie in productie sterk verbetert. Houd bij de invoering rekening met de volgende punten.
  • Het agentproces moet continu draaien
  • Bij het gratis plan zijn de instellingen NIGHTWATCH_REQUEST_SAMPLE_RATE=0.1 en NIGHTWATCH_IGNORE_QUERIES=true praktisch gezien onmisbaar
  • Telescope (ontwikkeling), Pulse (aggregatie) en Nightwatch (monitoring) hebben verschillende rollen en zijn te combineren
Raadpleeg voor gedetailleerde configuratie de officiële documentatie en de referentie voor omgevingsvariabelen.

Laravel Telescope in de praktijk

Voor het debuggen tijdens lokale ontwikkeling gebruik je Telescope.
Laatst gewijzigd op 6 september 2026