Turn on request tracking
Open the website → Monitoring → Turn on tracking. This adds one include line to the site’s nginx file and reloads nginx (workers keep running). From then on nginx writes one JSON line per request to/var/log/laravelify/{slug}.metrics.log, and the panel reads it.
Uptime checks and Laravel error tracking work without it.
Views
- Overview
- Requests
- Issues
- Heartbeats
- Security
- Live panel (every 2 seconds): requests, per second, 4xx, 5xx, average response time for the last 60 seconds, a per-second bar chart, and a feed of requests as they arrive.
- Availability: up or down, last check, uptime %, and an uptime bar for the range.
- Requests chart split by 1/2/3xx, 4xx, 5xx, and Duration chart (average and p95).
- Top routes with IDs grouped (
/orders/{id}), countries (from Cloudflare), open issues. - Monitoring settings: how long request details are kept (1–90 days), the slow limit, the error-spike limit.
Time ranges and data
The range buttons (1H, 24H, 7D, 14D, 30D) apply to the charts and tables. Charts are built from per-minute totals kept for at least 30 days; request details are kept for the site’s retention (7 days by default) and pruned nightly. History charts refresh every minute; the live panel every 2 seconds.Attack detection
Each request is checked for:
Each match gets a risk level (critical, high, medium). Nothing is blocked automatically: block an IP from the Security view, or turn on the Attack detected Telegram alert.