Zmplr.Jobs.Monitor
2026.2.1
dotnet add package Zmplr.Jobs.Monitor --version 2026.2.1
NuGet\Install-Package Zmplr.Jobs.Monitor -Version 2026.2.1
<PackageReference Include="Zmplr.Jobs.Monitor" Version="2026.2.1" />
<PackageVersion Include="Zmplr.Jobs.Monitor" Version="2026.2.1" />
<PackageReference Include="Zmplr.Jobs.Monitor" />
paket add Zmplr.Jobs.Monitor --version 2026.2.1
#r "nuget: Zmplr.Jobs.Monitor, 2026.2.1"
#:package Zmplr.Jobs.Monitor@2026.2.1
#addin nuget:?package=Zmplr.Jobs.Monitor&version=2026.2.1
#tool nuget:?package=Zmplr.Jobs.Monitor&version=2026.2.1
Zmplr.Jobs.Monitor
Optional multi-host monitor UI for Zmplr.Jobs, packaged as a NuGet dependency you can host inside any ASP.NET Core app.
The same React app as zmplr.monitor.app is embedded and served under /zmplr-ui by default. You can monitor this host and any number of remote Zmplr apps from one UI.
Project home: mtanneryd.github.io/zmplr
Install
dotnet add package Zmplr.Jobs.Monitor
(Requires a host that already exposes /zmplr via Zmplr.Jobs.)
Usage
builder.Services.AddZmplrJobs(jobs => { /* … */ });
builder.Services.AddZmplrMonitor(); // optional UI
var app = builder.Build();
app.UseAuthentication(); // if you protect /zmplr
app.UseAuthorization();
app.MapControllers();
app.MapZmplrMonitor(); // serves UI + /zmplr-ui/api/sources
app.Run();
Open https://your-host/zmplr-ui.
Options
builder.Services.AddZmplrMonitor(o =>
{
o.PathPrefix = "/ops/monitor"; // any path; default is /zmplr-ui
o.SourcesFileName = "zmplr-monitor-sources.json";
o.DefaultSources =
[
new MonitorSourceSeed
{
Id = "this-host",
Name = "This host",
BaseUrl = "", // empty = same origin
AuthUrl = "/demo/token" // relative to this host
}
];
});
The embedded SPA is packed with Vite base: "./", so asset and sources-API URLs follow whatever PathPrefix you choose. A request to /ops/monitor (no trailing slash) redirects to /ops/monitor/.
Multi-host
API sources are stored on the host that serves the UI (zmplr-monitor-sources.json under the content root by default).
| Base URL | Meaning |
|---|---|
| (empty) | This host (window.location.origin + /zmplr) |
https://other.example |
Remote Zmplr host (needs CORS + optional Bearer/auth URL) |
Add more sources in the UI (API sources tab). Each can have its own auth URL and Bearer token.
Development
- Standalone UI:
zmplr.monitor.app(npm run devon port 3000) - Package build runs
npm run buildwithZMPLR_MONITOR_BASE=./and embedswwwroot - Skip UI rebuild:
-p:SkipZmplrMonitorUiBuild=true(requires an existingwwwroot)
Versioning
Same GitVersion scheme as Zmplr.Jobs. Current release: 2026.2.0.
License
Apache License 2.0 — see LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- Microsoft.Extensions.FileProviders.Embedded (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.