IGeekFan.Extensions.Diagnostics.HealthChecks.FreeSql
包定位
为 ASP.NET Core Health Checks 提供 FreeSql 探针,快速验证数据库连通性与基础可用性。
典型场景
- Kubernetes 就绪/存活探针
- 网关或运维平台统一健康巡检
- 发布前后数据库可用性回归检查
安装
dotnet add package IGeekFan.Extensions.Diagnostics.HealthChecks.FreeSql
最小配置
using FreeSql;
using Microsoft.Extensions.Diagnostics.HealthChecks;
var builder = WebApplication.CreateBuilder(args);
var fsql = new FreeSqlBuilder()
.UseConnectionString(DataType.MySql, builder.Configuration.GetConnectionString("Default"))
.Build();
builder.Services
.AddHealthChecks()
.AddFreeSql(fsql, name: "freesql", failureStatus: HealthStatus.Unhealthy);
var app = builder.Build();
app.MapHealthChecks("/health");
配置示例
{
"ConnectionStrings": {
"Default": "Server=127.0.0.1;Port=3306;Database=app;Uid=root;Pwd=***;"
}
}
运维建议
- 区分 liveness 与 readiness,避免误判导致雪崩重启。
- 将健康检查耗时纳入监控,识别数据库抖动。
- 对外暴露健康端点时结合鉴权或网络隔离。