Runtime architecture
The Node portal listens on loopback 4310 and exposes collector metrics on 4311. Two Grafana 13.2.1 instances listen on loopback 4320 and 4321. Public Grafana has no Grafana Cloud credentials; its Prometheus datasource calls a loopback gateway on 4312. The owner instance receives a Cloud read token and a trusted identity only after the portal verifies the Google session.
Public query contract
Queries are registered in Git from the approved metric catalog. Grafana submits opaque query identifiers. The gateway never forwards client PromQL. It validates time bounds, maximum seven days, at most 400 steps, 24 series, six concurrent upstream requests and a two-megabyte response budget. Series labels are replaced with anonymous names. Public query POSTs work; dashboard saves and other mutation routes are denied.
Dashboard synchronization
The synchronization job discovers Cloud dashboards and preserves original definitions in the owner instance. Public definitions preserve supported panel types and positions while removing private links, annotations, variables, text and raw expressions. Queries absent from the registry and unsupported plugins become explained restrictions. Source providers disallow UI updates; editable copies use separate UIDs. The catalog includes legacy portal dashboards and published workspace dashboards.
Overview health semantics
The health header separates current endpoint probes and CPU/memory/root-disk pressure from persistent daily findings. A server is within limits only when all three resource metrics are live, finite, and no older than five minutes. CPU or memory at 90%, or disk at 85%, indicates resource pressure. The worst latest series value is used. Missing or stale series are unverified, never zero. A known threshold breach remains failing even when another resource is unknown. Endpoint probes map healthy to passing, degraded/unavailable to failing, and stale overview responses to unverified. These are display checks, not additional alert evaluators. Existing Cloud rule timing and pending periods are unchanged. Critical daily findings appear first below the health section.