Overview

Interactive architecture diagram showing all mipo components and their real-time health status. Each node represents a container or external service. Click any node to navigate to its detailed health page. Connection lines animate when data is flowing and turn solid when degraded.

Fields & Columns

Name Description
Backup pg_dump cron service that backs up all three databases
S3 Cloud storage node, only visible when S3 remote backup is configured
Config PostgreSQL database for identity, configuration, and audit events
Results TimescaleDB database for scan results and state changes
Jobs PostgreSQL database for scan job orchestration
Manager User-facing API, GUI, and admin functions on port 3000
Ingest 1 / Ingest 2 Scanner API nodes handling heartbeats, job dispatch, and results on port 3001
Dispatcher Scan orchestration service with no HTTP API
Gateway Traefik reverse proxy for TLS termination and path-based routing
DNS / HTTPS indicators Public DNS and HTTPS certificate status for the configured FQDN
Scanner nodes Registered scanners shown with their current status (active, pending, offline, disabled)

How To

Diagnose a component failure

  1. Look for red (unhealthy) nodes in the diagram
  2. Click the red node to navigate to its detailed health page
  3. Review the specific error messages and metrics on the detail page

Check backup health from the overview

  1. Navigate to Health > Overview.
  2. Look for the backup status indicator in the infrastructure section.
  3. Click the indicator to navigate to Admin > Backups for detailed scheduling.

Gotchas

  1. Animated connection lines indicate active data flow; solid lines mean the connection is inactive or degraded.
  2. The Dispatcher node is not clickable because it has no HTTP API. To troubleshoot dispatcher issues, check its container logs with `docker compose logs dispatcher`.
  3. DNS and HTTPS indicators reflect the public URL configured in Admin > Settings — they will show unknown if no public URL is set.
  4. Health evaluator thresholds: scanner load ratio 0.8, memory minimum ratio 0.10, DB sessions maximum ratio 0.80, long query threshold 60 seconds, auth failure limit 10 in 5-minute window, TLS certificate expiry warning at 30 days.

API Calls (7)

Method Path Description
GET /api/health/services/manager Manager service health and metrics
GET /api/health/services/ingest Ingest node statuses and metrics
GET /api/health/infra/db-status Database connection pool health
GET /api/health/infra/proxy-status Traefik reverse proxy metrics
GET /api/scanners Registered scanners and their statuses
GET /api/health/internet-status Public DNS and HTTPS reachability
GET /api/health/infra/backup Backup system health and S3 status

Related Pages

  • Alarms — Active system alarms detected by built-in fault rules
  • Manager — Detailed health metrics for the manager service
  • Ingest — Per-node health for ingest-1 and ingest-2
  • Database Status — Connection pool metrics for all databases
  • Proxy Status — Traefik router, service, and middleware counts
  • Scanners — Scanner connectivity and heartbeat status
  • Backup — Backup schedule, storage, and trigger history
  • Maintenance — Centralized container restart and maintenance operations (wrench icons link here)