PHPackages                             burningyolo/laravel-http-monitor - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. burningyolo/laravel-http-monitor

ActiveLibrary[HTTP &amp; Networking](/categories/http)

burningyolo/laravel-http-monitor
================================

Track inbound and outbound HTTP requests with IP geolocation data

v1.0.3(4mo ago)10MITPHPPHP ^8.1|^8.2|^8.3

Since Dec 23Pushed 4mo agoCompare

[ Source](https://github.com/BurningYolo/laravel-http-monitor)[ Packagist](https://packagist.org/packages/burningyolo/laravel-http-monitor)[ RSS](/packages/burningyolo-laravel-http-monitor/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (12)Versions (6)Used By (0)

Laravel HTTP Monitor
====================

[](#laravel-http-monitor)

**Track &amp; monitor inbound + outbound HTTP requests** in Laravel with IP tracking, optional geo-location, detailed analytics dashboard, website updates sent to **Discord** &amp; **Slack** via webhooks.

Installation
------------

[](#installation)

Install the package via Composer:

```
composer require burningyolo/laravel-http-monitor
```

Publish the configuration file:

```
php artisan vendor:publish --tag=request-tracker-config
```

Publish migrations:

```
php artisan vendor:publish --tag=request-tracker-migrations
```

Optionally, publish the views if you want front-end:

```
php artisan vendor:publish --tag=http-monitor-views
```

Configuration
-------------

[](#configuration)

The configuration file `config/request-tracker.php` provides extensive options for customizing the package behavior:

### Basic Settings

[](#basic-settings)

```
// Enable/disable the entire package
'enabled' => true,

// Track inbound requests
'track_inbound' => true,

// Track outbound requests
'track_outbound' => true,

// Store request/response headers
'store_headers' => true,

// Store request/response bodies
'store_body' => true,
```

### Exclusions

[](#exclusions)

```
// Exclude specific paths from inbound tracking
'excluded_paths' => [
    'horizon/*',
    'telescope/*',
    '_debugbar/*',
],

// Exclude specific hosts from outbound tracking
'excluded_outbound_hosts' => [
    'localhost',
    '127.0.0.1',
],

// These fields will be stored as ***omitted***
'omit_body_fields' => [
        'password',
        'password_confirmation',
        .......
    ],
```

### Discord &amp; Slack Webhook Settings

[](#discord--slack-webhook-settings)

```
    // Discord Specific Webhook related fields
    'discord' => [
        'webhook_url' => env('REQUEST_TRACKER_DISCORD_WEBHOOK_URL', null),
        'enabled' => env('REQUEST_TRACKER_DISCORD_NOTIFICATIONS_ENABLED', false),
        'bot_name' => env('REQUEST_TRACKER_DISCORD_BOT_NAME', 'Laravel HTTP Monitor'),
        'avatar_url' => env('REQUEST_TRACKER_DISCORD_AVATAR_URL', 'https://avatars.githubusercontent.com/u/81748439'),

    ],
    // Slack Specific Webhook Related fields
    'slack' => [
        'webhook_url' => env('REQUEST_TRACKER_SLACK_WEBHOOK_URL', null),
        'enabled' => env('REQUEST_TRACKER_SLACK_NOTIFICATIONS_ENABLED', false),
    ],

    // the type of data & fields you wanna send via webhook
    'notifications' => [
        'enabled_fields' => [
            'total_inbound' => true,
            'total_outbound' => true,
            'successful_outbound' => true,
            'failed_outbound' => true,
            'avg_response_time' => true,
            'unique_ips' => true,
            'last_24h_activity' => true,
            'ratio_success_failure' => true,
            'top_endpoints' => true,
            'top_ips' => true,
        ],
    ],
```

### Automatic Tracking

[](#automatic-tracking)

Once installed, the package automatically tracks:

- All inbound requests to `web` and `api` middleware groups
- All outbound HTTP requests made via Laravel's HTTP client

### Dashboard

[](#dashboard)

Access the built-in dashboard by visiting:

```
/http-monitor

```

[![Dashboard Overview - Laravel HTTP Monitor](screenshots/dashboard.png "Dashboard showing inbound/outbound requests overview")](screenshots/dashboard.png)

Artisan Commands
----------------

[](#artisan-commands)

### View Statistics

[](#view-statistics)

Display statistics about tracked requests:

```
php artisan request-tracker:stats

# Show stats for last 30 days
php artisan request-tracker:stats --days=30
```

### Cleanup Old Logs

[](#cleanup-old-logs)

Remove old request logs based on custom criteria:

```
# Delete records older than 30 days
php artisan request-tracker:cleanup --days=30

# Clean only inbound requests
php artisan request-tracker:cleanup --type=inbound

# Clean by status code
php artisan request-tracker:cleanup --status=404

# Preview without deleting
php artisan request-tracker:cleanup --dry-run

# Also remove orphaned IP records
php artisan request-tracker:cleanup --orphaned-ips
```

### Prune Based on Retention Policy

[](#prune-based-on-retention-policy)

Automatically prune logs according to retention settings in config:

```
php artisan request-tracker:prune

# Skip confirmation
php artisan request-tracker:prune --force
```

### Clear All Logs

[](#clear-all-logs)

Remove all tracked data (use with caution):

```
# Clear everything
php artisan request-tracker:clear

# Clear specific type
php artisan request-tracker:clear --type=inbound
php artisan request-tracker:clear --type=outbound
php artisan request-tracker:clear --type=ips

# Skip confirmation
php artisan request-tracker:clear --force
```

### Send Stats to Discord &amp; Slack

[](#send-stats-to-discord--slack)

Based on Config the Data will be sent of last 24 hours.

```
# Send Notification
php artisan request-tracker:send-stats
```

[![Example Discord Stats](screenshots/discord.png "Discord Stats Overview")](screenshots/discord.png)

[![Example Slack Stats](screenshots/slack.png "Slack Stats Overview")](screenshots/slack.png)

**Important note**

All listed Artisan commands are **manual only**. They do **not** run automatically.

If you want to run any of them on a schedule (e.g. daily stats, cleanup, etc.), add them to your Laravel scheduler.

```
use Illuminate\Support\Facades\Schedule;

Schedule::command('request-tracker:send-stats')
        ->dailyAt('08:00');
```

### Accessing Tracked Data

[](#accessing-tracked-data)

Query tracked requests using the provided models:

```
use Burningyolo\LaravelHttpMonitor\Models\InboundRequest;
use Burningyolo\LaravelHttpMonitor\Models\OutboundRequest;
use Burningyolo\LaravelHttpMonitor\Models\TrackedIp;
```

Database Schema
---------------

[](#database-schema)

### inbound\_requests

[](#inbound_requests)

Stores incoming HTTP requests with columns for method, URL, headers, body, status code, duration, user information, and more.

### outbound\_requests

[](#outbound_requests)

Stores outgoing HTTP requests with similar structure plus fields for tracking what triggered the request and success/failure status.

### tracked\_ips

[](#tracked_ips)

Stores unique IP addresses with optional geolocation data including country, region, city, coordinates, timezone, ISP, and organization.

View the model files `src/Models/` to get more info about the columns.

Some Considerations
-------------------

[](#some-considerations)

- Enable `geo_dispatch_async` to fetch geolocation data in background jobs
- Use `excluded_paths` to skip tracking of static assets and admin panels
- Consider disabling body storage for high-traffic applications

License
-------

[](#license)

This package is open-source software licensed under the MIT license.

Credits
-------

[](#credits)

Developed by [Burningyolo](https://github.com/burningyolo)

Contributing
------------

[](#contributing)

Contributions are welcome! Please feel free to submit a Pull Request.

Support
-------

[](#support)

If you encounter any issues or have questions, please open an issue on GitHub.

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance76

Regular maintenance activity

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

4

Last Release

131d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9eeb73175866b39e0daf4311879b4095f094c29c6aa27a47d91b734954784053?d=identicon)[BurningYolo](/maintainers/BurningYolo)

---

Top Contributors

[![BurningYolo](https://avatars.githubusercontent.com/u/81748439?v=4)](https://github.com/BurningYolo "BurningYolo (46 commits)")

---

Tags

http-requestsip-geolocationlaravelmonitoring-toolphpwebsite-analyticshttplaravelmonitoringtrackinganalyticsrequestsgeo-location

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/burningyolo-laravel-http-monitor/health.svg)

```
[![Health](https://phpackages.com/badges/burningyolo-laravel-http-monitor/health.svg)](https://phpackages.com/packages/burningyolo-laravel-http-monitor)
```

###  Alternatives

[laravel/scout

Laravel Scout provides a driver based solution to searching your Eloquent models.

1.7k49.4M479](/packages/laravel-scout)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k12.1M99](/packages/laravel-pulse)[dragon-code/laravel-http-logger

Logging incoming HTTP requests

319.8k3](/packages/dragon-code-laravel-http-logger)[laravel/cashier-paddle

Cashier Paddle provides an expressive, fluent interface to Paddle's subscription billing services.

264778.4k3](/packages/laravel-cashier-paddle)[api-platform/laravel

API Platform support for Laravel

59126.4k6](/packages/api-platform-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
