WebApi.HealthChecks
1.3.0
See the version list below for details.
dotnet add package WebApi.HealthChecks --version 1.3.0
NuGet\Install-Package WebApi.HealthChecks -Version 1.3.0
<PackageReference Include="WebApi.HealthChecks" Version="1.3.0" />
paket add WebApi.HealthChecks --version 1.3.0
#r "nuget: WebApi.HealthChecks, 1.3.0"
// Install WebApi.HealthChecks as a Cake Addin
#addin nuget:?package=WebApi.HealthChecks&version=1.3.0
// Install WebApi.HealthChecks as a Cake Tool
#tool nuget:?package=WebApi.HealthChecks&version=1.3.0
WebApi.HealthChecks
WebApi.HealthChecks offers a WebApi implementation of the health check endpoints for reporting the health of app infrastructure components.
The package is available on GitHub: https://github.com/kpol/WebApi.HealthChecks
Health checks are exposed by an app as HTTP endpoints. Supports two endpoints:
/health
/health/ui?check={check-name}
In the sample app, the health check endpoint is created at /health
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config
.AddHealthChecks()
.AddCheck("check1", new HealthyCheck())
.AddCheck("check2", new UnhealthyCheck())
.AddCheck("check3", new ExceptionHealthCheck())
.AddCheck("check5", new DegradedHealthCheck());
}
}
Every health check must implement IHealthCheck
interface
public interface IHealthCheck
{
Task<HealthCheckResult> CheckHealthAsync();
}
The framework supports three statuses: Unhealthy
, Degraded
and Healthy
.
GET /health
returns json in the following format:
{
"status": "Unhealthy",
"totalResponseTime": 0,
"entries": {
"check1": {
"responseTime": 0,
"status": "Healthy"
},
"check2": {
"responseTime": 0,
"status": "Unhealthy"
},
"check3": {
"status": "Unhealthy"
},
"check5": {
"responseTime": 0,
"status": "Degraded"
}
}
}
The /health/ui?check={check-name}
endpoint returns a SVG badge which shows individual status of the service component.
For example /health/ui?check=check1
will output this image:
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.AspNet.WebApi.Core (>= 5.2.7)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.