capell-app/site-monitor
A Laravel package for monitoring the health of your sites. Run uptime and HTTP checks, track response status and performance over time, and surface problems early through the Capell admin panel, so you can catch outages and regressions before your users do.
What changed: v1.1.0 is the first stable release, promoted from v1.1.0-beta.46. The release note itself carries no detail beyond a compare link, so the substantive signal is the version transition rather than any documented feature delta. The 46-beta cadence indicates a long hardening cycle; a stable tag implies the maintainers are now committing to a semver contract for the 1.x line.
Architecture fit: capell-app/site-monitor is a Laravel package in the Capell ecosystem, which points to a conventional package shape: a service provider, publishable config, migrations for persisted check/target records, and a scheduled command or queue job that performs the actual probes. That maps cleanly onto a standard Laravel deployment — scheduler entry plus a queue worker — and does not require a sidecar or separate service. It is a natural fit for a Laravel monolith or a Capell-based CMS install that already has a scheduler and queue running. It is a poorer fit for teams standardized on external synthetic monitoring (UptimeRobot, Pingdom, Checkly), where this package duplicates rather than complements existing tooling.
Integration feasibility: High, with caveats. Install is a single composer require, followed by publishing config and running migrations. The real integration work is not installation but configuration: defining monitor targets, choosing probe intervals, wiring notification channels, and confirming that the host's egress can reach every target. Because this is a fresh capability rather than a replacement, there is no data migration burden — the main risk is running it alongside existing monitoring and creating two sources of truth.
Technical risk:
Key questions:
beta.46 and 1.1.0? Is there an upgrade guide for beta users?Stack fit: Laravel 9/10/11-era applications on PHP 8.x with MySQL, Postgres, or SQLite, and — critically — a working scheduler and queue. Apps still running sync queues or cron-less hosts should not adopt this until that foundation exists, since silent scheduler failure is the package's most damaging failure mode.
Migration path: Greenfield. There is no legacy data to move; the migration is organizational, not technical. Run the package in parallel with the incumbent monitoring tool for one full incident cycle before retiring anything, and only retire the incumbent once the new tool has independently detected a real outage.
Compatibility: Verify composer constraints against the pinned Laravel version before committing, and check that the service provider does not collide with existing monitoring, health-check, or notification bindings. Confirm the DB driver is on the tested matrix — SQLite in local dev frequently masks index and JSON-column issues that surface in production. If a beta was evaluated previously, treat 1.1.0 as a fresh install in a branch rather than an in-place upgrade, and diff the published config.
Sequencing:
Maintenance: Low ongoing effort if pinned to ^1.1 and updated deliberately. The stable tag reduces the churn risk that a 46-beta history implied, but it does not guarantee maintenance — pin the version, watch the repository's release cadence, and have a fallback plan if the package goes quiet. Budget time for periodic Laravel major-version compatibility checks, which is where small ecosystem packages most often stall.
Support: Assume community-only support unless a commercial arrangement exists through Capell. That means no SLA, and internal ownership must be explicit: one named engineer accountable for the package, its config, and its upgrade path. Without that, monitoring infrastructure quietly rots — which is worse than not having it, because it produces false confidence.
Scaling: Scaling is linear and predictable: targets × frequency = probes per interval, each a queue job plus a database write. Two levers matter — queue worker capacity and retention policy. At a few dozen targets on five-minute intervals this is trivial; at thousands of targets or one-minute intervals it becomes a real queue consumer that competes with application jobs for workers. Isolate it on a dedicated queue from the start to prevent monitoring from starving — or being starved by — business workloads.
Failure modes:
Ramp-up: Modest. A mid-level Laravel developer can install and configure it in under a day. Realistic time-to-production, including alert tuning, load validation, staging soak, and runbook writing, is one to two weeks of part-time effort. The configuration surface is small; the judgment calls — retention, intervals, alert routing, and eventual replacement of the incumbent tool — are where the time actually goes.
How can I help you explore Laravel packages today?