NETCORE - 健康检查health

NETCORE - 健康检查health 

 

环境 .net8 

需求在 项目里面 添加健康检查

1. 添加nuget包:

Microsoft.Extensions.Diagnostics.HealthChecks

image

2. 注入

 在 Program.cs 里面

// 添加健康检查
builder.Services.AddHealthChecks()
    .AddCheck("self", () => HealthCheckResult.Healthy()); // 应用自身检查

app.MapHealthChecks("/health");

 

 3. 测试

访问项目,我项目端口为87096 :https://localhost:7096/Health

image

 

4. 可视化前端面板

增加 Nuget 包

 AspNetCore.HealthChecks.UI
 AspNetCore.HealthChecks.UI.Client
 AspNetCore.HealthChecks.UI.InMemory.Storage
 AspNetCore.HealthChecks.MySql

 

在 Program.cs 里面注入


// 添加健康检查
builder.Services.AddHealthChecks()
    .AddCheck("self", () => HealthCheckResult.Healthy()); // 应用自身检查

// 添加 HealthChecks UI,使用内存存储
builder.Services.AddHealthChecksUI(setup =>
{
    setup.AddHealthCheckEndpoint("Self", "/health"); // UI 读取 /health
}).AddInMemoryStorage();




// 注册健康检查端点
app.MapHealthChecks("/health", new HealthCheckOptions
{
    ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse
});
app.MapHealthChecksUI(options =>
{
    options.UIPath = "/health-ui"; // 健康检查 UI 路径
});

 

测试

 image

image

这里报错:The SSL connection could not be established, see inner exception.,改成 http 方式就好了。

 

注:如项目中使用 log4net ,健康检查的UI组件 10秒钟写入6条空行数据。建议不使用这个UI

 

 

end. 

 

posted @ 2025-10-15 11:18  无心々菜  阅读(3)  评论(0)    收藏  举报