Net Core — Health Check Operasyonları
Health Check .NET, geniş bir yelpazede uygulama geliştirmek için kullanılan bir framework’tür ve bu framework içinde sağlık kontrolü (health checks) ekleyerek uygulamalarınızın durumunu izleyebilirsiniz. Sağlık kontrolü, uygulamanın çalışma durumunu kontrol etmek ve hataları önceden tespit etmek için önemli bir araçtır.
.NET’te sağlık kontrolü için birkaç farklı yaklaşım vardır, ancak .NET 5 ve sonraki sürümlerde Microsoft.Extensions.Diagnostics.HealthChecks paketi, bu konuda kullanılan bir araç setidir. Bu paket, uygulamanızın çeşitli bileşenlerini ve servislerini kontrol edebilmenize olanak tanır.
Aşağıda, temel bir sağlık kontrolü uygulamasının nasıl oluşturulacağına dair basit bir örnek bulunmaktadır.
Microsoft.Extensions.Diagnostics.HealthChecks paketini ekleyin. Bu işlemi .NET CLI kullanarak aşağıdaki komut ile gerçekleştirebilirsiniz:
dotnet add package Microsoft.Extensions.Diagnostics.HealthChecks
Sağlık kontrolü yapılandırmasını uygulama başlatma noktanıza (Startup.cs dosyası) ekleyin:
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Diagnostics.HealthChecks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Diagnostics.HealthChecks;
public class Startup
{
// ...
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddHealthChecks();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
app.UseEndpoints(endpoints =>
{
// ...
endpoints.MapHealthChecks("/health");
});
}
}
- Bu örnekte, services.AddHealthChecks() ile sağlık kontrolü servisini ekledik ve endpoints.MapHealthChecks(“/health”) ile “/health” endpoint’ini sağlık kontrolü endpoint’i olarak belirledik.
- Artık uygulamanızın sağlık kontrolüne erişebilirsiniz. Tarayıcınızda veya bir HTTP istemcisinde “http://localhost:port/health” adresine giderek uygulamanızın sağlık durumunu kontrol edebilirsiniz.
Bu temel örnek, uygulamanızın genel sağlık durumunu kontrol etmek için kullanılabilir. Ancak, özel sağlık kontrolleri ekleyerek farklı bileşenlerinizi (veritabanı bağlantısı, dış servisler, özel servisler vb.) kontrol etmek için de yapılandırabilirsiniz.
Bu örnek, .NET 5 ve sonraki sürümler için geçerlidir. Eğer .NET Core 3.x veya daha eski bir sürüm kullanıyorsanız, Microsoft.Extensions.Diagnostics.HealthChecks paketini projenize ekleyebilirsiniz.
Hasan Aslan (Software Developer)