Функции Azure и IHealthCheck - PullRequest
       6

Функции Azure и IHealthCheck

1 голос
/ 26 октября 2019

Мне нужно реализовать проверку работоспособности для функций Azure.

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/health-checks?view=aspnetcore-3.0

Но в моем случае вместо использования NETCORE 3.0 нам нужно реализовать его в NETCORE 2.2

Наша главная проблема - это класс запуска, который наследуется от FunctionsStartup , что сильно отличается от запуска MVC API. Таким образом, следующий код не может быть реализован в Startup.cs

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {            
            //Readiness check
            var port = int.Parse(Configuration["HealthManagementPort"]);
            app.UseHealthChecks("/ready", port, new HealthCheckOptions()
            {
                Predicate = (check) => check.Tags.Contains("ready"),
            });
            app.UseHealthChecks("/live", port, new HealthCheckOptions()
            {
                //Exclude all checks and return 200-OK
                Predicate = (_) => false,
            });

        }

Кто-нибудь сталкивался с чем-то подобным? Как я могу реализовать подобное поведение?

Спасибо.

1 Ответ

0 голосов
/ 28 октября 2019

Функцию монитора работоспособности функции Azure можно использовать, если вы используете план на основе потребления.

Функция монитора работоспособности хоста во время выполнения функций отслеживает различные счетчики производительности, установленные в изолированной программной среде ВМ. Цель состоит в том, чтобы временно остановить хост от выполнения большей работы, когда пороги для любого из счетчиков должны быть превышены. Это позволяет хосту избегать жестких ограничений в песочнице, которые могут вызвать жесткое отключение, а также позволяет хосту корректно завершать текущую работу в ожидании возвращения счетчиков к нормальным пределам.

Подробнее вы можете прочитать здесь:

https://github.com/Azure/azure-functions-host/wiki/Host-Health-Monitor

В качестве альтернативы вы можете использовать понимание приложения для проверки здоровья. Вы можете проверить эти блоги для получения подробных инструкций:

https://zimmergren.net/azure-functions-scheduled-trigger-not-firing-application-insights-monitoring/

Как создать проверку работоспособности API в Azure?

Надеюсь, это поможет.

...