satheez/laravel-rate-limit-dashboard

A Laravel package that provides real-time visibility, dynamic configuration, and actionable insights for rate-limiting.

Maintainers

Package info

github.com/satheez/laravel-rate-limit-dashboard

pkg:composer/satheez/laravel-rate-limit-dashboard

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2026-05-23 16:30 UTC

This package is auto-updated.

Last update: 2026-05-23 16:32:10 UTC


README

Laravel Rate-Limit Dashboard

Real-time visibility, dynamic configuration, and actionable insights for your rate-limiting infrastructure.

Laravel Rate-Limit Dashboard

Tests PHP Laravel License

Laravel's built-in RateLimiter facade and throttle middleware allow you to define rate limits, but they provide no visual interface to monitor usage or adjust limits in production.

Laravel Rate-Limit Dashboard bridges this gap by offering a beautiful UI, dynamic configuration, and alerting, answering questions like:

Who is hitting the rate limits? Which endpoints are being abused? Can we adjust limits without redeploying?

The Problem

When users encounter HTTP 429 (Too Many Requests) errors, developers traditionally have no built-in way to:

  • See the offending IP or API token
  • Identify exactly which endpoint is being hammered
  • Adjust the rate limits gracefully without redeploying code

This leads to support tickets, unchecked abuse, and misconfigured limits.

Features

Real-Time Visibility

  • Dashboard showing total requests, throttled requests, and utilisation
  • Top offenders list (IP address, user ID, API token) with throttled counts

Dynamic Configuration

  • Edit rate-limit parameters directly from the UI without code deployment
  • Per-user and per-IP overrides (e.g., lower limits for bad actors)

Alerts & Health Checks

  • Configurable notifications via Slack, email, or webhook when limits reach critical thresholds (e.g., 80% usage)
  • Built-in health checks identifying unconfigured routes, zero decay, or missing storage

Pluggable Storage

  • Supports MySQL, PostgreSQL, Redis, and MongoDB
  • Configurable data retention and automatic purge policies

Installation

composer require satheez/laravel-rate-limit-dashboard

Publish configuration and migrations:

php artisan vendor:publish --provider="Sa\RateLimitDashboard\RateLimitDashboardServiceProvider" --tag="config"
php artisan vendor:publish --provider="Sa\RateLimitDashboard\RateLimitDashboardServiceProvider" --tag="migrations"
php artisan migrate

Quick Start

Enable the middleware by adding it to your HTTP kernel or group:

protected $middleware = [
    // ...
    \Sa\RateLimitDashboard\Http\Middleware\RateLimitInstrumenter::class,
];

Navigate to the dashboard route (default: /admin/rate-limits) and you will start seeing metrics populating automatically as requests hit your rate-limited routes.

Documentation

Document Description
Installation Requirements, setup, and migrations
Usage Dashboard usage and programmatic access
Configuration Full config/rate-limit-dashboard.php reference
Checks Reference Built-in health checks and alert severities
Scoring & Thresholds How offenders are ranked and scored
Output & UI Dashboard interface details and JSON API responses
Architecture System design, instrumentation layer, data processing
Comparison How this compares to Laravel Pulse, Telescope, etc.
FAQ Common questions regarding performance and setup

Security

See SECURITY.md for the vulnerability reporting policy.

License

MIT — see LICENSE.md.