visualbox / sentinel
Official Laravel agent for Sentinel. Batched telemetry for the VisualBox observability platform.
Requires
- php: ^8.3
- ext-json: *
- ext-zlib: *
- guzzlehttp/guzzle: ^7.9
- illuminate/console: ^12.0|^13.0
- illuminate/contracts: ^12.0|^13.0
- illuminate/database: ^12.0|^13.0
- illuminate/http: ^12.0|^13.0
- illuminate/queue: ^12.0|^13.0
- illuminate/support: ^12.0|^13.0
Requires (Dev)
- orchestra/testbench: ^10.0|^11.0
- pestphp/pest: ^4.0
- phpunit/phpunit: ^11.0|^12.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Official Laravel agent for Sentinel by VisualBox Solutions.
Composer package: visualbox/sentinel
Installation
composer require visualbox/sentinel php artisan sentinel:install
Configure .env:
SENTINEL_ENABLED=true SENTINEL_TOKEN=sent_live_xxxxx SENTINEL_ENDPOINT=https://your-sentinel-host SENTINEL_SAMPLE_RATE=1.0
SENTINEL_ENDPOINT is the URL of your Sentinel instance (for example https://sentinel.example.com).
Disable during local development or PHPUnit (like Nightwatch):
SENTINEL_ENABLED=false
Event types (Nightwatch-class coverage)
Automatic collectors mirror Laravel Nightwatch core event types:
| Event type | Source |
|---|---|
request |
HTTP middleware |
query |
Database QueryExecuted |
exception |
Exception handler |
job |
Queue lifecycle |
command |
Artisan commands |
scheduled_task |
Scheduler |
log |
MessageLogged |
outgoing_request |
Laravel HTTP client |
cache |
Cache hit / miss / write / forget |
mail |
Outbound mail |
notification |
Notifications |
Each event includes trace identifiers (trace_id, span_id, parent_span_id), optional execution_context, authenticated user, and custom context metadata.
Commands
php artisan sentinel:install— publish configphp artisan sentinel:status— agent diagnosticsphp artisan sentinel:deploy— record a deployment marker
Helpers
use Visualbox\Sentinel\Facades\Sentinel; Sentinel::context('tenant_id', $tenantId); Sentinel::ignore(function () { // No telemetry recorded inside this block });
Transport
- Batched buffer with gzip HTTP POST to
/api/v1/telemetry - Retry/backoff and circuit breaker
- Heartbeat to
/api/v1/heartbeat - Deployments to
/api/v1/deployments
Unlike Nightwatch, Sentinel v0.2.x sends telemetry from the web and queue worker process (no separate long-running sentinel:agent sidecar required).
Development
composer install
composer test
License
MIT