Подтвердить что ты не робот

Azure Websites Application Insights - настройка переключения

У меня есть сайт Azure. Ради этого вопроса производственная версия веб-сайта работает на example.com, а тестовая версия веб-сайта работает на sandbox.example.com.

Единственное различие между ними состоит в том, что они имеют различную конфигурацию.

В настоящее время они работают под разными веб-сайтами, и я разворачиваю один и тот же веб-сайт на каждый лазурный веб-сайт через git.

Я хотел бы выделить данные Application Insights. Есть ли способ или процесс, который использует кто-либо - кроме редактирования файла ApplicationInsights.config в среде почтовой среды после размещения?

Или с помощью дескриптора слота развертывания это каким-то образом?

4b9b3361

Ответ 1

Сегодня появилось новое сообщение в блоге: Поддержка приложений для нескольких сред, марок и версий приложений.

Назначение телеметрии определяется прибором key (iKey), который отправляется вместе с каждым сообщением телеметрии. в Портал приложений Insights, аналогичные события и показатели с тем же iKey объединяются, чтобы дать вам графики средних продолжительности, события подсчеты, сумма пользователей и т.д. IKey появляется в двух местах в ваш проект. Один находится в ApplicationInsights.config: <InstrumentationKey>94843456-2345-3456-4567-324562759284</InstrumentationKey>

Если ваше приложение имеет веб-страницы, iKey также отображается в scriptв голове каждой веб-страницы. Обычно его единственное кодированное однократно в например, Views\Shared\_Layout.cshtml.

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

Далее в статье говорится, как это сделать в коде, confg и т.д.:

1) Добавьте iKey в качестве свойства в Web.config:

2) Вместо использования iKey из ApplicationInsights.config, скважина установите его в коде. В global.asax.cs.

Чтобы избежать путаницы, удалите <InstrumentationKey> node из ApplicationInsights.config.

3) Настройте веб-страницы, чтобы выбрать instrumentationKey: "@Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.InstrumentationKey". Это script обычно находится в View\Shared\_Layout.cshtml.

4) Не забудьте обновить Web.config с помощью iKeyконфигурации во время процесса развертывания. Вы можете разработать способ устанавливая его соответственно как часть вашей сборки, но я оставляю это для вы.

Ответ 2

На портале Azure для веб-сайтов на вкладке config находится раздел "Настройки приложения". Здесь вы можете поместить свои различные настройки. При публикации, azure вводит эти настройки в web.config.

Затем просто используйте WebConfigurationManager.AppSettings, как обычно, и вытащите введенные значения.

Ответ 3

Нашел этот полузаданный вопрос: Как поддерживать несколько подписей Azure для одного приложения с информацией о приложениях, это для использования облачными службами, и оно работает!

Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.InstrumentationKey = ConfigurationManager.AppSettings["appInsightsKey"];

Я сделал это в моем методе меток единства, он там работает.