Healthie.NET.Dashboard 3.0.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Healthie.NET.Dashboard --version 3.0.0
                    
NuGet\Install-Package Healthie.NET.Dashboard -Version 3.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Healthie.NET.Dashboard" Version="3.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Healthie.NET.Dashboard" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Healthie.NET.Dashboard" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Healthie.NET.Dashboard --version 3.0.0
                    
#r "nuget: Healthie.NET.Dashboard, 3.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Healthie.NET.Dashboard@3.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Healthie.NET.Dashboard&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Healthie.NET.Dashboard&version=3.0.0
                    
Install as a Cake Tool

Healthie.NET - Trust your uptime

Healthie.NET.Dashboard

NuGet

Zero-dependency Blazor Server dashboard for monitoring Healthie.NET pulse checkers in real time. Delivered as a Razor Class Library with pure HTML/CSS -- no third-party UI frameworks required.

The Healthie.NET dashboard

Installation

dotnet add package Healthie.NET.Dashboard

Setup

1. Register services in Program.cs:

using Healthie.Dashboard;

builder.Services.AddHealthieUI(options =>
{
    options.DashboardTitle = "System Health";
    options.EnableDarkModeToggle = true;
});

2. Add static file middleware (if not already present):

app.UseStaticFiles();

3a. Standalone endpoint (non-Blazor apps) -- map the dashboard route:

app.MapHealthieUI();                                   // Serves at /healthie/dashboard
app.MapHealthieUI().RequireAuthorization("AdminPolicy"); // With auth

3b. Embedded component (Blazor apps) -- render directly in a Razor page:

@page "/healthie/dashboard"
@using Healthie.Dashboard.Components

<HealthieDashboard />

For interactive components, the host Routes must have @rendermode="InteractiveServer" in App.razor.

Features

  • Event-driven real-time updates via IPulseChecker.StateChanged (no polling)
  • Per-checker management: start, stop, trigger, reset, change interval, change threshold
  • Bulk actions: Start All, Stop All, Trigger All
  • Groups and tags, both editable here and seeded from code — see below
  • Pin a checker to the top of the list
  • Rows or cards, flat or sectioned by group with per-group tallies
  • Live event log, with a full-size view behind the expand icon
  • Legend and about behind the ? in the header
  • Dark/light theme toggle
  • Search and filter by name
  • Mobile responsive (375px+)
  • CSS-only animations, and no JavaScript of its own
  • Every time shown is UTC

Groups and tags

The two look similar and answer different questions.

A checker belongs to one group at most. Groups are what the sectioned view splits on, so every checker appears exactly once and a section's tallies add up to what is under it.

A checker carries any number of tags. Tags describe it and filter the list, and are free to cut across groups — a tier-1 tag can sit on checkers in three different groups.

Declare the defaults in code:

public class RedisCachePulseChecker(IStateProvider stateProvider) : PulseChecker(stateProvider)
{
    public override string DisplayName => "Redis Cache";

    public override string DefaultGroup => "Data Stores";

    public override IReadOnlyList<string> DefaultTags => ["tier-1", "cache"];

    public override Task<PulseCheckerResult> CheckAsync(CancellationToken cancellationToken = default)
        => /* ... */;
}

Both can then be changed from the dashboard's side panel, and the change is stored through the IStateProvider like an interval or a threshold — so it outlives a restart. The defaults only seed a checker with no stored state; they never overwrite a change made here.

Tags are trimmed, de-duplicated case-insensitively, and ordered, so " Tier-1 " and "tier-1" are one tag. A blank group means no group, and those checkers gather under UNGROUPED.

Configuration Options

Option Type Default Description
DashboardTitle string "System Health" Title displayed at the top of the dashboard.
EnableDarkModeToggle bool true Whether the dark/light mode toggle is visible.

See Also

Back to main README

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  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 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.1.4 118 9/30/2026
4.1.3 105 9/29/2026
4.1.2 127 9/12/2026
4.1.1 151 8/14/2026
4.1.0 146 7/30/2026
4.0.0 119 7/30/2026
3.1.4 128 7/19/2026
3.1.3 108 7/18/2026
3.1.2 120 7/18/2026
3.1.1 117 7/18/2026
3.1.0 132 7/17/2026
3.0.0 127 7/15/2026
2.3.0 822 2/24/2026
2.1.1-beta 127 2/24/2026
2.0.0-beta 128 2/22/2026