Я хочу настроить Healthcheckers для работы с HealthChecksUI.Но на странице HealthChecksUI отображается пустой список настроенных проверок HealthChecks.
Вот код метода ConfigureServices:
services.AddHealthChecksUI();
services.AddHealthChecks()
//.AddAzureTableStorage(Configuration["AzureTableStorage"])
.AddAzureServiceBusQueue(Configuration["NServiceBusParameters"], "CAPIMSPurchaseAPI")
.AddAzureServiceBusTopic(Configuration["NServiceBusParameters"], "CAPIMSPurchaseAPI")
.AddCheck("self", c => { return HealthCheckResult.Healthy(); })
.AddCheck<MailerHealthCheck>("mailer")
.AddDocumentDb(c =>
{
c.UriEndpoint = Configuration["xxxxx"];
c.PrimaryKey = Configuration["yyyyy"];
});
Вот код метода Configure:
app.UseHealthChecks("/health", new Microsoft.AspNetCore.Diagnostics.HealthChecks.HealthCheckOptions
{
Predicate = registration => true,
ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse
}
);
app.UseHealthChecksUI();
Вот конфигурация json для HealthChecks-UI:
"HealthChecks-UI": {
"HealthChecks": [
{
"Name": "HTTP-Api-Basic",
"Uri": "http://localhost:4020/health"
}
],
"Webhooks": [
{
"Name": "",
"Uri": "",
"Payload": "",
"RestoredPayload": ""
}
],
"EvaluationTimeOnSeconds": 10,
"MinimumSecondsBetweenFailureNotifications": 60
}
Когда я получаю доступ к ссылке / работоспособности, она показывает следующий результат:
{"status":"Healthy",
"totalDuration":"00:00:02.1671415",
"entries":{
"azurequeue":{
"data":{
},
"duration":"00:00:01.0486138",
"status":"Healthy"
},
"azuretopic":{
"data":{
},
"duration":"00:00:00.1572862",
"status":"Healthy"
},
"self":{
"data":{
},
"duration":"00:00:00.0001244",
"status":"Healthy"
},
"mailer":{
"data":{
},
"duration":"00:00:00.1451047",
"status":"Healthy"
},
"documentdb":{
"data":{
},
"duration":"00:00:00.8158108",
"status":"Healthy"
}
}
}
В любом случае, ссылка healthcheckers-uiпоказать пустой список:
Я также заметил, что таблицы healthchecksdb пусты.Так что может быть, что есть проблема с настройками Healthcheckers