Skip to main content

Was ist Laravel Pulse

Laravel Pulse ist ein Monitoring-Dashboard, das Ihnen Performance und Nutzung Ihrer Anwendung auf einen Blick zeigt. Sie identifizieren Bottlenecks bei langsamen Jobs oder Endpunkten und finden die aktivsten Benutzer.

Unterschied zwischen Telescope und Pulse

Für detailliertes Debugging einzelner Events verwenden Sie Laravel Telescope.

Datenfluss


Installation

Die First-Party-Storage-Implementierung von Pulse benötigt MySQL, MariaDB oder PostgreSQL. Wenn Sie eine andere Datenbank-Engine verwenden, richten Sie eine dedizierte MySQL-, MariaDB- oder PostgreSQL-Datenbank speziell für die Pulse-Daten ein.
1

Paket installieren

Installieren Sie Pulse mit Composer.
2

Konfigurationsdatei und Migrationen veröffentlichen

Veröffentlichen Sie die Dateien mit dem Artisan-Befehl vendor:publish.
3

Migrationen ausführen

Legt die Tabellen für die Pulse-Daten an.
Nach Abschluss der Migration ist das Dashboard unter der Route /pulse erreichbar.

Konfigurationsdatei veröffentlichen

Sie können die Konfigurationsdatei separat veröffentlichen, um sie anzupassen.

Zugriff auf das Dashboard

Authentifizierung

Standardmäßig ist das Dashboard nur in der Umgebung local zugänglich. In Produktivumgebungen richten Sie den Zugriff über das viewPulse-Gate ein.
Fügen Sie den obigen Code in die boot-Methode von app/Providers/AppServiceProvider.php ein.

Dashboard anpassen

Sie können die Dashboard-View veröffentlichen und Cards sowie Layout anpassen.
Nach der Veröffentlichung bearbeiten Sie resources/views/vendor/pulse/dashboard.blade.php. Da das Dashboard mit Livewire läuft, sind Anpassungen ohne JavaScript-Build möglich.
Jede Card lässt sich über die Attribute cols und rows in Größe und Position steuern.

Recorders

Recorders fangen Events in Ihrer Anwendung ab und schreiben sie in die Pulse-Datenbank. Die Konfiguration finden Sie in config/pulse.php unter recorders.

Requests / Slow Requests

Der Recorder Requests erfasst Informationen zu eingehenden Requests. Sie können den Schwellenwert für langsame Routen (Standard: 1000 ms), die Sampling-Rate und zu ignorierende Pfade festlegen.

Slow Jobs

SlowJobs erfasst Jobs, die den Schwellenwert (Standard: 1000 ms) überschreiten. Sie können pro Job unterschiedliche Werte definieren.

Exceptions

Der Recorder Exceptions erfasst gemeldete Ausnahmen der Anwendung. Sie werden nach Exception-Klasse und Fundort gruppiert.

Cache

CacheInteractions erfasst Hits und Misses des Caches. Sie können reguläre Ausdrücke definieren, um ähnliche Schlüssel zusammenzufassen.

Queues

Queues erfasst den Durchsatz der Queue-Jobs (eingereiht, in Bearbeitung, erledigt, freigegeben, fehlgeschlagen).

Servers

Servers erfasst CPU-, Speicher- und Storage-Auslastung der Server, auf denen die App läuft. Auf jedem überwachten Server muss der Befehl pulse:check dauerhaft laufen.
Als Servername wird standardmäßig der Wert von PHPs gethostname() verwendet. Für einen abweichenden Namen setzen Sie eine Umgebungsvariable.

Users

UserRequests und UserJobs erfassen, welche Benutzer Requests bzw. Jobs ausgelöst haben, und zeigen sie in der Card „Application Usage“ an.

Redis Ingest

In High-Traffic-Umgebungen können Sie Einträge zunächst in einen Redis-Stream schicken und erst dann in die Datenbank übernehmen.
Bei Redis-Ingest müssen Sie mit pulse:work den Stream verarbeiten.

Sampling

Bei hohem Traffic können durch das Erfassen aller Events Millionen von Zeilen in der Datenbank entstehen. Mit Sampling protokollieren Sie nur einen Teil der Events und zeigen sie im Dashboard als Näherungswerte an.
Näherungswerte werden im Dashboard mit vorangestelltem ~ gekennzeichnet. Je mehr Einträge eine Metrik erhält, desto stärker können Sie die Sampling-Rate senken, ohne die Aussagekraft zu verlieren.

Umgebungsvariablen

Wichtige Einstellungen lassen sich per Umgebungsvariable steuern.

Eigene Cards

Sie können eigene Pulse-Cards erstellen, um anwendungsspezifische Daten darzustellen. Cards werden als Livewire-Komponente implementiert.
In der Card-View verwenden Sie die von Pulse mitgelieferten Blade-Komponenten für ein einheitliches Aussehen.
Zum Erfassen eigener Daten verwenden Sie Pulse::record.
Die erstellte Komponente binden Sie in die Dashboard-View ein.

Zusammenfassung

Nächste Schritte

Error Handling

Erfahren Sie, wie Ihre Anwendung Ausnahmen behandelt und meldet.

Logging

Konfiguration und Nutzung des Logsystems von Laravel.
Zuletzt geändert am 13. Juli 2026