Download the PHP package sixtec/monitor without Composer
On this page you can find all versions of the php package sixtec/monitor. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package monitor
Sixtec Monitor
The monitoring agent for the Laravel apps Sixtec runs. Like the Sentry SDK, it lives inside the app; unlike it, it also installs a Linux service that keeps reporting the health of the application and the server to the Sixtec monitor panel.
- Application: database, cache, queues and failed jobs, Horizon, scheduler, storage — plus the app's own probes (payment gateway, third-party APIs…).
- Server (VPS): CPU, memory, swap, disk, load and the systemd services
(nginx, php-fpm, MySQL, Redis, supervisor…), read from
/proc.
The panel shows each component, alerts the team on critical, and marks the system as "no signal" when reports stop arriving — silence is a signal too.
Laravel 11, 12 and 13 · PHP 8.2+.
Install
install asks for the push key (generated in the panel: Operação ›
Monitores › the system › Editar › "Agente por cron", then "Como o agente
envia" › "Gerar chave de envio"), sends a test report and turns on continuous
reporting:
| Where | What install does |
Interval |
|---|---|---|
| VPS with systemd | Generates the sixtec-monitor-<app> service. As root it installs and starts it; otherwise it writes the unit to storage/app/sixtec-monitor/ and prints the three sudo commands. |
every minute |
| Shared hosting (no systemd) | Uses the app's own scheduler, which cron already runs. Nothing to install on the system. | the cron's |
Then set the agent interval in the panel to match (1 minute for the service;
the cron interval on shared hosting — --cron-minutes=15).
The service
It runs php artisan sixtec:monitor:agent as the owner of the app directory,
sends every SIXTEC_MONITOR_INTERVAL seconds and exits after
SIXTEC_MONITOR_MAX_TIME (1 hour) — systemd (Restart=always) starts it
again with clean memory and fresh config, like queue:work --max-time. A
SIGTERM (deploy, systemctl stop) finishes the push in progress first.
After a deploy that changes .env or the package version, restart it:
sudo systemctl restart sixtec-monitor-<app>.
Commands
| Command | |
|---|---|
sixtec:monitor:install |
Writes key and mode to .env, sends a test report, installs the service or explains the scheduler setup. |
sixtec:monitor:send |
One push. --show prints the report without sending. |
sixtec:monitor:agent |
The service loop (what systemd runs). |
Configuration
Everything has a sensible default; the .env usually only needs the key.
| Variable | Default | |
|---|---|---|
SIXTEC_MONITOR_KEY |
— | Push key from the panel. Without it, nothing is sent. |
SIXTEC_MONITOR_URL |
https://sixtec.com.br/monitor/health |
Panel endpoint. |
SIXTEC_MONITOR_MODE |
scheduler |
service or scheduler (written by install). |
SIXTEC_MONITOR_INTERVAL |
60 |
Seconds between pushes (service). |
SIXTEC_MONITOR_MAX_TIME |
3600 |
Seconds before the service renews itself. |
SIXTEC_MONITOR_VERSION |
— | Deploy commit. Falls back to REVISION, then .git. |
SIXTEC_MONITOR_QUEUES |
default |
Comma-separated queues to watch. |
SIXTEC_MONITOR_QUEUE_CONNECTION |
queue.default |
Queue connection. |
SIXTEC_MONITOR_SCHEDULER_MINUTES |
1 |
How often cron runs schedule:run. |
SIXTEC_MONITOR_DISK |
filesystems.default |
Disk tested by the storage probe (every 5 min). |
SIXTEC_MONITOR_SERVER |
automatic | Server metrics; on in service mode, off in scheduler mode (on shared hosting /proc shows the whole machine). |
Thresholds, the probe list and the watched systemd services live in the config file:
Your own probes
Implement Sixtec\Monitor\Contracts\Probe and list the class in
extra_probes. A probe may return several results, or none when it does not
apply. An exception becomes a critical component with a generic message — the
exception text never leaves the server.
Statuses: ok, warning, critical, skipped (does not apply) and
unknown (could not be measured — never alerts).
Keep messages safe. They leave the server: no DSN, password, token, internal host or raw exception text.
The report
POST to the panel with Authorization: Bearer <key>, contract
sixtec.health/1:
server is only sent when server metrics are enabled.
Security
- The key only travels in the
Authorizationheader and is never logged (failures log the host only). The panel stores only its SHA-256. - The service runs as the app directory owner, with
NoNewPrivileges=true. - Pushing never throws: a network hiccup is logged locally, and the panel flags the silence.
Testing
License
MIT.
All versions of monitor with dependencies
illuminate/console Version ^11.0|^12.0|^13.0
illuminate/http Version ^11.0|^12.0|^13.0
illuminate/process Version ^11.0|^12.0|^13.0
illuminate/support Version ^11.0|^12.0|^13.0