Files
scadaproj/docs/mockups/overview-dashboard-mockup.html
T
Joseph Doherty 6dd7858619 docs(overview): family overview dashboard — options, design, impl plan, mockup
Options investigation (Aspire standalone/HealthChecks.UI/Gatus/Homepage/
Grafana vs custom) → decision: custom ZB.MOM.WW.Overview Blazor app in the
family look. Design: anonymous read-only single pane, appsettings registry
of all four apps' instances, cache-first poller on a configurable timer,
configurable staleness timeout, Active/Standby from /health/active, and
per-cluster Akka leader chips (needs Health 0.2.0 optional per-entry data).
Impl plan: phased + code-verified — Phase 0 Health 0.2.0 (writer data field
+ AkkaClusterHealthCheck cluster view), Phase 1 ScadaBridge site-node
MapZbHealth PR (:8084; role-scoped active check), Phase 2 OtOpcUa bump,
Phase 3 the app (:5320), Phase 4 live rig acceptance. Mockup is the visual
reference: real Theme tokens + embedded IBM Plex, all card states incl.
stale + split-brain. Ready to execute in a fresh session.
2026-07-22 09:22:13 -04:00

555 lines
107 KiB
HTML

<title>ZB Overview — dashboard mockup</title>
<style>
/* ══ ZB.MOM.WW.Theme — Technical-Light tokens (verbatim from theme.css) ══ */
@font-face { font-family:'IBM Plex Sans'; font-style:normal; font-weight:400; font-display:swap; src:url(data:font/woff2;base64,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) format('woff2'); }
@font-face { font-family:'IBM Plex Sans'; font-style:normal; font-weight:600; font-display:swap; src:url(data:font/woff2;base64,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) format('woff2'); }
@font-face { font-family:'IBM Plex Mono'; font-style:normal; font-weight:500; font-display:swap; src:url(data:font/woff2;base64,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) format('woff2'); }
:root {
--paper:#f4f4f1; --card:#ffffff; --ink:#1b1d21; --ink-soft:#5a6066; --ink-faint:#8b9097;
--rule:#e4e4df; --rule-strong:#d2d2cb;
--accent:#2f5fd0; --accent-deep:#1e3f99;
--ok:#2f9e44; --warn:#e8920c; --bad:#e03131; --idle:#868e96;
--ok-bg:#e9f6ec; --warn-bg:#fdf1dd; --bad-bg:#fceaea; --idle-bg:#eef0f2;
--ok-border:#c6e6cd; --warn-border:#efd6a6; --bad-border:#eec3c3;
--ok-border-soft:#bfe3c6; --warn-border-soft:#f0d9ab; --bad-border-soft:#f0c0c0;
--warn-ink:#b56a00; --warn-ink-deep:#8a5a00;
--info-bg:#e7ecfb; --info-border:#cdd9f7;
--zebra-bg:#fbfbf9; --hover-bg:#f3f6fd; --active-bg:#eef2fc;
--mono:'IBM Plex Mono',ui-monospace,'Cascadia Mono',Consolas,monospace;
--sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
/* Technical-Light is the family identity — this mockup commits to it in any viewer theme. */
html, body { background:var(--paper); }
body {
background:
radial-gradient(1200px 480px at 88% -8%, var(--card) 0%, rgba(255,255,255,0) 70%),
var(--paper);
color:var(--ink); font-family:var(--sans); font-size:0.9rem;
-webkit-font-smoothing:antialiased; margin:0;
}
.mono { font-family:var(--mono); font-variant-numeric:tabular-nums; }
a { color:var(--accent); text-decoration:none; }
a:hover { color:var(--accent-deep); text-decoration:underline; }
* { box-sizing:border-box; }
:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.chip {
display:inline-block; font-size:0.72rem; font-weight:600; text-transform:uppercase;
letter-spacing:0.05em; padding:0.15rem 0.5rem; border-radius:4px; border:1px solid transparent;
white-space:nowrap;
}
.chip-ok { color:var(--ok); background:var(--ok-bg); border-color:var(--ok-border); }
.chip-warn { color:var(--warn-ink); background:var(--warn-bg); border-color:var(--warn-border); }
.chip-bad { color:var(--bad); background:var(--bad-bg); border-color:var(--bad-border); }
.chip-idle { color:var(--idle); background:var(--idle-bg); border-color:var(--rule-strong); }
.chip-info { color:var(--accent-deep); background:var(--info-bg); border-color:var(--info-border); }
.conn-pill {
display:inline-flex; align-items:center; gap:0.4rem; font-size:0.74rem; font-weight:600;
text-transform:uppercase; letter-spacing:0.06em; padding:0.2rem 0.6rem; border-radius:999px;
border:1px solid var(--rule-strong); color:var(--ink-soft); background:var(--card);
}
.conn-pill .dot { width:7px; height:7px; border-radius:50%; background:var(--idle); }
.conn-pill[data-state="connected"] { color:var(--ok); border-color:var(--ok-border-soft); background:var(--ok-bg); }
.conn-pill[data-state="connected"] .dot { background:var(--ok); animation:pulse 2.2s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1;} 50%{opacity:0.25;} }
.panel { background:var(--card); border:1px solid var(--rule); border-radius:8px; }
.panel-foot { padding:0.5rem 0.9rem; border-top:1px solid var(--rule); font-size:0.82rem; }
@keyframes rise { from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;} }
.rise { animation:rise 0.4s ease both; }
@media (prefers-reduced-motion: reduce) { .rise { animation:none; } .conn-pill .dot { animation:none; } }
/* ══ Shell: side rail + page (layout.css vocabulary) ══ */
.app-shell { display:flex; align-items:stretch; min-height:100vh; }
.side-rail {
width:220px; flex:0 0 220px; display:flex; flex-direction:column; gap:0.15rem;
padding:1rem 0.7rem; background:var(--card); border-right:1px solid var(--rule-strong);
position:sticky; top:0; height:100vh;
}
.side-rail .brand {
color:var(--ink); font-size:1.1rem; font-weight:600; letter-spacing:0.02em;
padding:1rem; border-bottom:1px solid var(--rule); margin-bottom:0.4rem;
}
.side-rail .brand .mark { color:var(--accent); }
.rail-eyebrow {
font-size:0.68rem; font-weight:600; text-transform:uppercase; letter-spacing:0.07em;
color:var(--ink-faint); padding:0.45rem 0.6rem 0.3rem;
}
.rail-link {
display:block; padding:0.4rem 0.6rem; border-radius:4px; border-left:2px solid transparent;
font-size:0.86rem; color:var(--ink-soft);
}
.rail-link:hover { background:var(--hover-bg); color:var(--ink); text-decoration:none; }
.rail-link.active { background:var(--active-bg); border-left-color:var(--accent); color:var(--accent-deep); font-weight:600; }
.rail-foot { margin-top:auto; padding-top:0.6rem; border-top:1px solid var(--rule); display:flex; flex-direction:column; gap:0.5rem; }
.rail-note { padding:0 0.6rem 0.6rem; font-family:var(--mono); font-size:0.72rem; color:var(--ink-faint); line-height:1.5; }
.page { flex:1; min-width:0; padding:1.25rem; max-width:1680px; margin:0 auto; }
@media (max-width: 860px) { .app-shell { flex-direction:column; } .side-rail { position:static; height:auto; width:100%; flex:none; } }
/* ══ Page header ══ */
.page-head { display:flex; align-items:baseline; gap:1rem; flex-wrap:wrap; margin:0 0 1rem; }
.page-head h1 { font-size:1.25rem; font-weight:600; letter-spacing:0.01em; margin:0; text-wrap:balance; }
.page-head .spacer { flex:1; }
.page-meta { font-family:var(--mono); font-size:0.78rem; color:var(--ink-soft); }
.rail-btn {
display:inline-block; padding:0.3rem 0.7rem; font-size:0.78rem; font-weight:600;
color:var(--ink-soft); background:var(--card); border:1px solid var(--rule-strong);
border-radius:4px; cursor:pointer; font-family:var(--sans);
}
.rail-btn:hover { border-color:var(--accent); color:var(--accent); }
/* ══ KPI strip ══ */
.agg-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:0.75rem; margin-bottom:1.25rem; }
@media (max-width:1100px) { .agg-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:620px) { .agg-grid { grid-template-columns:repeat(2,1fr); } }
.agg-card { background:var(--card); border:1px solid var(--rule); border-radius:8px; padding:0.7rem 0.9rem; }
.agg-label { font-size:0.68rem; font-weight:600; text-transform:uppercase; letter-spacing:0.07em; color:var(--ink-faint); }
.agg-value { margin-top:0.25rem; font-size:1.5rem; font-weight:600; line-height:1.1; display:flex; align-items:baseline; gap:0.35rem; font-family:var(--mono); font-variant-numeric:tabular-nums; }
.agg-sub { font-size:0.85rem; font-weight:400; color:var(--ink-faint); font-family:var(--sans); }
.agg-card.good .agg-value { color:var(--ok); }
.agg-card.alert { border-color:var(--bad-border); background:var(--bad-bg); }
.agg-card.alert .agg-value { color:var(--bad); }
.agg-card.caution { border-color:var(--warn-border); background:var(--warn-bg); }
.agg-card.caution .agg-value { color:var(--warn-ink); }
.agg-card.quiet .agg-value { color:var(--idle); }
/* ══ Application sections ══ */
.app-section { margin-bottom:1.5rem; }
.app-head { display:flex; align-items:baseline; gap:0.6rem; flex-wrap:wrap; padding-bottom:0.4rem; border-bottom:1px solid var(--rule-strong); margin-bottom:0.75rem; }
.app-head h2 { font-size:1.02rem; font-weight:600; margin:0; }
.app-head .spacer { flex:1; }
.app-meta { font-family:var(--mono); font-size:0.76rem; color:var(--ink-faint); }
.group { margin-bottom:0.9rem; }
.group-head { display:flex; align-items:center; gap:0.55rem; flex-wrap:wrap; margin-bottom:0.5rem; }
.group-name { font-size:0.74rem; font-weight:600; text-transform:uppercase; letter-spacing:0.07em; color:var(--ink-soft); }
.group-meta { font-family:var(--mono); font-size:0.74rem; color:var(--ink-faint); }
.card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(310px,1fr)); gap:0.85rem; }
/* ══ Instance card ══ */
.inst { background:var(--card); border:1px solid var(--rule); border-radius:8px; overflow:hidden; display:flex; flex-direction:column; }
.inst.up { border-top:3px solid var(--ok); }
.inst.degraded { border-top:3px solid var(--warn); }
.inst.down { border-top:3px solid var(--bad); }
.inst.unreachable { border-top:3px solid var(--bad); border-style:dashed; border-top-style:solid; }
.inst.stale { border-top:3px solid var(--idle); }
.inst.stale .inst-body, .inst.stale .inst-head .inst-host { opacity:0.55; }
.inst-head { display:flex; align-items:flex-start; justify-content:space-between; gap:0.6rem; padding:0.6rem 0.9rem 0.45rem; }
.inst-name { font-weight:600; font-size:0.92rem; }
.inst-host { display:block; font-family:var(--mono); font-size:0.72rem; color:var(--ink-faint); margin-top:0.15rem; }
.inst-chips { display:flex; gap:0.3rem; flex-wrap:wrap; justify-content:flex-end; }
.kv { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:0.32rem 0.9rem; font-size:0.85rem; }
.kv:nth-child(even) { background:var(--zebra-bg); }
.kv .k { color:var(--ink-soft); }
.kv .v { font-family:var(--mono); font-variant-numeric:tabular-nums; text-align:right; }
.kv .v.ok { color:var(--ok); } .kv .v.warn { color:var(--warn); } .kv .v.bad { color:var(--bad); } .kv .v.idle { color:var(--idle); }
details.checks { border-top:1px solid var(--rule); }
details.checks summary {
list-style:none; cursor:pointer; padding:0.45rem 0.9rem; font-size:0.72rem; font-weight:600;
text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-faint); user-select:none;
}
details.checks summary::-webkit-details-marker { display:none; }
details.checks summary::before { content:'\25B6'; font-size:0.55rem; margin-right:0.4rem; }
details.checks[open] summary::before { content:'\25BC'; }
details.checks summary:hover { color:var(--ink); }
.check-row { display:flex; align-items:baseline; gap:0.5rem; padding:0.28rem 0.9rem; font-size:0.8rem; }
.check-row:nth-child(even) { background:var(--zebra-bg); }
.check-name { font-family:var(--mono); font-size:0.78rem; min-width:9.5rem; }
.check-desc { color:var(--ink-soft); font-size:0.78rem; }
.check-dot { width:8px; height:8px; border-radius:2px; flex:0 0 8px; align-self:center; }
.check-dot.ok { background:var(--ok); } .check-dot.warn { background:var(--warn); } .check-dot.bad { background:var(--bad); }
.check-data {
margin:0.35rem 0.9rem 0.6rem; padding:0.4rem 0.6rem; background:var(--zebra-bg);
border:1px solid var(--rule); border-radius:4px;
font-family:var(--mono); font-size:0.72rem; color:var(--ink-soft); line-height:1.6;
overflow-x:auto; white-space:nowrap;
}
.check-data b { color:var(--accent-deep); font-weight:500; }
.inst .panel-foot { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:0.6rem; }
.foot-note { font-family:var(--mono); font-size:0.72rem; color:var(--ink-faint); }
</style>
<div class="app-shell">
<aside class="side-rail">
<div class="brand">ZB<span class="mark"></span> Overview</div>
<div class="rail-eyebrow">Fleet</div>
<a class="rail-link active" href="#">Overview</a>
<div class="rail-eyebrow">Applications</div>
<a class="rail-link" href="#otopcua">OtOpcUa</a>
<a class="rail-link" href="#scadabridge">ScadaBridge</a>
<a class="rail-link" href="#mxgateway">MxAccessGateway</a>
<a class="rail-link" href="#historiangw">HistorianGateway</a>
<div class="rail-foot">
<span class="conn-pill" data-state="connected" id="poll-pill"><span class="dot"></span><span id="poll-pill-text">Polling</span></span>
<div class="rail-note">read-only · anonymous<br>ZB.MOM.WW.Overview 0.1.0</div>
</div>
</aside>
<main class="page">
<div class="page-head rise">
<h1>Fleet overview</h1>
<span class="page-meta">last cycle 14:52:07 · 312 ms · every 10 s · stale after 45 s</span>
<span class="spacer"></span>
<button class="rail-btn" id="pause-btn" type="button">Pause auto-refresh</button>
</div>
<div class="agg-grid rise" style="animation-delay:.02s">
<div class="agg-card"><div class="agg-label">Instances</div><div class="agg-value">12<span class="agg-sub">registered</span></div></div>
<div class="agg-card good"><div class="agg-label">Up</div><div class="agg-value">8</div></div>
<div class="agg-card caution"><div class="agg-label">Degraded</div><div class="agg-value">1</div></div>
<div class="agg-card alert"><div class="agg-label">Down</div><div class="agg-value">1</div></div>
<div class="agg-card alert"><div class="agg-label">Unreachable</div><div class="agg-value">1</div></div>
<div class="agg-card quiet"><div class="agg-label">Stale</div><div class="agg-value">1</div></div>
</div>
<!-- ═══════════ OtOpcUa ═══════════ -->
<section class="app-section rise" style="animation-delay:.08s" id="otopcua">
<div class="app-head">
<h2>OtOpcUa</h2>
<span class="chip chip-warn">Degraded</span>
<span class="spacer"></span>
<span class="app-meta">4 instances · 2 clusters</span>
</div>
<div class="group">
<div class="group-head">
<span class="group-name">central pair</span>
<span class="chip chip-info">Leader · central-1</span>
<span class="group-meta">2 members · 0 unreachable</span>
</div>
<div class="card-grid">
<article class="inst up">
<div class="inst-head">
<div><span class="inst-name">central-1</span><span class="inst-host">otopcua-central-1:9200</span></div>
<div class="inst-chips"><span class="chip chip-info">Leader</span><span class="chip chip-info">Active</span><span class="chip chip-ok">Up</span></div>
</div>
<div class="inst-body">
<div class="kv"><span class="k">Latency</span><span class="v">18 ms</span></div>
<div class="kv"><span class="k">Last poll</span><span class="v">4 s ago</span></div>
<div class="kv"><span class="k">Checks</span><span class="v ok">4 / 4 healthy</span></div>
<details class="checks">
<summary>Check detail</summary>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">configdb</span><span class="check-desc">SQL Server reachable</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">akka</span><span class="check-desc">Akka cluster member status: Up</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">admin-leader</span><span class="check-desc">this node holds the admin singletons</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">localdb-replication</span><span class="check-desc">peer connected · backlog 0</span></div>
<div class="check-data"><b>leader</b> akka.tcp://OtOpcUa@otopcua-central-1:4053 · <b>members</b> 2 · <b>unreachable</b> 0 · <b>roles</b> admin,driver</div>
</details>
</div>
<div class="panel-foot"><a href="#">Open AdminUI ↗</a><span class="foot-note">ready 200 · active 200</span></div>
</article>
<article class="inst up">
<div class="inst-head">
<div><span class="inst-name">central-2</span><span class="inst-host">otopcua-central-2:9200</span></div>
<div class="inst-chips"><span class="chip chip-idle">Standby</span><span class="chip chip-ok">Up</span></div>
</div>
<div class="inst-body">
<div class="kv"><span class="k">Latency</span><span class="v">21 ms</span></div>
<div class="kv"><span class="k">Last poll</span><span class="v">4 s ago</span></div>
<div class="kv"><span class="k">Checks</span><span class="v ok">4 / 4 healthy</span></div>
<details class="checks">
<summary>Check detail</summary>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">configdb</span><span class="check-desc">SQL Server reachable</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">akka</span><span class="check-desc">Akka cluster member status: Up</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">admin-leader</span><span class="check-desc">standby — singletons on central-1</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">localdb-replication</span><span class="check-desc">peer connected · backlog 0</span></div>
<div class="check-data"><b>leader</b> akka.tcp://OtOpcUa@otopcua-central-1:4053 · <b>members</b> 2 · <b>unreachable</b> 0 · <b>roles</b> admin,driver</div>
</details>
</div>
<div class="panel-foot"><a href="#">Open AdminUI ↗</a><span class="foot-note">ready 200 · active 503</span></div>
</article>
</div>
</div>
<div class="group">
<div class="group-head">
<span class="group-name">site-a pair</span>
<span class="chip chip-info">Leader · site-a-1</span>
<span class="group-meta">2 members · 0 unreachable</span>
</div>
<div class="card-grid">
<article class="inst up">
<div class="inst-head">
<div><span class="inst-name">site-a-1</span><span class="inst-host">otopcua-site-a-1:9210</span></div>
<div class="inst-chips"><span class="chip chip-info">Leader</span><span class="chip chip-info">Active</span><span class="chip chip-ok">Up</span></div>
</div>
<div class="inst-body">
<div class="kv"><span class="k">Latency</span><span class="v">33 ms</span></div>
<div class="kv"><span class="k">Last poll</span><span class="v">5 s ago</span></div>
<div class="kv"><span class="k">Checks</span><span class="v ok">3 / 3 healthy</span></div>
<details class="checks">
<summary>Check detail</summary>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">akka</span><span class="check-desc">Akka cluster member status: Up</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">deployed-config</span><span class="check-desc">artifact cache rev 41 · verified</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">localdb-replication</span><span class="check-desc">peer connected · backlog 0</span></div>
<div class="check-data"><b>leader</b> akka.tcp://OtOpcUa@otopcua-site-a-1:4053 · <b>members</b> 2 · <b>unreachable</b> 0 · <b>roles</b> driver</div>
</details>
</div>
<div class="panel-foot"><a href="#">Open AdminUI ↗</a><span class="foot-note">ready 200 · active 200</span></div>
</article>
<article class="inst degraded">
<div class="inst-head">
<div><span class="inst-name">site-a-2</span><span class="inst-host">otopcua-site-a-2:9210</span></div>
<div class="inst-chips"><span class="chip chip-idle">Standby</span><span class="chip chip-warn">Degraded</span></div>
</div>
<div class="inst-body">
<div class="kv"><span class="k">Latency</span><span class="v">29 ms</span></div>
<div class="kv"><span class="k">Last poll</span><span class="v">5 s ago</span></div>
<div class="kv"><span class="k">Checks</span><span class="v warn">2 / 3 healthy</span></div>
<details class="checks" open>
<summary>Check detail</summary>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">akka</span><span class="check-desc">Akka cluster member status: Up</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">deployed-config</span><span class="check-desc">artifact cache rev 41 · verified</span></div>
<div class="check-row"><span class="check-dot warn"></span><span class="check-name">localdb-replication</span><span class="check-desc">peer unreachable for 38 s · backlog 12 ops</span></div>
<div class="check-data"><b>leader</b> akka.tcp://OtOpcUa@otopcua-site-a-1:4053 · <b>members</b> 2 · <b>unreachable</b> 0 · <b>roles</b> driver</div>
</details>
</div>
<div class="panel-foot"><a href="#">Open AdminUI ↗</a><span class="foot-note">ready 200 · active 503</span></div>
</article>
</div>
</div>
</section>
<!-- ═══════════ ScadaBridge ═══════════ -->
<section class="app-section rise" style="animation-delay:.14s" id="scadabridge">
<div class="app-head">
<h2>ScadaBridge</h2>
<span class="chip chip-bad">Down</span>
<span class="spacer"></span>
<span class="app-meta">6 instances · 3 clusters</span>
</div>
<div class="group">
<div class="group-head">
<span class="group-name">central pair</span>
<span class="chip chip-info">Leader · central-a</span>
<span class="group-meta">2 members · 0 unreachable</span>
</div>
<div class="card-grid">
<article class="inst up">
<div class="inst-head">
<div><span class="inst-name">central-a</span><span class="inst-host">sb-central-a:5000</span></div>
<div class="inst-chips"><span class="chip chip-info">Leader</span><span class="chip chip-info">Active</span><span class="chip chip-ok">Up</span></div>
</div>
<div class="inst-body">
<div class="kv"><span class="k">Latency</span><span class="v">24 ms</span></div>
<div class="kv"><span class="k">Last poll</span><span class="v">3 s ago</span></div>
<div class="kv"><span class="k">Checks</span><span class="v ok">3 / 3 healthy</span></div>
<details class="checks">
<summary>Check detail</summary>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">database</span><span class="check-desc">ScadaBridge config DB reachable</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">akka-cluster</span><span class="check-desc">Akka cluster member status: Up</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">required-singletons</span><span class="check-desc">all central singletons started</span></div>
<div class="check-data"><b>leader</b> akka.tcp://scadabridge@sb-central-a:8081 · <b>members</b> 2 · <b>unreachable</b> 0 · <b>roles</b> Central</div>
</details>
</div>
<div class="panel-foot"><a href="#">Open CentralUI ↗</a><span class="foot-note">ready 200 · active 200</span></div>
</article>
<article class="inst up">
<div class="inst-head">
<div><span class="inst-name">central-b</span><span class="inst-host">sb-central-b:5000</span></div>
<div class="inst-chips"><span class="chip chip-idle">Standby</span><span class="chip chip-ok">Up</span></div>
</div>
<div class="inst-body">
<div class="kv"><span class="k">Latency</span><span class="v">26 ms</span></div>
<div class="kv"><span class="k">Last poll</span><span class="v">3 s ago</span></div>
<div class="kv"><span class="k">Checks</span><span class="v ok">3 / 3 healthy</span></div>
<details class="checks">
<summary>Check detail</summary>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">database</span><span class="check-desc">ScadaBridge config DB reachable</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">akka-cluster</span><span class="check-desc">Akka cluster member status: Up</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">required-singletons</span><span class="check-desc">standby — singletons on central-a</span></div>
<div class="check-data"><b>leader</b> akka.tcp://scadabridge@sb-central-a:8081 · <b>members</b> 2 · <b>unreachable</b> 0 · <b>roles</b> Central</div>
</details>
</div>
<div class="panel-foot"><a href="#">Open CentralUI ↗</a><span class="foot-note">ready 200 · active 503</span></div>
</article>
</div>
</div>
<div class="group">
<div class="group-head">
<span class="group-name">site-a pair</span>
<span class="chip chip-info">Leader · site-a-1</span>
<span class="group-meta">2 members · 1 unreachable</span>
</div>
<div class="card-grid">
<article class="inst up">
<div class="inst-head">
<div><span class="inst-name">site-a-1</span><span class="inst-host">sb-site-a-1:8084</span></div>
<div class="inst-chips"><span class="chip chip-info">Leader</span><span class="chip chip-info">Active</span><span class="chip chip-ok">Up</span></div>
</div>
<div class="inst-body">
<div class="kv"><span class="k">Latency</span><span class="v">31 ms</span></div>
<div class="kv"><span class="k">Last poll</span><span class="v">3 s ago</span></div>
<div class="kv"><span class="k">Checks</span><span class="v ok">3 / 3 healthy</span></div>
<details class="checks">
<summary>Check detail</summary>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">akka-cluster</span><span class="check-desc">Akka cluster member status: Up</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">localdb</span><span class="check-desc">site store reachable · replication backlog 0</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">active-node</span><span class="check-desc">primary of pair site-a</span></div>
<div class="check-data"><b>leader</b> akka.tcp://scadabridge@sb-site-a-1:8082 · <b>members</b> 2 · <b>unreachable</b> 1 · <b>roles</b> Site,site-a</div>
</details>
</div>
<div class="panel-foot"><span class="foot-note">no management UI — site node</span><span class="foot-note">ready 200 · active 200</span></div>
</article>
<article class="inst unreachable">
<div class="inst-head">
<div><span class="inst-name">site-a-2</span><span class="inst-host">sb-site-a-2:8084</span></div>
<div class="inst-chips"><span class="chip chip-bad">Unreachable</span></div>
</div>
<div class="inst-body">
<div class="kv"><span class="k">Error</span><span class="v bad">connection refused</span></div>
<div class="kv"><span class="k">Failing since</span><span class="v">14:49:31 · 2 polls</span></div>
<div class="kv"><span class="k">Last good poll</span><span class="v">14:49:27</span></div>
</div>
<div class="panel-foot"><span class="foot-note">no management UI — site node</span><span class="foot-note">probe failed</span></div>
</article>
</div>
</div>
<div class="group">
<div class="group-head">
<span class="group-name">site-b pair</span>
<span class="chip chip-warn">Leader disagreement — possible split-brain</span>
<span class="group-meta">site-b-1 → site-b-1 · site-b-2 → site-b-2</span>
</div>
<div class="card-grid">
<article class="inst up">
<div class="inst-head">
<div><span class="inst-name">site-b-1</span><span class="inst-host">sb-site-b-1:8084</span></div>
<div class="inst-chips"><span class="chip chip-info">Active</span><span class="chip chip-ok">Up</span></div>
</div>
<div class="inst-body">
<div class="kv"><span class="k">Latency</span><span class="v">40 ms</span></div>
<div class="kv"><span class="k">Last poll</span><span class="v">3 s ago</span></div>
<div class="kv"><span class="k">Checks</span><span class="v ok">3 / 3 healthy</span></div>
<details class="checks" open>
<summary>Check detail</summary>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">akka-cluster</span><span class="check-desc">Akka cluster member status: Up</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">localdb</span><span class="check-desc">site store reachable</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">active-node</span><span class="check-desc">primary of pair site-b</span></div>
<div class="check-data"><b>leader</b> akka.tcp://scadabridge@sb-site-b-1:8082 · <b>members</b> 1 · <b>unreachable</b> 0</div>
</details>
</div>
<div class="panel-foot"><span class="foot-note">no management UI — site node</span><span class="foot-note">ready 200 · active 200</span></div>
</article>
<article class="inst up">
<div class="inst-head">
<div><span class="inst-name">site-b-2</span><span class="inst-host">sb-site-b-2:8084</span></div>
<div class="inst-chips"><span class="chip chip-info">Active</span><span class="chip chip-ok">Up</span></div>
</div>
<div class="inst-body">
<div class="kv"><span class="k">Latency</span><span class="v">38 ms</span></div>
<div class="kv"><span class="k">Last poll</span><span class="v">3 s ago</span></div>
<div class="kv"><span class="k">Checks</span><span class="v ok">3 / 3 healthy</span></div>
<details class="checks" open>
<summary>Check detail</summary>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">akka-cluster</span><span class="check-desc">Akka cluster member status: Up</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">localdb</span><span class="check-desc">site store reachable</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">active-node</span><span class="check-desc">primary of pair site-b</span></div>
<div class="check-data"><b>leader</b> akka.tcp://scadabridge@sb-site-b-2:8082 · <b>members</b> 1 · <b>unreachable</b> 0</div>
</details>
</div>
<div class="panel-foot"><span class="foot-note">no management UI — site node</span><span class="foot-note">ready 200 · active 200</span></div>
</article>
</div>
</div>
</section>
<!-- ═══════════ MxAccessGateway ═══════════ -->
<section class="app-section rise" style="animation-delay:.20s" id="mxgateway">
<div class="app-head">
<h2>MxAccessGateway</h2>
<span class="chip chip-bad">Down</span>
<span class="spacer"></span>
<span class="app-meta">1 instance</span>
</div>
<div class="card-grid">
<article class="inst down">
<div class="inst-head">
<div><span class="inst-name">windev</span><span class="inst-host">windev:5130</span></div>
<div class="inst-chips"><span class="chip chip-bad">Down</span></div>
</div>
<div class="inst-body">
<div class="kv"><span class="k">Latency</span><span class="v">57 ms</span></div>
<div class="kv"><span class="k">Failing since</span><span class="v">14:47:12 · 30 polls</span></div>
<div class="kv"><span class="k">Checks</span><span class="v bad">0 / 1 healthy</span></div>
<details class="checks" open>
<summary>Check detail</summary>
<div class="check-row"><span class="check-dot bad"></span><span class="check-name">auth-store</span><span class="check-desc">SQLite key store unreachable: database is locked</span></div>
</details>
</div>
<div class="panel-foot"><a href="#">Open Dashboard ↗</a><span class="foot-note">ready 503</span></div>
</article>
</div>
</section>
<!-- ═══════════ HistorianGateway ═══════════ -->
<section class="app-section rise" style="animation-delay:.26s" id="historiangw">
<div class="app-head">
<h2>HistorianGateway</h2>
<span class="chip chip-idle">Stale</span>
<span class="spacer"></span>
<span class="app-meta">1 instance</span>
</div>
<div class="card-grid">
<article class="inst stale">
<div class="inst-head">
<div><span class="inst-name">wonder-app-vd03</span><span class="inst-host">wonder-app-vd03:5222</span></div>
<div class="inst-chips"><span class="chip chip-idle">Stale</span></div>
</div>
<div class="inst-body">
<div class="kv"><span class="k">Data age</span><span class="v idle">1 m 58 s — stale since 14:50:54</span></div>
<div class="kv"><span class="k">Last known state</span><span class="v">Up (14:50:09)</span></div>
<div class="kv"><span class="k">Checks (last known)</span><span class="v">4 / 4 healthy</span></div>
<details class="checks">
<summary>Last known check detail</summary>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">historian-connection</span><span class="check-desc">wonder-sql-vd03:32565 session pool healthy</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">galaxy-sql</span><span class="check-desc">Galaxy repository DB reachable</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">store-forward-drain</span><span class="check-desc">outbox empty</span></div>
<div class="check-row"><span class="check-dot ok"></span><span class="check-name">session-pool</span><span class="check-desc">3 leased / 8 max</span></div>
</details>
</div>
<div class="panel-foot"><a href="#">Open Dashboard ↗</a><span class="foot-note">data older than 45 s threshold — VPN?</span></div>
</article>
</div>
</section>
<p class="page-meta rise" style="animation-delay:.32s">
Mockup — static data. Registry: appsettings <span class="mono">Overview:Applications</span> · poll 10 s · timeout 3 s · stale 45 s.
Leader/member data from the <span class="mono">akka-cluster</span> check's <span class="mono">data</span> object (ZB.MOM.WW.Health 0.2.0).
</p>
</main>
</div>
<script>
(function () {
var paused = false;
var btn = document.getElementById('pause-btn');
var pill = document.getElementById('poll-pill');
var pillText = document.getElementById('poll-pill-text');
btn.addEventListener('click', function () {
paused = !paused;
btn.textContent = paused ? 'Resume auto-refresh' : 'Pause auto-refresh';
if (paused) { pill.removeAttribute('data-state'); pillText.textContent = 'Paused'; }
else { pill.setAttribute('data-state', 'connected'); pillText.textContent = 'Polling'; }
});
})();
</script>