-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconsole.html
More file actions
257 lines (247 loc) · 15.5 KB
/
Copy pathconsole.html
File metadata and controls
257 lines (247 loc) · 15.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>The monitoring console — MessageFoundry</title>
<meta name="description" content="The MessageFoundry admin & monitoring console: live status, throughput, queue depth, alerts, dead-letter replay, message tracing and an HL7 parse-tree viewer.">
<link rel="canonical" href="https://messagefoundry.org/console.html">
<link rel="icon" href="/assets/img/favicon.svg" type="image/svg+xml">
<meta name="theme-color" content="#0b1220">
<meta property="og:type" content="website">
<meta property="og:site_name" content="MessageFoundry">
<meta property="og:title" content="The monitoring console — MessageFoundry">
<meta property="og:description" content="A live operations view of every interface — status, throughput, queue depth and backlog — plus alerts, dead-letter replay, message tracing, engine health, and user management.">
<meta property="og:url" content="https://messagefoundry.org/console.html">
<meta property="og:image" content="https://messagefoundry.org/assets/img/og.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:type" content="image/png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="The monitoring console — MessageFoundry">
<meta name="twitter:description" content="A live operations view of every interface — status, throughput, alerts, dead-letter replay, message tracing, and engine health.">
<meta name="twitter:image" content="https://messagefoundry.org/assets/img/og.png">
<link rel="stylesheet" href="/assets/css/styles.css">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"@id": "https://messagefoundry.org/#software",
"name": "MessageFoundry",
"applicationCategory": "Healthcare interface engine",
"applicationSubCategory": "HL7 interface engine",
"operatingSystem": "Windows, Linux, macOS",
"url": "https://messagefoundry.org/",
"downloadUrl": "https://pypi.org/project/messagefoundry/",
"license": "https://www.gnu.org/licenses/agpl-3.0.html",
"isAccessibleForFree": true,
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" },
"publisher": { "@id": "https://messagefoundry.org/#org" }
}
</script>
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<div class="eabar" role="region" aria-label="Project status">
<div class="container">
<p><strong>Early Access · beta.</strong> We're building toward 1.0 — and we want people involved now, while it can still be shaped. <a href="/status.html">Where the project stands →</a></p>
</div>
</div>
<header class="site-header">
<div class="container header-inner">
<a class="brand" href="/" aria-label="MessageFoundry home">
<img class="brand-mark" src="/assets/img/logo.svg" alt="" width="28" height="28">
<span class="brand-name">Message<span class="brand-accent">Foundry</span><span class="brand-tm">™</span></span>
</a>
<button class="nav-toggle" aria-expanded="false" aria-controls="site-nav" aria-label="Toggle navigation"><span></span><span></span><span></span></button>
<nav class="site-nav" id="site-nav">
<div class="nav-group">
<button type="button" class="nav-group__btn" aria-expanded="false" aria-haspopup="true" aria-controls="nav-product">Product</button>
<div class="nav-group__menu" id="nav-product">
<a href="/overview.html">Overview</a>
<a href="/features.html">Features</a>
<a href="/features-table.html">Feature list</a>
<a href="/architecture.html">Architecture</a>
<a href="/reliability.html">Reliability (CI)</a>
<a href="/tools.html">Tools</a>
<a href="/editor.html">Editor</a>
<a href="/console.html" class="active" aria-current="page">Console</a>
<a href="/ai.html">AI assist</a>
</div>
</div>
<a href="/security.html">Security</a>
<a href="/comparison.html">Comparison</a>
<div class="nav-group">
<button type="button" class="nav-group__btn" aria-expanded="false" aria-haspopup="true" aria-controls="nav-getstarted">Get started</button>
<div class="nav-group__menu" id="nav-getstarted">
<a href="/getting-started.html">Quickstart</a>
<a href="/guides/">Guides</a>
<a href="/documents.html">Documents</a>
</div>
</div>
<div class="nav-group">
<button type="button" class="nav-group__btn" aria-expanded="false" aria-haspopup="true" aria-controls="nav-company">About Us</button>
<div class="nav-group__menu" id="nav-company">
<a href="/about.html">About</a>
<a href="/status.html">Project status</a>
<a href="/licensing.html">Licensing</a>
<a href="/contact.html">Contact</a>
<a href="/sponsor.html">Sponsor</a>
</div>
</div>
<a class="btn btn-ghost" href="/pypi.html">PyPI<svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l8 4.5l0 9l-8 4.5l-8 -4.5l0 -9l8 -4.5"/><path d="M12 12l8 -4.5"/><path d="M12 12l0 9"/><path d="M12 12l-8 -4.5"/><path d="M16 5.25l-8 4.5"/></svg></a>
<a class="btn btn-ghost" href="https://github.com/MEFORORG/MessageFoundry" target="_blank" rel="noopener">GitHub ↗</a>
</nav>
</div>
</header>
<main id="main">
<!-- hero -->
<section class="section section--dark section--tight">
<div class="container center">
<span class="eyebrow">Admin & monitoring console</span>
<h1 style="max-width:20ch;margin-inline:auto">Watch every interface, live</h1>
<p class="lead center">The operations view for the people running MessageFoundry — every interface's health and throughput on one screen, the tools to trace a single message end to end, and start/stop, alerts, and replay close at hand. It reads and drives the engine through one localhost API, so what you see is exactly what the engine is doing.</p>
<div class="btn-row center">
<a class="btn btn-primary" href="/getting-started.html">Get started</a>
<a class="btn btn-secondary" href="/tools.html">See the whole toolkit →</a>
</div>
<figure style="margin:44px auto 0;max-width:1080px">
<img src="/assets/img/console.png" width="2220" height="1080" alt="The MessageFoundry monitoring console showing the live Connections dashboard: a left sidebar (Connections, Alerts, Dead Letters, Log Search, Engine Status, Users) and a table of interfaces with a status badge each — RUNNING, DEGRADED, FAILED, STOPPED — plus direction, method, per-connection logs, idle time, and counts for errored, read and written messages, queue depth, and backlog. The header shows the signed-in admin and a 2-second auto-refresh." style="width:100%;height:auto;display:block;border:1px solid var(--border-dk);border-radius:12px;box-shadow:var(--shadow-lg)">
<figcaption style="margin-top:14px;color:var(--muted-dk);font-size:.92rem;text-align:center;max-width:760px;margin-inline:auto">Every counter here is live from the engine — messages read, written, and errored per connection, plus queue depth and backlog — refreshed every couple of seconds, so what the dashboard shows is what the engine is actually doing. Nothing is counted that wasn't durably stored first: messages are persisted before they're acknowledged, then delivered at-least-once, so a failed delivery surfaces as a dead letter rather than a silent drop. <a href="/throughput/">How throughput really works →</a></figcaption>
</figure>
</div>
</section>
<!-- connection dashboard -->
<section class="section">
<div class="container grid grid-2" style="align-items:center">
<div>
<span class="eyebrow">Connection dashboard</span>
<h2>Every interface, at a glance</h2>
<p class="lead">The home screen is a live table of every connection — inbound and outbound — refreshing on its own. One look tells you what's healthy, what's slow, and what's stuck.</p>
<p>Click into any connection's logs, or select one and start, stop, or run an action — the controls are right there, gated by your role.</p>
</div>
<ul class="feature-list">
<li><b>Status at a glance</b> — <span class="st-ok">RUNNING</span>, <span class="st-warn">DEGRADED</span>, <span class="st-bad">FAILED</span>, or <span class="st-bad">STOPPED</span> — and a <code>SIM</code> tag when a destination is running in simulation.</li>
<li><b>Throughput, per connection</b> — messages read, written, and errored, so a climbing error count is obvious immediately.</li>
<li><b>Queue depth & backlog</b> — see exactly where messages are piling up, and how far behind a slow peer has fallen.</li>
<li><b>Per-connection logs</b> — jump straight from a row to that interface's log stream.</li>
<li><b>Start / Stop / Actions</b> — operate interfaces in place, permission-gated.</li>
<li><b>Auto-refresh</b> — the view updates every couple of seconds; no reloading.</li>
</ul>
</div>
</section>
<!-- alerts / dead letters / trace -->
<section class="section section--alt">
<div class="container">
<div class="center" style="margin-bottom:38px;max-width:720px;margin-inline:auto">
<span class="eyebrow">When something needs attention</span>
<h2>Catch problems, then chase them down</h2>
<p class="lead center">From a red status to the exact message that failed, the trail is short.</p>
</div>
<div class="grid grid-3">
<div class="card">
<h3>Alerts</h3>
<p>A single page of the alert rules in effect and what they're watching — so the conditions that page someone are written down and visible, not buried in a config file.</p>
</div>
<div class="card">
<h3>Dead Letters</h3>
<p>Every message that exhausted its retries, in one list. Inspect why it failed and <b>replay it with one click</b> once the downstream is healthy again — no database surgery.</p>
</div>
<div class="card">
<h3>Trace a message</h3>
<p>Search the log for a message, then follow it: its <b>disposition</b> (routed, filtered, or unrouted), its full <b>delivery & audit trail</b>, and an <b>HL7 parse-tree viewer</b> to read it field by field — with replay when you need it.</p>
</div>
</div>
</div>
</section>
<!-- engine health + users + pure API client -->
<section class="section">
<div class="container grid grid-2" style="align-items:start">
<div>
<span class="eyebrow">Operate with confidence</span>
<h2>Engine health and access, built in</h2>
<ul class="feature-list">
<li><b>Engine Status</b> — the engine's health at a glance, with a heartbeat indicator that's green when all is well.</li>
<li><b>Users & sessions</b> — manage accounts, roles, and active sessions from the console; every action is recorded in the tamper-evident audit log.</li>
</ul>
</div>
<div class="card" style="height:auto;align-self:start">
<h3>A pure API client</h3>
<p>The console drives and observes the engine <em>only</em> through the one localhost API — it never imports the engine or touches the database directly. So authentication, RBAC, and the audit log sit at a single choke point rather than spread across every tool.</p>
<p style="margin-top:12px;color:var(--muted);font-size:.95rem">Monitoring is read-only; actions like start/stop and replay are permission-gated. The same API powers the CLI and the VS Code editor — see how it <a href="/architecture.html" style="color:var(--accent-ink)">fits together</a>.</p>
</div>
</div>
</section>
<!-- cta -->
<section class="section section--dark">
<div class="container">
<div class="cta-band">
<h2>One engine, one console, full visibility</h2>
<p class="lead center" style="color:var(--muted-dk)">Run your interfaces in the open — see every message's fate, and act on it.</p>
<div class="btn-row center">
<a class="btn btn-primary" href="/getting-started.html">Get started</a>
<a class="btn btn-ghost" href="/tools.html">See the whole toolkit →</a>
</div>
</div>
</div>
</section>
</main>
<footer class="site-footer">
<div class="container">
<div class="footer-grid">
<div class="footer-brand">
<a class="brand" href="/" aria-label="MessageFoundry home">
<img class="brand-mark" src="/assets/img/logo.svg" alt="" width="28" height="28">
<span class="brand-name">Message<span class="brand-accent">Foundry</span><span class="brand-tm">™</span></span>
</a>
<p class="footer-tagline"><b>More</b> Than an HL7 Interface Engine</p>
<p>Open-source healthcare interface engine — secure by default, built to recognized standards, connecting a wide range of protocols and message types.</p>
<div class="badge-row" style="margin-top:16px">
<span class="badge">Open source</span>
<span class="badge">No lock-in</span>
<span class="badge">Self-hosted</span>
</div>
</div>
<div class="footer-col">
<h4>Product</h4>
<a href="/overview.html">Overview</a>
<a href="/features.html">Features</a>
<a href="/architecture.html">Architecture</a>
<a href="/reliability.html">Reliability</a>
<a href="/dicom.html">DICOM</a>
<a href="/security.html">Security & PHI</a>
<a href="/documents.html">Documents</a>
</div>
<div class="footer-col">
<h4>Tools</h4>
<a href="/tools.html">Tools</a>
<a href="/editor.html">Editor</a>
<a href="/console.html">Console</a>
<a href="/ai.html">AI assist</a>
</div>
<div class="footer-col">
<h4>Get started</h4>
<a href="/getting-started.html">Quickstart</a>
<a href="/guides/">Guides</a>
<a href="/comparison.html">Comparison</a>
</div>
<div class="footer-col">
<h4>Project</h4>
<a href="/status.html">Project status</a>
<a href="https://github.com/MEFORORG/MessageFoundry" target="_blank" rel="noopener">GitHub</a>
<a href="https://github.com/MEFORORG/MessageFoundry/issues" target="_blank" rel="noopener">Issues</a>
<a href="/contact.html">Contact</a>
<a href="/licensing.html">License</a>
<a href="/about.html">About</a>
<a href="/sponsor.html">Sponsor</a>
</div>
</div>
<div class="footer-bottom">
<span>© 2026 MEFOR-ORG, a non-profit — this website and its content, all rights reserved. The MessageFoundry engine is separately open source, licensed under AGPL-3.0-or-later.</span>
<span>MessageFoundry and the MessageFoundry word mark are trademarks of MEFOR-ORG. Mirth Connect, Cloverleaf, Rhapsody, Corepoint, and Ensemble are trademarks of their respective owners; MessageFoundry is independent and unaffiliated.</span>
</div>
</div>
</footer>
<script src="/assets/js/nav.js" defer></script>
</body>
</html>