Application Insights не отображает данные о времени ответа сервера, запросах сервера или невыполненных запросах

Я добавил в свое приложение Application Insights.

Через некоторое время я правильно вижу время загрузки страницы в браузере, но ни один из других графиков вообще не показывает никаких данных.

Я вижу это:

Отсутствуют данные сервера

Когда я ожидаю чего-то вроде этого:

Чего я жду

Это два приложения ASP.NET MVC 5, которые находятся в одном решении, и оба развернуты в Azure.

В обоих случаях:

  1. У меня есть правильный фрагмент javascript в моем макете бритвы (и я проверил через источник страницы при просмотре веб-сайта, что он и выводит данные, и что запрос отправляется на dc.services.visualstudio.com/v2/track);
  2. У меня ApplicationInsights.config в корне сети;
  3. Я устанавливаю правильный ключ инструментария во время запуска приложения в Application_Start() методе Global.asax.cs посредством TelemetryConfiguration.Active.InstrumentationKey = "the_key"

Обратите внимание, что у меня НЕТ ключа инструментария в файле ApplicationInsights.config, поскольку я развертываю веб-сайт несколько раз и устанавливаю ключ инструментария в соответствии с этот совет.

Я все сбросил (после Добавьте Application Insights SDK для мониторинга вашего приложения ASP.NET), но, по крайней мере, через полчаса я ничего не вижу для времени ответа сервера, запросов сервера или невыполненных запросов.

Как это исправить?


person Brendan Green    schedule 17.07.2015    source источник
comment
Чтобы диагностировать проблему, вы можете развернуть веб-сайт на своем локальном IIS и проверить в Fiddler запросы, отправленные процессом w3wp на конечную точку / track. Ser если что присылается и какой ikey используется.   -  person Alex Bulankou    schedule 17.07.2015
comment
@AlexBulankou, спасибо. Как уже упоминалось, я просмотрел сетевые журналы, чтобы убедиться, что запрос отправляется в конечную точку dc.services.visualstudio.com/v2/track. Во всех случаях я вижу полезную нагрузку json, которая включает метку времени и iKey, что правильно.   -  person Brendan Green    schedule 17.07.2015
comment
Не могли бы вы прислать мне полезные данные Fiddler и ikey на [email protected], и я смогу увидеть, дошли ли данные, отправленные для этого ikey, на наши серверы сбора данных и когда.   -  person Alex Bulankou    schedule 17.07.2015
comment
Вы добавили в свое приложение App Insights Site Extension?   -  person BenV    schedule 17.07.2015
comment
вы видите запросы к dc из браузера (откуда берется график времени загрузки страницы) или с сервера? (показывает ли трассировка скрипта события pageview / pageperformance или отправляет события запроса)   -  person John Gardner    schedule 18.07.2015
comment
@AlexBulankou спасибо за предложение. Мне удалось разобраться. Я обновлю сообщение (или отвечу на свой вопрос) с некоторыми подробностями в ближайшее время.   -  person Brendan Green    schedule 19.07.2015


Ответы (1)


После автономной помощи от Алекса Буланкоу я решил проблему.

Было сложно определить точную комбинацию, которая вызвала проблему, но я подозреваю, что это произошло из-за несовпадения версий сборок Application Insights, искаженного файла ApplicationInsights.config и чего-то, что не удалось сделать между добавлением Application Insights с помощью команды Visual Studio и выполнением этого вручную .

Окончательный путь к разрешению был следующим:

  1. Удалите из проекта все Microsoft.ApplicationInsights.* пакеты nuget;
  2. Удалите существующий ApplicationInsights.config файл;
  3. Повторно добавьте пакет Microsoft.ApplicationInsights.Web nuget только - он установит все необходимые зависимости, включая свежий файл ApplicationInsights.config (у которого нет iKey, а это то, что я хотел - см. Ниже)
  4. Мой существующий код для установки InstrumentationKey через Global.asax.cs остался без изменений

Конечный результат (я все это исправил примерно в 7 утра):

«Теперь

person Brendan Green    schedule 23.07.2015
comment
Спасибо за публикацию, но это кажется хрупким и ограничивающим решением. Что, если мне понадобятся другие пакеты AppInsights позже или сейчас, если на то пошло? - person Dan Csharpster; 10.09.2015
comment
Нисколько. Вероятно, это была проблема из-за того, что я вручную добавлял некоторые пакеты, а также из-за того, что в то время App Insights находилась только в предварительной версии. В дальнейшем у меня нет никаких проблем с App Insights. - person Brendan Green; 11.09.2015
comment
Что касается ручной части, я предполагаю, что вы имеете в виду установку вручную, а не использование nuget из консоли диспетчера пакетов? Вероятно, это была огромная его часть. Между NuGet, NPM и Bower я не вижу причин когда-либо вручную устанавливать что-то, что доступно в одном из этих каналов / реестров. - person Dan Csharpster; 12.09.2015
comment
Я думаю, вы упускаете из виду суть моей проблемы, как она попала в такое состояние и что я сделал, чтобы решить эту проблему. Я заметил, что вручную упоминалось использование Nuget. - person Brendan Green; 14.09.2015
comment
Спасибо за это решение - исправлена ​​та же проблема, что и у меня! - person viperguynaz; 16.09.2015
comment
У меня тоже сработало. Я также удалил перенаправление сборки AI (в app.config и web.config), ссылки на службы и ApplicationInsightsResourceId из ASP.NET csproj для хорошей меры. Затем я использовал Visual Studio Add Application Insights Telemetry (при щелчке правой кнопкой мыши по проекту ASP.NET). По какой-то причине мне пришлось вручную установить Validation NuGet раньше, иначе я бы получил следующую ошибку: Не удалось установить пакет: Microsoft.ApplicationInsights.Web с ошибкой: Невозможно разрешить зависимость «Проверка». Используемые источники: 'F: \ VS2015 \ Common7 \ IDE \ Extensions \ qdcob2xn.2ox'. - person Ohad Schneider; 06.08.2016
comment
У меня была эта проблема в производстве - все работало нормально на моем устройстве для разработчиков, но в производстве он просто не отправлял телеметрию без каких-либо ошибок или каких-либо очевидных проблем. Основываясь на этом посте, я решил очистить весь сайт prod и снова скопировал все двоичные файлы и конфигурацию, и он начал работать. Скорее всего, на сервере остались бинарные файлы или конфиги от какой-то более старой версии AppInsights. - person Bernhard Koenig; 21.09.2016