You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 6中HealthChecksUI Webhook不工作问题求助

.NET Core 6 HealthChecksUI Webhook 不工作排查与修复

一、先确认依赖包有没有装全

  • 得确保项目里装了AspNetCore.HealthChecks.UI、AspNetCore.HealthChecks.UI.Client,关键还要装AspNetCore.HealthChecks.UI.Webhook包——这个很容易漏掉,没装的话Webhook根本不会触发。

二、修正配置里的问题

你的现有配置有两个核心问题,改完就能解决大部分情况:

  1. 模板变量用错了:[[LIVENESS]]不是HealthChecksUI的内置变量,换成官方支持的:
    • [[CHECK_NAME]]:对应健康检查的名称(比如你配置里的"My Health Checks")
    • [[STATUS]]:当前健康状态(Healthy/Unhealthy)
    • [[FAILURE_REASONS]]:失败时的具体描述
  2. 显式开启两种状态触发:默认可能只在失败时触发,要加OnFailure和OnRecovery参数,明确异常和恢复都发Webhook。

修正后的配置示例:

"HealthChecksUI": {
  "HealthChecks": [
    {
      "Name": "My Health Checks",
      "Uri": "/health"
    }
  ],
  "Webhooks": [
    {
      "Name": "healthcheckapi",
      "Uri": "https://localhost:44365/WeatherForecast",
      "Payload": "{ \"message\": \"Webhook report for [[CHECK_NAME]]: [[STATUS]] - Description: [[FAILURE_REASONS]]\"}",
      "RestorePayload": "{ \"message\": \"[[CHECK_NAME]] has recovered to [[STATUS]]\"}",
      "OnFailure": true,
      "OnRecovery": true
    }
  ],
  "EvaluationTimeInSeconds": 5,
  "MinimumSecondsBetweenFailureNotifications": 10 // 可选,避免短时间内重复发通知
}

三、检查Program.cs的注册代码

要确保在Program.cs里正确启用Webhook功能,少了AddWebhookNotification()不行:

builder.Services.AddHealthChecksUI()
    .AddInMemoryStorage()
    .AddWebhookNotification(); // 必须加这行启用Webhook通知

app.UseHealthChecks("/health", new HealthCheckOptions
{
    Predicate = _ => true,
    ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse
});

app.UseHealthChecksUI(options =>
{
    options.UIPath = "/healthchecks-ui";
});

四、验证接收端点是否正常

  • 确认https://localhost:44365/WeatherForecast支持POST请求(Webhook默认用POST方法)
  • 可以临时修改端点代码,把收到的Payload打出来,确认是否有请求进来:
[HttpPost]
public IActionResult WeatherForecast([FromBody] dynamic payload)
{
    Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(payload));
    return Ok();
}

五、日志查错

开启HealthChecksUI的日志,看有没有Webhook相关的错误信息:

"Logging": {
  "LogLevel": {
    "HealthChecks.UI": "Information",
    "HealthChecks.UI.Notifications": "Debug"
  }
}

内容的提问来源于stack exchange,提问作者OMM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 12:58:19