Skip to content

Monitoring & Logs

Layer Signals Where
Panel HTTP errors, login failures, DB/Redis health Admin → Overview (System Health), System Errors
Nodes Reachability, CPU/memory/disk, agent version drift Admin → Nodes, node detail stats
Servers Crash loops, backup failures, quota usage Servers, per-server Metrics and Backups tabs
Platform Disk free everywhere, certificate expiry, backup age Alerts plus your own host monitoring

The admin dashboard shows System Health (Database, Cluster Nodes) and the cluster resource chart. Ship the same numbers to your existing monitoring (Prometheus/Grafana, Uptime Kuma, log shipping) rather than living in the panel UI.

Open Admin → System Errors (/admin/system-errors). This is the panel’s own error log: exceptions captured from the backend, agents, and frontend. The header shows Live when the realtime stream is connected (otherwise Offline) plus the current error count.

  1. Filter with Level (All levels, Warning, Error, Critical), Component (for example auth, server...), Node, Status (All, Resolved, Unresolved), From/To, and Quick range (Custom, Last 1h, Last 6h, Last 24h, Last 7d). Active filters show as chips; Clear resets them.
  2. Per row, View details opens the stack trace and metadata, Copy for AI copies a Markdown report, and Resolve marks one error handled.
  3. Resolve all marks every error matching the current filters resolved (disabled while you are filtering to resolved errors).
  4. Export opens a dialog: pick a Time range and a Format — JSON, or Markdown for pasting into an assistant. Up to 5,000 of the most recent errors are included.
  5. Download diagnostics captures panel, node, server, and config data for a time window as one redacted ZIP — see diagnostics bundle.

Triage here first when a page 500s or a background job misbehaves, then read Audit Logs (/admin/audit-logs) for who triggered the action. Audit logs are your source of truth for staff actions; export CSV and protect retention under Admin → Security.

  1. Open Admin → Alerts and select Create Rule.

  2. Details — name the rule, pick a Rule type: Resource threshold (CPU/memory/disk percentages), Node offline (offline threshold in minutes), or Server crashed; choose a Target (Global, Node, or Server).

  3. Conditions — set the thresholds the rule type exposes.

  4. Notifications — add Email recipients, Webhook URLs, a Cooldown (minutes), and optionally Notify server owner.

  5. Select Create rule. Incidents appear under Alert history; use Resolve or Resolve all once handled.

At minimum, page on: panel down, node unreachable > 5 min, disk > 85%, and a panel database backup older than expected. Certificate expiry is not something the panel watches — track it in your host monitoring. Prune stale rules quarterly; they train people to ignore the channel.

  • Backend container logs — API errors, auth failures, background jobs: docker compose logs backend.
  • Agent logs on each node — lifecycle actions, update stages, connectivity: journalctl -u catalyst-agent.
  • System errors view — persisted application errors worth triaging regularly.

Go to troubleshooting with the alert text, the affected host, and a timestamp. Those three facts solve half of all incidents.