Ingest
Health and metrics for all ingest nodes. Mipo runs two ingest nodes (ingest-1 and ingest-2) that handle scanner API traffic — heartbeats, job dispatch, and result collection on port 3001. Traefik load balances across both nodes. Nodes without a heartbeat for 2+ minutes are marked offline.
Fields & columns
| Name | Description |
|---|---|
Uptime | How long this ingest node has been running since last restart |
Last Heartbeat | Most recent self-reported heartbeat time from the node |
Heap Memory | V8 JavaScript heap memory currently in use |
RSS Memory | Resident Set Size — total OS-allocated memory for the process |
Total Requests | Cumulative HTTP requests handled by this node since startup |
Started | Timestamp when this ingest node process started |
Node.js | Node.js runtime version powering this ingest node |
Platform | Operating system and CPU architecture (e.g., linux/x64) |
Gotchas
- Nodes with no heartbeat for 2+ minutes are marked offline, even if the database still says active.
- Both ingest nodes should show similar request counts. A large imbalance may indicate a Traefik routing issue.
- Ingest nodes bridge both the external network (accepts scanner heartbeats) and internal network (writes scan results to databases).
API calls (1)
| Method | Path | Description |
|---|---|---|
| GET | /api/health/services/ingest | Fetch all ingest node statuses and metrics |
Related
- Overview — Architecture diagram showing ingest nodes in context
- Manager — The other Node.js service — handles user API traffic
- Proxy Status — Traefik load balances traffic across ingest nodes
- Scanners — Scanners connect through ingest nodes for heartbeats and results
- Ingest Health Check — The deep database health check exposed by each ingest node