ASP.Net Statuspage mit IHealthCheck
- Matt
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.
Voraussetzungen
Bevor du beginnst, stelle sicher, dass du die folgenden Voraussetzungen erfüllst:
- Visual Studio 2019 oder höher
- .NET Core SDK 3.1 oder höher
Schritt 1: Projekt einrichten
Erstelle ein neues ASP.NET Core-Projekt oder öffne ein bestehendes Projekt.
Schritt 2: Health Checks konfigurieren
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();
}
Schritt 3: Health Check-Endpunkt hinzufügen
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");
});
}
Schritt 4: Benutzerdefinierte Health Checks erstellen
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");
}
Weitere Ressourcen
Diese Artikel bieten zusätzliche Informationen und Beispiele zur Implementierung von Health Checks in ASP.NET Core.
Fazit
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.
Weitere Prüfungen und Formate: Integritätsprüfungen in ASP.NET Core.