Настройка BYOS для Application Insights Profiler для .NET и отладчика моментальных снимков
При использовании Application Insights Profiler для отладчика .NET или моментального снимка артефакты, созданные приложением, по умолчанию передаются в учетные записи служба хранилища Azure через общедоступный Интернет. Для этих артефактов и учетных записей хранения корпорация Майкрософт за свой счет и под своим управлением предоставляет следующее:
- обработка и анализ данных;
- политики шифрования неактивных данных и управления временем существования.
Между тем, когда вы "приносите собственное хранилище" (BYOS), артефакты передаются в учетную запись хранения, которая только вы управляете и покрываете затраты на:
- политика шифрования неактивных данных и политика управления жизненным циклом;
- Доступ по сети.
Примечание.
BYOS требуется, если вы включаете Приватный канал Azure или ключи, управляемые клиентом.
Из этого руководства вы узнаете, как выполнить следующие задачи:
- Предоставьте службам диагностики доступ к учетной записи хранения.
- Свяжите учетную запись хранения с ресурсом Application Insights.
- Узнайте, как осуществляется доступ к учетной записи хранения.
Необходимые компоненты
- Убедитесь, что вы создали учетную запись хранения в том же расположении, что и ресурс Application Insights.
- Если вы включили Приватный канал, разрешите подключение к нашей доверенной службе Майкрософт из виртуальной сети.
Предоставление доступа к учетной записи хранения служб диагностики
Учетная запись хранения BYOS связана с ресурсом Application Insights. Начните с предоставления Storage Blob Data Contributor
роли приложению Microsoft Entra с именем Diagnostic Services Trusted Storage Access
на странице контроль доступа (IAM) в учетной записи хранения.
Выберите Управление доступом (IAM) .
Выберите Добавить>Добавить назначение ролей, чтобы открыть страницу Добавление назначения ролей.
Назначьте следующую роль.
Параметр Значение Роль Участник данных хранилища BLOB-объектов Назначить доступ для Пользователь, группа или субъект-служба Участники Доступ к доверенному хранилищу служб диагностики После назначения вы увидите роль в разделе "Назначения ролей".
Примечание.
Если вы также используете Приватный канал, для подключения к доверенной службе Майкрософт из виртуальной сети требуется еще одна конфигурация. Дополнительные сведения см . в документации по безопасности сети хранилища.
Связывание учетной записи хранения с ресурсом Application Insights
У вас есть три варианта настройки BYOS для диагностика уровня кода, таких как профилировщик .NET и отладчик моментальных снимков:
- Командлеты Azure PowerShell
- Azure CLI
- Шаблоны диспетчера ресурсов Azure
Прежде чем начать, установите Azure PowerShell 4.2.0 или более поздней версии.
Установите расширение PowerShell для Application Insights.
Install-Module -Name Az.ApplicationInsights -Force
Войдите, используя подписку учетной записи Azure.
Connect-AzAccount -Subscription "{subscription_id}"
Дополнительные сведения о входе см. в документации по Connect-AzAccount.
Удалите любую предыдущую учетную запись хранения, связанную с ресурсом Application Insights.
Шаблон:
Get-AzApplicationInsights -ResourceGroupName "{resource_group_name}" -Name "{application_insights_name}" | Remove-AzApplicationInsightsLinkedStorageAccount
Пример:
Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai" | Remove-AzApplicationInsightsLinkedStorageAccount
Подключите учетную запись хранения к ресурсу Application Insights.
Шаблон:
$storageAccount = Get-AzStorageAccount -ResourceGroupName "{resource_group_name}" -Name "{storage_account_name}" Get-AzApplicationInsights -ResourceGroupName "{resource_group_name}" -Name "{application_insights_name}" | New-AzApplicationInsightsLinkedStorageAccount -LinkedStorageAccountResourceId $storageAccount.Id
Пример:
$storageAccount = Get-AzStorageAccount -ResourceGroupName "byos-test" -Name "byosteststoragewestus2" Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai" | New-AzApplicationInsightsLinkedStorageAccount -LinkedStorageAccountResourceId $storageAccount.Id
Устранение неполадок
Устранение распространенных проблем при настройке BYOS.
- Общие сведения об устранении неполадок с профилировщиком .NET см. в документации по устранению неполадок Профилировщика.
- Общие сведения об устранении неполадок отладчика моментальных снимков см. в документации по устранению неполадок отладчика моментальных снимков.
Сценарий: схема шаблона "{schema_uri}" не поддерживается
Вы получили ошибку, аналогичную следующему примеру:
New-AzResourceGroupDeployment : 11:53:49 AM - Error: Code=InvalidTemplate; Message=Deployment template validation failed: 'Template schema
'https://schema.management.azure.com/schemas/2020-01-01/deploymentTemplate.json#' is not supported. Supported versions are
'2014-04-01-preview,2015-01-01,2018-05-01,2019-04-01,2019-08-01'. Please see https://aka.ms/arm-template for usage details.'.
Решения
Убедитесь, что свойство шаблона
$schema
является допустимым. Он должен соответствовать следующему шаблону:https://schema.management.azure.com/schemas/{schema_version}/deploymentTemplate.json#
Убедитесь, что значение параметра
schema_version
шаблона находится в допустимых пределах:2014-04-01-preview, 2015-01-01, 2018-05-01, 2019-04-01, 2019-08-01
.
Сценарий. Зарегистрированный поставщик ресурсов не найден для расположения "{location}"
Вы получили ошибку, аналогичную следующему примеру:
New-AzResourceGroupDeployment : 6:18:03 PM - Resource microsoft.insights/components 'byos-test-westus2-ai' failed with message '{
"error": {
"code": "NoRegisteredProviderFound",
"message": "No registered resource provider found for location 'westus2' and API version '2020-03-01-preview' for type 'components'. The supported api-versions are '2014-04-01,
2014-08-01, 2014-12-01-preview, 2015-05-01, 2018-05-01-preview'. The supported locations are ', eastus, southcentralus, northeurope, westeurope, southeastasia, westus2, uksouth,
canadacentral, centralindia, japaneast, australiaeast, koreacentral, francecentral, centralus, eastus2, eastasia, westus, southafricanorth, northcentralus, brazilsouth, switzerlandnorth,
australiasoutheast'."
}
}'
Решения
- Убедитесь, что параметр
apiVersion
ресурсаmicrosoft.insights/components
имеет значение2015-05-01
. - Убедитесь, что параметр
apiVersion
ресурсаlinkedStorageAccount
имеет значение2020-03-01-preview
.
Сценарий. Расположение учетной записи хранения должно соответствовать расположению компонента Application Insights
Вы получили ошибку, аналогичную следующему примеру:
New-AzResourceGroupDeployment : 1:01:12 PM - Resource microsoft.insights/components/linkedStorageAccounts 'byos-test-centralus-ai/serviceprofiler' failed with message '{
"error": {
"code": "BadRequest",
"message": "Storage account location should match AI component location",
"innererror": {
"trace": [
"System.ArgumentException"
]
}
}
}'
Решение
Убедитесь, что расположение ресурса Application Insights совпадает с учетной записью хранения.
Часто задаваемые вопросы
В этом разделе приведены ответы на распространенные вопросы о настройке BYOS для отладчика моментальных снимков и .NET Profiler.
Если включен отладчик .NET Profiler/Snapshot Debuger и BYOS, данные переносятся в учетную запись хранения?
Нет, не будут.
Работает ли BYOS с неактивных и управляемых клиентом ключей?
Да. Чтобы быть точным, BYOS является требованием включить отладчик .NET Profiler/Snapshot с помощью ключей диспетчера клиентов.
Работает ли BYOS в среде, изолированной от Интернета?
Да. BYOS — это требование для изолированных сетевых сценариев.
Работает ли BYOS как с ключами, управляемыми клиентом, так и с Приватный канал включена?
Да, это возможно.
Если я включил BYOS, можно ли вернуться к использованию учетных записей хранения служб диагностики для хранения собранных данных?
Да, можно, но сейчас мы не поддерживаем перенос данных из службы BYOS.
После включения BYOS я беру на себя все связанные расходы на хранение и сеть?
Да.
Как осуществляется доступ к учетной записи хранения?
Агенты, работающие на виртуальных машинах или приложение Azure Service, отправляют артефакты (профили, моментальные снимки и символы) в контейнеры BLOB-объектов в учетной записи.
Этот процесс включает в себя обращение к профилировщику .NET или отладчику моментальных снимков для получения маркера подписанного URL-объекта к новому BLOB-объекту в учетной записи хранения.
Отладчик профилей .NET или моментального снимка:
- Анализирует входящий большой двоичный объект.
- запись результатов анализа и файлов журнала в хранилище BLOB-объектов.
В зависимости от доступной вычислительной емкости этот процесс может происходить в любое время после отправки.
При просмотре трассировок профилировщика или анализа отладчика моментальных снимков служба извлекает результаты анализа из хранилища BLOB-объектов.