netcore 项目健康检查(healthcheck)
一、netcore healthcheck
- 创建项目
$ dotnet new web -n Apricot.HealthCheck.WebApi - 安装依赖
$ dotnet add package AspNetCore.HealthChecks.UI --version 9.0.0 $ dotnet add package AspNetCore.HealthChecks.UI.Client --version 9.0.0 $ dotnet add package AspNetCore.HealthChecks.UI.InMemory.Storage --version 9.0.0 $ dotnet add package AspNetCore.HealthChecks.Uris --version 9.0.0 $ dotnet add package AspNetCore.HealthChecks.Uris --version 9.0.0 $ dotnet add package AspNetCore.HealthChecks.MySql --version 9.0.0 - 服务注入
var builder = WebApplication.CreateBuilder(args); // health check builder.Services.AddHealthChecks() // mysql 检查 .AddMySql( connectionString: AppSettings.ConnectionStrings.Default.Decrypt(), name: "mysql", tags: new[] { "db", "mysql" } ) // url 检查 .AddUrlGroup(new Uri("https://www.baidu.com/"),"baidu") // 自检 .AddCheck("webapi", () => Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult.Healthy()); // health check ui builder.Services.AddHealthChecksUI(setupSettings: setup => { // linux 使用(urls:"http://*:5000")配置,需要使用注释部分,不然出现错误(unspecified addresses that cannot be used as a target address) setup.AddHealthCheckEndpoint("Apricot.WebApi", "/healthz");//"http://localhost:5000/healthz"); }) .AddInMemoryStorage(); - 管道配置
var app = builder.Build(); // health check app.UseHealthChecks("/healthz", new Microsoft.AspNetCore.Diagnostics.HealthChecks.HealthCheckOptions { Predicate = _ => true, ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse }); // health check ui app.UseHealthCheckUI(); - 效果图

二、
如有帮助,欢迎转载,转载请注明原文链接:https://www.cnblogs.com/study10000/p/19274109

浙公网安备 33010602011771号