Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Laravel Server Monitor

Laravel Server Monitor Laravel Package

spatie/laravel-server-monitor

Keep an eye on the health of all your servers: built-in checks for disk, memory, and processes, custom checks when you need them, and Slack or email alerts when something goes wrong.

View on GitHub
Deep Wiki
Context7

spatie/laravel-server-monitor keeps an eye on the health of all your servers, so you don't have to. Disks fill up, processes crash, and memory runs out—this package watches for those problems automatically and notifies you via Slack or mail when something goes wrong.

Built-in checks cover the common failure modes, and writing your own checks is a breeze.

  • Built-in checks for disk usage, memory, and crashed processes
  • Custom checks that are simple to add
  • Slack and mail notifications when issues arise
  • Event hooks for integrating with your own workflows
  • Laravel-native configuration and scheduling
Frequently asked questions about Laravel Server Monitor
What is spatie/laravel-server-monitor and how does it work?
It is an agentless monitoring package that runs inside a Laravel application and pulls health data from remote servers over SSH. A scheduled artisan command, server-monitor:run-checks, connects to registered hosts, runs shell commands from pluggable check classes, and stores results in hosts and checks tables in your app database. Built-in checks cover disk, memory, and processes, and failures can trigger Slack or mail notifications through Laravel's notification system.
How do I install spatie/laravel-server-monitor in a Laravel app?
Install it with Composer, publish the config and migrations, run php artisan migrate, register your hosts and checks, and add the server-monitor:run-checks command to the scheduler. The assessment estimates a competent Laravel engineer can get a pilot running in under a day. Most of the real setup effort is outside the package: provisioning SSH access, building a host inventory, and deciding alert ownership.
Does spatie/laravel-server-monitor support Laravel 11 and Laravel 12?
The available material does not confirm current Laravel 11 or 12 support; the README still shows older provider-registration instructions, which suggests checking the composer.json constraints directly. Verify the package on Packagist and in its composer manifest before committing, especially PHP version and framework constraints. The technical assessment flags this as a key unknown for modernization.
How are SSH credentials stored and secured in laravel-server-monitor?
The package executes commands on remote machines over SSH, so credential handling is the most important security question. The provided material does not document whether keys are stored in a database column, on the filesystem, or via an SSH agent, nor does it describe a rotation model. Because compromise of the Laravel control plane could expose every monitored host, review the source and define key scoping and rotation before production use.
Can I add custom checks for Redis, queue workers, or an internal health endpoint?
Yes. The checks config is a map of class names extending CheckDefinition, so custom checks are a first-class extension pattern rather than a hack. You can implement checks for Redis, queue-worker liveness, or an internal application health endpoint. The host_model, check_model, and process_manipulator config options also let you swap models or inject SSH command wrappers for bastion or sudo scenarios.
How do Slack and mail notifications work in spatie/laravel-server-monitor?
Notifications use Laravel's native notification system, so Slack and mail work out of the box and other notification channels are available through the existing ecosystem. You configure notifications alongside hosts and checks, and alerts fire when a check reports a problem. Keep in mind that alert meaning and on-call routing are operational decisions you must define.
Does spatie/laravel-server-monitor include a dashboard or admin UI?
No. The package ships no first-party screens. The documented path is a third-party Laravel Nova package, which requires a paid Nova license and is community-maintained, or you build your own views. Budget extra scope if you need a UI for host and check management.
How many servers and checks can laravel-server-monitor handle?
Each check is a discrete SSH connection, gated by concurrent_ssh_connections, which defaults to 5. With roughly one second per round trip, the assessment estimates a theoretical ceiling around 300 check executions per minute, so a 60-host fleet with five checks each can saturate it. withoutOverlapping prevents pileup but turns saturation into silently skipped cycles rather than an alarm, so monitor scheduler behavior at scale.
Does laravel-server-monitor work with Kubernetes, containers, or autoscaling infrastructure?
It fits poorly on immutable or ephemeral infrastructure such as Kubernetes pods, autoscaling groups, and short-lived containers, because it assumes a host is a stable, addressable, long-lived identity. It also requires outbound SSH from the Laravel control plane, which many network policies forbid. It works best on long-lived VMs or bare-metal servers reachable over SSH.
How does it compare to Prometheus, Datadog, or Uptime Kuma, and is it still maintained?
It is a Laravel-native, agentless SSH pull monitor with extensible checks and Laravel notifications, not a full metrics platform like Prometheus with node_exporter, Datadog, or Uptime Kuma. The assessment flags maintenance risk: release cadence and PHP/Laravel constraints should be verified on Packagist, and the checks table may need pruning because retention tooling is not confirmed. Choose it when a lightweight Laravel control plane and custom Laravel signals matter more than broad observability features.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections