spatie/laravel-server-monitor
Monitor the health of your servers from Laravel. Includes built-in checks (disk, memory, processes, etc.), easy custom checks, and notifications via Slack or email when something goes wrong.
Architecture fit: Laravel-native implementation leveraging Eloquent models, service providers, and native Laravel components like scheduler and notifications. Integrates seamlessly into existing Laravel projects without framework modifications.
Integration feasibility: Straightforward via Composer with minimal setup steps (publish config/migrations, schedule command). UI requires separate Nova package or custom build, adding complexity for teams without Nova.
Technical risk: SSH dependency introduces network security concerns (credential management, key rotation), potential bottlenecks from concurrent SSH connections at scale, and future-dated release (2026-02-21) suggests possible metadata error or instability.
Key questions: How are SSH credentials securely stored and rotated? What's the proven maximum server count before performance degradation? How does the package handle network partitions or SSH timeouts? Are there documented security audits for remote command execution?
Stack fit: Perfect alignment with Laravel ecosystem (uses Eloquent, scheduler, notifications, artisan commands). No external dependencies beyond standard Laravel components.
Migration path: Add to existing Laravel app via composer require, publish config/migrations, run migrations, configure checks. No application refactoring needed beyond scheduler setup.
Compatibility: Supports Laravel 5.5+ (per Packagist), but verify exact version compatibility in composer.json. Nova UI dependency requires Laravel Nova license for dashboard functionality.
Sequencing: 1) Install package via Composer 2) Publish config/migrations 3) Run database migrations 4) Configure checks/thresholds in server-monitor.php 5) Schedule server-monitor:run-checks in Kernel.php 6) Set up Slack/mail notifications 7) (Optional) Integrate Nova UI.
Maintenance: Requires ongoing threshold tuning, check definition updates, and package version upgrades. SSH credential management adds operational overhead. Documentation is thorough but custom
How can I help you explore Laravel packages today?