Reo.Core.HealthCheck
10.0.350
dotnet add package Reo.Core.HealthCheck --version 10.0.350
NuGet\Install-Package Reo.Core.HealthCheck -Version 10.0.350
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="Reo.Core.HealthCheck" Version="10.0.350" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Reo.Core.HealthCheck" Version="10.0.350" />
<PackageReference Include="Reo.Core.HealthCheck" />
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 Reo.Core.HealthCheck --version 10.0.350
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Reo.Core.HealthCheck, 10.0.350"
#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 Reo.Core.HealthCheck@10.0.350
#: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=Reo.Core.HealthCheck&version=10.0.350
#tool nuget:?package=Reo.Core.HealthCheck&version=10.0.350
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Reo.Core.HealthCheck
Описание пакета
Пакет Reo.Core.HealthCheck предоставляет инструменты для реализации и интеграции проверок работоспособности (health checks) в приложениях на основе ASP.NET Core. Он позволяет:
- Создавать кастомные проверки состояния сервисов.
- Агрегировать результаты множества проверок для оценки общего состояния кластера.
- Интегрировать с интерфейсом проверок состояния (Health Checks UI).
- Проверять наличие зарегистрированных проверок в контейнере зависимостей.
Решаемая проблема: Упрощение реализации сложных сценариев мониторинга состояния сервисов в распределённых системах.
Основные компоненты
AbstractClusterHealthCheck- Абстрактный класс для реализации проверок, агрегирующих результаты множества
IHealthCheck. - Определяет логику оценки состояния кластера на основе количества здоровых узлов.
- Абстрактный класс для реализации проверок, агрегирующих результаты множества
EndpointRouteBuilderExtensions- Методы расширения для добавления эндпоинта
/hcс поддержкой интерфейса проверок состояния (Health Checks UI).
- Методы расширения для добавления эндпоинта
ServiceCollectionExtensions- Утилиты для проверки наличия зарегистрированных проверок в
IServiceCollection.
- Утилиты для проверки наличия зарегистрированных проверок в
Требования
- .NET версия: 8.0
- Зависимости:
AspNetCore.HealthChecks.UI.ClientSystem.Text.JsonMicrosoft.EntityFrameworkCore
Установка
# Через NuGet Package Manager
Install-Package Reo.Core.HealthCheck
# Через .NET CLI
dotnet add package Reo.Core.HealthCheck
Настройка
Регистрация проверок в ASP.NET Core
Добавьте проверку в контейнер зависимостей:
services.AddHealthChecks() .AddCheck("custom-check", new CustomHealthCheck());Используйте
AbstractClusterHealthCheckдля агрегации:public class CustomClusterHealthCheck : AbstractClusterHealthCheck { public CustomClusterHealthCheck(IEnumerable<IHealthCheck> healthChecks) : base(healthChecks) { } }Настройте эндпоинт проверок:
app.UseEndpoints(endpoints => { endpoints.MapDefaultHealthCheck(); });
Использование
Пример 1: Создание кастомной проверки
public class DatabaseHealthCheck : IHealthCheck
{
public async Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context, CancellationToken cancellationToken = default)
{
// Логика проверки подключения к БД
return HealthCheckResult.Healthy();
}
}
Пример 2: Агрегация результатов
var healthChecks = new List<IHealthCheck>
{
new DatabaseHealthCheck(),
new CustomHealthCheck()
};
var clusterCheck = new CustomClusterHealthCheck(healthChecks);
Пример 3: Проверка наличия зарегистрированной проверки
if (services.IsExistHealthCheck("custom-check"))
{
Console.WriteLine("Проверка 'custom-check' уже зарегистрирована.");
}
Лицензия
Данный пакет распространяется под лицензией MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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.
-
net10.0
- AspNetCore.HealthChecks.UI.Client (>= 9.0.0)
- FluentValidation (>= 12.1.1)
- JetBrains.Annotations (>= 2026.2.0)
- Microsoft.Extensions.Configuration (>= 10.0.11)