Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
По умолчанию при использовании профилировщика Application Insights для .NET или отладчика моментальных снимков Azure загружает артефакты, создаваемые вашим приложением, в учетные записи служба хранилища Azure через общедоступный Интернет. Корпорация Майкрософт управляет этими учетными записями и охватывает затраты:
- Обработка
- Анализ
- Политики шифрования данных в состоянии покоя и управления сроком действия
Использование собственного хранилища (BYOS) — это вариант конфигурации, который позволяет хранить артефакты Profiler и Snapshot Debugger в своей учетной записи хранения Azure вместо хранилища, управляемого Microsoft. При настройке BYOS вы управляете и покрываете затраты на политики шифрования неактивных данных, политики управления временем существования и сетевой доступ.
В этой статье показано, как настроить BYOS для Application Insights Profiler для .NET и Snapshot Debugger.
Примечание.
В этой статье в подходе с использованием шаблона Resource Manager используется версия API 2020-03-01-preview для ресурса linkedStorageAccounts. Перед развертыванием в рабочей среде проверьте справочник по шаблонам ARM для linkedStorageAccounts на наличие доступных на данный момент версий API.
Это важно
Если вы используете Приватный канал Azure или ключи, управляемые пользователем с Application Insights, необходимо настроить использование собственного хранилища для Application Insights Profiler для .NET или Snapshot Debugger.
BYOS требуется в следующих сценариях:
- Использование приватного канала Azure с Application Insights
- Использование ключей, управляемых клиентом для шифрования
BYOS является необязательным , но рекомендуется, если вы хотите:
- Управление сетевым доступом к диагностическим данным
- Использование настраиваемых политик шифрования данных на носителе
- Управление политиками хранения данных для диагностических артефактов
- Соблюдение конкретных требований к соответствию или безопасности
Примечание.
В настоящее время BYOS не поддерживается для хранения данных трассировки оптимизации кода в Application Insights.
- Создайте и проверьте предварительные требования, чтобы убедиться, что ваша учетная запись хранения готова.
- Предоставьте службам диагностики доступ к учетной записи хранения.
- Свяжите учетную запись хранения с ресурсом Application Insights.
Предварительные условия
Подписка Azure с соответствующими разрешениями
Существующий ресурс Application Insights
Учетная запись хранения, созданная в том же расположении, что и ресурс Application Insights
Один из следующих инструментов:
- Azure PowerShell 4.2.0 или более поздней версии
- Azure CLI;
- Доступ к порталу Azure для развертывания шаблона Azure Resource Manager
Проверка расположения учетной записи хранения
Чтобы убедиться, что учетная запись хранения находится в правильном расположении:
- Откройте портал Azure.
- Войдите в свою учетную запись хранения.
- На странице обзора проверьте значение расположения.
- Откройте ресурс Application Insights.
- На странице обзора убедитесь, что для расположения отображается то же значение.
Это важно
Если вы используете Приватный канал, необходимо также настроить аккаунт хранения, чтобы разрешить подключение из доверенных служб Microsoft. Дополнительные сведения см. в разделе "Правила брандмауэра службы хранилища Azure".
Предоставьте службам диагностики доступ к вашей учетной записи хранения
Приложению Diagnostic Services Trusted Storage Access требуется разрешение на запись данных в учетную запись хранения.
Назначьте роль Storage Blob Data Contributor
На портале Azure перейдите к учетной записи хранения.
В меню слева выберите "Управление доступом" (IAM).
Выберите Добавить>Добавить назначение ролей.
На странице добавления назначения ролей настройте следующие значения:
Настройка Значение Вкладка "Роль" Выберите вкладчик данных BLOB-объектов хранилища Вкладка > Назначьте доступ Выбор пользователя, группы или субъекта-службы Элементы вкладки > Выбор + Выбор участников В области выбора элементов :
- Найдите
Diagnostic Services Trusted Storage Access. - Выберите приложение из результатов.
- Выберите Выбрать.
- Найдите
Выберите кнопку Проверить + назначить.
Проверка назначения роли
Оставайтесь на странице контроля доступа (IAM).
Выберите Назначения ролей.
Убедитесь, что
Diagnostic Services Trusted Storage Accessотображается с ролью участника данных хранилища BLOB-объектов.
Подсказка
Если приложение не отображается в списке, подождите несколько минут и обновите страницу. Для распространения назначений ролей может потребоваться до пяти минут.
Шаг 2. Связывание учетной записи хранения с Application Insights
Выберите один из следующих методов, чтобы связать учетную запись хранения. Чтобы упростить устранение неполадок, используйте PowerShell или Azure CLI.
Установка модуля PowerShell Application Insights
Откройте PowerShell от имени администратора.
Установите расширение Application Insights PowerShell:
Install-Module -Name Az.ApplicationInsights -ForceЕсли появится запрос на установку из PSGallery, введите
Yи нажмите клавишу ВВОД.
Вход в Azure
Войдите с помощью учетной записи Azure:
Connect-AzAccount -Subscription "{subscription_id}"
Замените {subscription_id} идентификатором своей подписки.
Подсказка
Чтобы найти идентификатор подписки, запустите Get-AzSubscription или проверьте портал Azure в разделе "Подписки".
Дополнительные сведения см. в разделе Connect-AzAccount.
Удаление предыдущих ссылок учетной записи хранения (при наличии)
Если вы ранее связали ресурс Application Insights с другой учетной записью хранения, удалите эту ссылку:
Remove-AzApplicationInsightsLinkedStorageAccount -ResourceGroupName "{resource_group_name}" -Name "{application_insights_name}"
Замените:
-
{resource_group_name}с именем группы ресурсов -
{application_insights_name}с именем ресурса Application Insights
Пример:
Remove-AzApplicationInsightsLinkedStorageAccount -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai"
Примечание.
Если у ресурса нет связанной учетной записи хранения, может отображаться сообщение не найдено. Этот результат ожидается, и вы можете продолжить.
Свяжите вашу учетную запись хранения
Получите ссылку на вашу учетную запись хранения:
$storageAccount = Get-AzStorageAccount -ResourceGroupName "{resource_group_name}" -Name "{storage_account_name}"Замените:
-
{resource_group_name}с именем группы ресурсов -
{storage_account_name}с названием учетной записи хранилища
-
Связывание учетной записи хранения с Application Insights:
New-AzApplicationInsightsLinkedStorageAccount -ResourceGroupName "{resource_group_name}" -Name "{application_insights_name}" -LinkedStorageAccountResourceId $storageAccount.IdЗамените:
-
{resource_group_name}с именем группы ресурсов -
{application_insights_name}с именем ресурса Application Insights
-
Полный пример:
# Set your values
$resourceGroup = "byos-test"
$storageAccountName = "byosteststoragewestus2"
$appInsightsName = "byos-test-westus2-ai"
# Remove any previous linked storage account (optional)
Remove-AzApplicationInsightsLinkedStorageAccount -ResourceGroupName $resourceGroup -Name $appInsightsName
# Get storage account
$storageAccount = Get-AzStorageAccount -ResourceGroupName $resourceGroup -Name $storageAccountName
# Link to Application Insights
New-AzApplicationInsightsLinkedStorageAccount -ResourceGroupName $resourceGroup -Name $appInsightsName -LinkedStorageAccountResourceId $storageAccount.Id
Проверьте ссылку
После выполнения команды ссылки вы увидите выходные данные, аналогичные следующим:
Id : /subscriptions/{subscription}/resourcegroups/byos-test/providers/microsoft.insights/components/byos-test-westus2-ai/linkedstorageaccounts/serviceprofiler
Name : serviceprofiler
Type : microsoft.insights/components/linkedstorageaccounts
LinkedStorageAccount : /subscriptions/{subscription}/resourceGroups/byos-test/providers/Microsoft.Storage/storageAccounts/byosteststoragewestus2
Если вы видите ошибку, убедитесь, что:
- Учетная запись хранения и ресурс Application Insights находятся в одном расположении.
- На шаге 1 вы верно назначили роль Storage Blob Data Contributor.
- Вы вошли в учетную запись с нужной подпиской.
Шаг 3. Включение профилировщика .NET или отладчика моментальных снимков
Теперь, когда вы связали учетную запись хранения, включите средства диагностики:
На портале Azure перейдите к ресурсу приложения, например Службе приложений.
В меню слева выберите "Мониторинг>Application Insights".
На странице Application Insights в разделе Инструментирование приложения выберите вкладку .NET в этом примере.
Включите профилировщик Application Insights или отладчик моментальных снимков по мере необходимости.
Нажмите кнопку "Применить", а затем "Да ", чтобы подтвердить.
Проверка работы BYOS
После включения профилировщика .NET или дебаггера моментальных снимков:
- Подождите 5–10 минут, пока сбор данных начнется.
- Войдите в свою учетную запись хранения на портале Azure.
- В меню слева выберитеконтейнеры> данных.
- Убедитесь, что для хранения артефактов существуют новые контейнеры.
Если новые контейнеры не отображаются через 15 минут, см. раздел "Устранение неполадок ".
Как Profiler и Snapshot Debugger получают доступ к учетной записи хранилища
Общие сведения о том, как артефакты проходят через учетную запись хранения, могут помочь в устранении неполадок:
Агенты загружают артефакты: агенты, работающие на виртуальных машинах или в службе приложений Azure, отправляют артефакты, включая профили, снимки и символы, в контейнеры BLOB-хранилищ в вашей учетной записи. Этот процесс обращается к отладчику .NET Profiler или Snapshot Debugger, чтобы получить токен подписанного доступа к новому объекту Blob в учетной записи хранения.
Диагностические службы обрабатывают данные: профилировщик .NET или Snapshot Debugger анализирует входящий BLOB и записывает результаты анализа и файлы журнала в хранилище BLOB-объектов. В зависимости от доступной вычислительной емкости этот процесс может происходить в любое время после отправки.
Вы просматриваете результаты: при просмотре трассировок профилировщика или анализа отладчика моментальных снимков служба извлекает результаты анализа из объектного хранилища BLOB.
Устранение неполадок
Сведения об устранении неполадок с BYOS см. в следующей документации:
Распространенные проблемы:
- Учетная запись хранения не в том же расположении: убедитесь, что ваша учетная запись хранения и ресурс Application Insights находятся в одном регионе Azure.
- Назначение ролей не распространяется: дождитесь 5–10 минут после назначения роли участника данных BLOB-объектов хранилища перед связыванием учетной записи хранения.
- Приватный канал не настроено: если вы используете Приватный канал, настройте учетную запись хранения, чтобы разрешить доверенные службы Microsoft.
Часто задаваемые вопросы
В этом разделе приводятся ответы на распространенные вопросы о настройке BYOS для .NET Profiler и Snapshot Debuger.
Если я включу отладчик .NET Profiler/Snapshot Debugger и BYOS, будут ли мои данные перенесены в мою учетную запись хранения?
No. Включение BYOS не переносит существующие данные. Ваша учетная запись хранения хранит только новые данные, собранные после включения BYOS.
Работает ли BYOS с шифрованием в состоянии покоя и ключами, управляемыми клиентом?
Да. Чтобы включить профилировщик .NET или отладчик снимков с использованием ключей, управляемых клиентом, необходимо использовать BYOS.
Работает ли BYOS в среде, изолированной от Интернета?
Да. BYOS требуется для изолированных сетевых сценариев, таких как при использовании Приватный канал Azure.
Работает ли BYOS как с ключами, управляемыми клиентом, так и с включённым Приватный канал?
Да. BYOS поддерживает одновременное включение ключей, управляемых клиентом, и Приватный канал Azure.
Если я включил BYOS, можно ли вернуться к использованию учетных записей хранения служб диагностики для хранения собранных данных?
Да, вы можете вернуться к учетным записям хранения служб диагностики. Однако в настоящее время нельзя перенести данные из учетной записи хранения BYOS в учетные записи хранения служб диагностики.
После включения BYOS я беру на себя все связанные расходы на хранение и сеть?
Да. Вы несете ответственность за все затраты, связанные с хранилищем и сетями для учетной записи хранения BYOS.