PHPackages                             mpge/govel-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. [Logging &amp; Monitoring](/categories/logging)
4. /
5. mpge/govel-monitor

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

mpge/govel-monitor
==================

Real-time task monitoring dashboard for Govel.

v0.2.0(1mo ago)10MITPHPPHP ^8.3CI passing

Since Apr 5Pushed 1mo agoCompare

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

READMEChangelogDependencies (7)Versions (3)Used By (0)

 [![Govel Monitor — real-time task monitoring dashboard](art/logo.png)](art/logo.png)

 [![Latest Version on Packagist](https://camo.githubusercontent.com/a2983d1c960b36ee22fccdd1a1a4709a0e2dce8c80237389b887fb7f3fa5c71c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d7067652f676f76656c2d6d6f6e69746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mpge/govel-monitor) [![Total Downloads](https://camo.githubusercontent.com/4feca8ca0942c8b6139fe766e9528e082fe07050a431c2d4b5f5bb266c79256e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d7067652f676f76656c2d6d6f6e69746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mpge/govel-monitor) [![PHP Version](https://camo.githubusercontent.com/8ee5bfb9e153d9ef4dc0305f291fac24ed0d7582637f6990a92fe262d31dcec2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6d7067652f676f76656c2d6d6f6e69746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mpge/govel-monitor) [![Tests](https://camo.githubusercontent.com/609bb1301d3f37b50d3aeb3265b24a6e30b886d531c4e438f32134ecc06818e4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d7067652f676f76656c2d6d6f6e69746f722f74657374732e796d6c3f6272616e63683d6d61696e267374796c653d666c61742d737175617265266c6162656c3d7465737473)](https://github.com/mpge/govel-monitor/actions) [![License](https://camo.githubusercontent.com/ef0580c54ac631280cf50f8b4504512c903e31661f2abc6ac60b3e0cc0f6661a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d7067652f676f76656c2d6d6f6e69746f722e7376673f7374796c653d666c61742d737175617265)](https://github.com/mpge/govel-monitor/blob/main/LICENSE)

 Real-time task monitoring dashboard for [Govel](https://github.com/mpge/govel).

---

Features
--------

[](#features)

- **Live Dashboard** — total executions, success rates, avg/p95 durations with auto-refresh
- **Execution History** — searchable, filterable, paginated list of every Go task execution
- **Task Breakdown** — per-task metrics (volume, success rate, avg duration)
- **Detail View** — full payload, output, and error for each execution
- **Auto-Recording** — transparently hooks into GoManager, zero code changes
- **Payload Redaction** — automatically redacts sensitive keys (passwords, tokens, secrets)
- **Data Retention** — configurable auto-purge of old records
- **Authorization** — local-only by default, customizable gate for production
- **Security Hardened** — OWASP-audited with security headers, audit logging, input validation
- **Vue.js SPA** — modern dark-themed UI, no frontend build step (CDN-loaded)

Requirements
------------

[](#requirements)

- PHP 8.3+
- Laravel 11+
- [mpge/govel](https://github.com/mpge/govel) ^0.1

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

[](#installation)

```
composer require mpge/govel-monitor
```

Run migrations:

```
php artisan migrate
```

Visit `/govel-monitor` in your browser.

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

[](#configuration)

Publish the config:

```
php artisan vendor:publish --tag=govel-monitor-config
```

```
// config/govel-monitor.php
return [
    'path'        => 'govel-monitor',       // Dashboard URL prefix
    'enabled'     => true,                  // Enable/disable recording
    'connection'  => null,                  // Database connection (null = default)
    'retention'   => 168,                   // Hours to keep records (168 = 7 days)
    'middleware'  => ['web', Authorize::class],
    'redact_keys' => [                      // Keys redacted from stored payloads
        'password', 'token', 'secret', 'api_key', 'authorization',
    ],
];
```

Authorization
-------------

[](#authorization)

By default, the dashboard is only accessible in the `local` environment. For production, define a gate:

```
// config/govel-monitor.php
'gate' => function ($request) {
    return in_array($request->user()?->email, [
        'admin@example.com',
    ]);
},
```

The gate accepts any `callable` — closures, invokable classes, or `[Class::class, 'method']` arrays.

Unauthorized access attempts are logged with the request IP and path.

How It Works
------------

[](#how-it-works)

Govel Monitor decorates the `GoManager` singleton with a `RecordingManager` that logs every `run()`, `dispatch()`, and `queue()` call to the database. No changes to your application code are needed — just install the package and task executions are automatically recorded.

```
Govel::run(Task::class, $payload)
  → RecordingManager (records execution)
    → GoManager (executes task)
      → Result (returned to caller)

```

Payload Redaction
-----------------

[](#payload-redaction)

Sensitive data is automatically redacted before being stored in the database. Any key matching `redact_keys` in the config will have its value replaced with `********`:

```
// Payload sent to task:
['path' => '/tmp/img.jpg', 'api_key' => 'sk-live-xxx']

// What gets stored:
['path' => '/tmp/img.jpg', 'api_key' => '********']
```

Redaction applies recursively to nested arrays in both payloads and outputs. Customize the redacted keys in your config:

```
'redact_keys' => ['password', 'token', 'secret', 'api_key', 'authorization', 'ssn'],
```

Dashboard
---------

[](#dashboard)

The dashboard is a Vue.js SPA with three views:

ViewRouteDescription**Dashboard**`/`Stats cards, task breakdown table, recent executions (auto-refreshes every 10s)**Executions**`/executions`Paginated list with filters for task, status, and driver**Detail**`/executions/:id`Full payload, output, error, and timing for a single executionAPI Endpoints
-------------

[](#api-endpoints)

All data is served via JSON APIs under your configured path prefix:

MethodEndpointDescription`GET``/api/stats`Dashboard statistics (24h totals, success rate, avg/p95 duration)`GET``/api/executions`Paginated execution list with `?task=`, `?status=`, `?driver=`, `?per_page=` filters`GET``/api/executions/{id}`Single execution detail`GET``/api/filters`Available filter options (task names, driver names)`DELETE``/api/purge`Purge records older than the configured retention periodSecurity
--------

[](#security)

Govel Monitor has been audited against the OWASP Top 10:

- **Mass assignment protection** — explicit `$fillable` whitelist on the model
- **Input validation** — `per_page` clamped to 1-100, route IDs constrained to integers
- **Security headers** — `X-Frame-Options: DENY`, `X-Content-Type-Options: nosniff`, `Referrer-Policy: no-referrer`
- **Payload redaction** — sensitive keys automatically replaced before database storage
- **Audit logging** — auth failures and purge operations logged with IP addresses
- **Authorization** — environment-gated access with customizable callable gate

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance92

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 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 ~0 days

Total

2

Last Release

37d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1f1e8418623e51236a1fd63d1da722d2b15a8a8b067b10d520580fd3e9a6e509?d=identicon)[MatthewGross](/maintainers/MatthewGross)

---

Top Contributors

[![mpge](https://avatars.githubusercontent.com/u/3311227?v=4)](https://github.com/mpge "mpge (7 commits)")

---

Tags

laravelmonitoringdashboardgogovel

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mpge-govel-monitor/health.svg)

```
[![Health](https://phpackages.com/badges/mpge-govel-monitor/health.svg)](https://phpackages.com/packages/mpge-govel-monitor)
```

###  Alternatives

[spatie/laravel-health

Monitor the health of a Laravel application

85810.0M83](/packages/spatie-laravel-health)[yadahan/laravel-authentication-log

Laravel Authentication Log provides authentication logger and notification for Laravel.

416632.8k5](/packages/yadahan-laravel-authentication-log)[inspector-apm/inspector-laravel

Code Execution Monitoring, built for developers.

2332.0M2](/packages/inspector-apm-inspector-laravel)[jackwh/laravel-new-relic

Monitor your Laravel application performance with New Relic

112827.2k](/packages/jackwh-laravel-new-relic)[masterro/laravel-mail-viewer

Easily view in browser outgoing emails.

6392.1k](/packages/masterro-laravel-mail-viewer)[muhammadsadeeq/laravel-activitylog-ui

A beautiful, modern UI for Spatie's Activity Log with advanced filtering, analytics, and real-time features.

17510.1k](/packages/muhammadsadeeq-laravel-activitylog-ui)

PHPackages © 2026

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