Основанный на Service Fabric сайт ASP.NET Core отправляет счетчики производительности в Application Insights.

У меня есть кластер Service Fabric, на котором размещается веб- сайт ASP.NET Core. Я также использую Application Insights для анализа производительности сайта. Чтобы собрать метрики во время выполнения и переслать их в Application Insights, я добавил следующую строку...

AddApplicationInsightsTelemetry("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")

..в середине следующего стандартного кода для настройки веб-сайта внутри экземпляра службы Service Fabric...

    protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners()
    {
        return new ServiceInstanceListener[]
        {
            new ServiceInstanceListener(serviceContext =>
                new HttpSysCommunicationListener(serviceContext, "ServiceEndpoint", (url, listener) =>
                {
                    return new WebHostBuilder()
                                .UseHttpSys()
                                .ConfigureServices(
                                    services => services
                                        .AddSingleton<StatelessServiceContext>(serviceContext)
                                        .AddApplicationInsightsTelemetry("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"))
                                .UseContentRoot(Directory.GetCurrentDirectory())
                                .UseStartup<Startup>()
                                .UseServiceFabricIntegration(listener, ServiceFabricIntegrationOptions.None)
                                .UseUrls(url)
                                .Build();
                }))
        };
    }

Глядя на метрики Application Insights, я получаю следующее сообщение об ошибке трассировки...

введите описание изображения здесь

В нем говорится, что он не мог собрать 3 счетчика производительности. Я не уверен, как исправить эту ошибку, так как все целевые узлы кластера имеют эти счетчики, что подтверждается с помощью системного монитора, чтобы проверить, что они существуют. Кроме того, различные показатели правильно собираются. Application Insights действительно перечисляет запросы на веб-сайт. Так что это в основном работает.

У кого-нибудь есть идеи, в чем может быть проблема?

1 ответ

Метрики счетчика производительности ASP.NET недоступны, если вы используете основное веб-приложение Asp.Net.