22 Jan 2023 - Matthias Voigt
Die Implementierung einer Statusseite mit IHealthCheck
in ASP.NET Core ist eine effektive Methode, um den Zustand und die Verfügbarkeit von Anwendungen zu überwachen. Dieser Artikel gibt einen Überblick über die Einrichtung und Nutzung von Health Checks in ASP.NET Core.
Bevor du beginnst, stelle sicher, dass du die folgenden Voraussetzungen erfüllst:
Erstelle ein neues ASP.NET Core-Projekt oder öffne ein bestehendes Projekt.
Füge die Health Checks in der Startup.cs
-Datei hinzu. Im ConfigureServices
-Abschnitt registrierst du die Health Checks:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddHealthChecks();
}
Füge in der Configure
-Methode die Middleware hinzu, um den Health Check-Endpunkt zu konfigurieren:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapHealthChecks("/health");
});
}
Erstelle eine benutzerdefinierte Health Check-Klasse, die IHealthCheck
implementiert. Dies ermöglicht dir, spezifische Überprüfungen durchzuführen:
public class ExampleHealthCheck : IHealthCheck
{
public Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context, CancellationToken cancellationToken = default)
{
bool healthCheckResultHealthy = true; // Hier deine Logik hinzufügen
if (healthCheckResultHealthy)
{
return Task.FromResult(HealthCheckResult.Healthy("The check indicates a healthy result."));
}
return Task.FromResult(HealthCheckResult.Unhealthy("The check indicates an unhealthy result."));
}
}
Registriere diesen benutzerdefinierten Health Check in der ConfigureServices
-Methode:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddHealthChecks()
.AddCheck<ExampleHealthCheck>("example_health_check");
}
Diese Artikel bieten zusätzliche Informationen und Beispiele zur Implementierung von Health Checks in ASP.NET Core.
Die Implementierung von Health Checks in ASP.NET Core ermöglicht es dir, den Zustand und die Verfügbarkeit deiner Anwendungen effektiv zu überwachen. Durch die Verwendung von IHealthCheck
und die Konfiguration von Endpunkten kannst du sicherstellen, dass deine Anwendung jederzeit überwacht wird und Probleme frühzeitig erkannt werden.