**Application Insights** — клёвая штука, позволяющяя проводить диагностику, профилирование и анализ использования развернутых систем (в т.ч. в продакшен режиме), и при этом не требующая от разработчика вообще никаких усилий. Конечно, всё это становится возможным ценой мучительной первоначальной настройки.
 
В рекламных видео конечно никакой особой настройки нет, но жизнь — она сложнее, особенно если ваше ПО микросервисное. Почему? А всё очень просто.
 
Что в первую очередь должна делать система диагностики в микросервисной архитектуре? 
 Правильно, коррелировать диагностику от различных микросервисов в рамках одной операции. 
 Тыркнул пользователь в UI кнопочку — надо увидеть диагностику от всех N микросервисов, которые так или иначе обрабатывали этот тырк. Случился где-нибудь exception — надо увидеть не только в каком микросервисе он произошёл, но и в рамках какой операции это случилось. 
 Только вот Application Insights с точки зрения конкретного микросервиса — это в первую очередь SDK. И SDK таких есть несколько — есть для JS, есть для .NET Core, .NET (со своими особенностями настройки для MVC, WebAPI, WCF), есть для Java и [т.д.][1]
 
Какие-то из этих SDK — opensource, какие-то — внутренняя разработка MS. И чтобы всё завелось — их надо подружить.
 
В этом и состоит основная сложность.
 
Не скажу, что я достиг 100% просветления в этом вопросе. 
 Но по крайней мере, я уже собрал несколько граблей и у меня есть рабочий семпл с UI на ASP.NET MVC (не Core) + JS и двумя микросервисами (Asp.Net WebApi, WCF)
 
Кому интересно — прошу под кат.
[Читать дальше →][2]
  [1]: 
https://docs.microsoft.com/en-us/azure/application-insights/
  [2]: 
https://habrahabr.ru/post/346148/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346148#habracut