Diese Anleitung gilt für Laravel 10 oder 11 und PHP 8.1 oder höher. Voraussetzung sind ein live24h Account, ein Workspace und ein API-Key mit Schreibrechten – siehe gemeinsame Schritte .

Installieren

Das Paket ist ein Composer-Package mit Auto-Discovery – der ServiceProvider wird automatisch eingebunden:

composer require live24h/laravel-adapter
php artisan vendor:publish --provider="Live24h\LaravelAdapter\LaravelServiceProvider"

Der zweite Befehl veröffentlicht die Konfiguration config/live24h.php. Hinterlegen Sie dort api_key und api_base_url (Standard https://api.live24h.eu) – oder tragen Sie den Key später auf der Settings-Seite ein. Das Paket wird per Direkt-Download von live24h bezogen, eine Marktplatz-Listung folgt.

Schritt für Schritt

Das Paket stellt eine auth-gegatete Route-Group (middleware: web, auth) bereit: das Health Center unter /live24h/health, eine Settings-Seite und den Setup-Wizard. Der bebilderte Ablauf ist in der Übersicht dargestellt; die Schritte für Laravel sind:

  1. Öffnen Sie als angemeldeter Benutzer /live24h/health.
  2. Prüfen Sie auf der Settings-Seite die Verbindung („Verbindung testen"). Der API-Key wird stets maskiert angezeigt.
  3. Starten Sie die Analyse der App.
  4. Sehen Sie sich den Website Health Score und die Empfehlungen an.
  5. Wählen Sie die Checks aus – gesperrte Vorschläge bleiben sichtbar und sind als „Ab Pro" markiert.
  6. Legen Sie die Checks mit einem Klick an.

Der Scan deckt vier Bereiche ab: SEO (robots.txt, Sitemap), SSL/Domain/DNS (TLS-Zertifikat, Apex-Domain), Mail-Zustellbarkeit (MX, SPF, DKIM, DMARC der Absender-Domain aus der MAIL_*-Konfiguration) und Hintergrundverarbeitung (Scheduler schedule:run und Queue-Worker als Heartbeat).

Policy-Presets für Rollouts

Für mehrere Apps gibt es drei Voreinstellungen, die den Umfang der angelegten Checks bestimmen:

  • essential – nur die wichtigsten Checks (Erreichbarkeit, SSL).
  • recommended – der Standard inklusive SEO, Domain und Mail-DNS.
  • all – zusätzlich die Scheduler- und Queue-Heartbeats.

So bringen Sie denselben Monitoring-Standard reproduzierbar in jedes Laravel-Projekt.

Problemlösungen und Tipps

Die Route /live24h/health ist nicht erreichbar. Die Route-Group nutzt die Middleware web und auth – Sie müssen also angemeldet sein. Prüfen Sie außerdem, ob die Konfiguration veröffentlicht wurde (php artisan vendor:publish) und leeren Sie bei Bedarf den Cache mit php artisan config:clear und php artisan route:clear.

„Verbindung testen" schlägt fehl. Prüfen Sie api_key (Schreibrechte erforderlich), api_base_url (https://api.live24h.eu) und ob der Server ausgehend nach außen verbinden darf.

Die falsche oder keine Mail-Domain wird geprüft. Die Absender-Domain wird aus der MAIL_*-Konfiguration abgeleitet. Setzen Sie MAIL_FROM_ADDRESS korrekt, damit MX, SPF, DKIM und DMARC der richtigen Domain geprüft werden.

Ein Heartbeat-Check bleibt auf „Wartend". Das ist normal und kein Fehler: Ein Heartbeat wartet auf das erste Signal des überwachten Prozesses (den Ping an die Heartbeat-URL). Solange der Scheduler-Lauf oder der Queue-Worker sich noch nicht gemeldet hat, steht der Check auf „Wartend" – nicht auf „Ausfall". Mit dem ersten Lauf wechselt der Status auf „Operativ".

Der Scheduler-Heartbeat meldet sich nicht. Stellen Sie sicher, dass php artisan schedule:run tatsächlich minütlich per Cron ausgeführt wird und der Queue-Worker (php artisan queue:work) läuft. Ohne laufenden Prozess bleibt der zugehörige Heartbeat auf „Wartend".

Häufige Fragen

Muss ich Routen von Hand eintragen? Nein. Der Scan leitet die relevanten Checks aus der App ab – SEO, SSL/Domain, Mail-DNS sowie Scheduler- und Queue-Heartbeats. Sie wählen nur noch aus und legen mit einem Klick an.

Wird etwas in meiner App gemessen oder gespeichert? Das Paket scannt lesend und legt Checks an. Die laufenden 24/7-Prüfungen übernimmt anschließend die live24h Plattform – das Paket selbst ist keine Monitoring-Engine.

Eignet es sich für mehrere Apps? Ja. Mit den Policy-Presets essential, recommended und all lässt sich derselbe Monitoring-Standard reproduzierbar über alle Laravel-Apps ausrollen.

← Zurück zur Plugin-Übersicht