https://github.com/visualbean/healthcheckdashboard.net
A health dashboard built on top of `IHealthCheck`
https://github.com/visualbean/healthcheckdashboard.net
Last synced: about 1 year ago
JSON representation
A health dashboard built on top of `IHealthCheck`
- Host: GitHub
- URL: https://github.com/visualbean/healthcheckdashboard.net
- Owner: VisualBean
- License: mit
- Created: 2024-08-20T11:41:30.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-14T12:01:30.000Z (about 1 year ago)
- Last Synced: 2025-05-14T12:31:36.459Z (about 1 year ago)
- Language: C#
- Size: 36.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# HealthCheckDashboard.NET
A health check dashboard built on top of `IHealthCheck`.
It works by fetching the health status from each healthcheck through the healthservice (internal to the healthcheck library),
and exposing this as an endpoint.

## Example
```csharp
// Add your healthchecks as usual.
builder.Services.AddHealthChecks()
.AddCheck("Simple Success", tags: new[] {"Simple", "Success"})
.AddCheck("Simple Degraded", tags: new[] {"Simple", "Degraded"})
.AddCheck("Simple Failed", tags: new[] {"Simple", "Failed"})
.AddCheck("Simple Exception", tags: new[] {"Simple", "Exception"});
var app = builder.Build();
app.MapHealthChecks("/health");
// Use health dashboard and configure it as needed.
app.MapHealthCheckDashboard("/health-dashboard");
/* Normal auth, controller etc. setup.
...
*/
app.Run();
```
And that is it.
The dashboard follows mostly the same conventions that the health checks do.
## Require authorization
Call `RequireAuthorization` to run Authorization Middleware on the health dashboard endpoint. A `RequireAuthorization` overload accepts one or more authorization policies.
If a policy isn't provided, the default authorization policy is used:
```csharp
app.MapHealthCheckDashboard("/health-dashboard")
.RequireAuthorization();
```
## Filtering health checks
By default, the Health dashboard shows all registered health checks.
To show a subset of health checks, provide a function that returns a boolean to the `Predicate` option.
The following example filters the health checks so that only those tagged with sample run:
```csharp
app.MapHealthCheckDashboard("/health-dashboard", new HealthDashboardOptions
{
Predicate = healthCheck => healthCheck.Tags.Contains("sample")
});
```