Поделиться через


Настройка использования собственного хранилища для отладчика снимков и профилировщика

Это важно

Если вы используете Azure Private Link или ключи, управляемые клиентом в сочетании с Application Insights, необходимо настроить использование Application Insights Profiler для .NET или Snapshot Debugger. В этой статье показано, как настроить BYOS.

По умолчанию при использовании Application Insights Profiler для .NET или отладчика моментальных снимков артефакты, созданные приложением, передаются в учетные записи хранения Azure, управляемые корпорацией Майкрософт через общедоступный Интернет. Майкрософт отвечает за управление и покрытие затрат для:

  • Обработка
  • Анализ
  • Политики шифрования данных в состоянии покоя и управления сроком действия

Добавление собственного хранилища (BYOS) — это параметр конфигурации, который обеспечивает более широкий контроль над тем, где хранятся эти артефакты и как они доступны. При настройке BYOS вы управляете и покрываете затраты на политики шифрования неактивных данных, политики управления временем существования и сетевой доступ.

BYOS требуется в следующих сценариях:

BYOS является необязательным , но рекомендуется, если вы хотите:

  • Управление сетевым доступом к диагностическим данным
  • Использование настраиваемых политик шифрования данных на носителе
  • Управление политиками хранения данных для диагностических артефактов
  • Соблюдение конкретных требований к соответствию или безопасности

Что именно вы настроите

Из этого руководства вы узнаете, как выполнить следующие задачи:

  • Создайте и проверьте предварительные требования, чтобы убедиться, что ваша учетная запись хранения готова.
  • Предоставьте службам диагностики доступ к учетной записи хранения.
  • Свяжите учетную запись хранения с ресурсом Application Insights.

Предварительные условия

Прежде чем начать, убедитесь, что у вас есть следующее:

  • Подписка Azure с соответствующими разрешениями
  • Существующий ресурс Application Insights
  • Учетная запись хранения, созданная в том же расположении, что и ресурс Application Insights
  • Один из следующих инструментов:

Проверка расположения учетной записи хранения

Чтобы убедиться, что учетная запись хранения находится в правильном расположении:

  1. Откройте портал Azure.
  2. Перейдите к учетной записи хранилища.
  3. Проверьте, совпадает ли поле "Расположение " с расположением ресурса Application Insights.

Это важно

Если вы используете Private Link, необходимо также настроить аккаунт хранения, чтобы разрешить подключение из доверенных служб Microsoft. Дополнительные сведения см. в документации по безопасности сети хранилища .

Предоставьте службам диагностики доступ к вашей учетной записи хранения

Приложению Diagnostic Services Trusted Storage Access требуется разрешение на запись данных в учетную запись хранения.

Назначьте роль Storage Blob Data Contributor

  1. Войдите в свою учетную запись хранения на портале Azure.

  2. В меню слева выберите Управление доступом (IAM).

  3. Выберите Добавить>Добавить назначение ролей.

  4. На странице "Добавление назначения ролей " настройте следующее:

    Настройка Значение
    Вкладка "Роль" Выберите вкладчик данных BLOB-объектов хранилища
    Вкладка > Назначьте доступ Выбор пользователя, группы или субъекта-службы
    Элементы вкладки > Выбор и выбор элементов
  5. В области выбора элементов :

    1. Найдите Diagnostic Services Trusted Storage Access.
    2. Выберите приложение из результатов.
    3. Выберите Выбрать.
  6. Выберите кнопку Проверить + назначить.

    Снимок экрана: страница назначения ролей в портал Azure.

Проверка назначения роли

  1. Оставайтесь на странице управления доступом (IAM).

  2. Выберите вкладку Назначения ролей.

  3. Убедитесь, что Diagnostic Services Trusted Storage Access отображается с ролью участника данных хранилища BLOB-объектов.

    Снимок экрана: экран IAM после назначений ролей.

Подсказка

Если приложение не отображается в списке, подождите несколько минут и обновите страницу. Для распространения назначений ролей может потребоваться до 5 минут.

Выберите один из следующих методов, чтобы связать учетную запись хранения. Для упрощения устранения неполадок рекомендуется использовать PowerShell или Azure CLI.

Установка модуля PowerShell Application Insights

  1. Откройте PowerShell от имени администратора.

  2. Установите расширение Application Insights PowerShell:

    Install-Module -Name Az.ApplicationInsights -Force
    
  3. Если появится запрос на установку из 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

Example:

Remove-AzApplicationInsightsLinkedStorageAccount -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai"

Примечание.

Если предыдущая учетная запись хранения не связана, может появиться сообщение "не найдено". Это ожидается, и вы можете продолжить.

  1. Получите ссылку на вашу учетную запись хранения:

    $storageAccount = Get-AzStorageAccount -ResourceGroupName "{resource_group_name}" -Name "{storage_account_name}"
    

    Замените:

    • {resource_group_name} с названием вашей группы ресурсов
    • {storage_account_name} с названием учетной записи хранилища
  2. Связывание учетной записи хранения с 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.
  • Вы вошли в правильную подписку

Шаг 3. Включение профилировщика .NET или отладчика моментальных снимков

Теперь, когда ваша учетная запись хранения связана, включите средства диагностики.

  1. На портале Azure перейдите к ресурсу приложения (например, Службе приложений).

  2. В меню слева выберите Application Insights.

  3. На странице Application Insights найдите раздел диагностики уровня кода .

  4. При необходимости включите Application Insights Profiler или Snapshot Debugger.

    Снимок экрана, показывающий диагностику уровня кода в портале Azure.

  5. Выберите Сохранить в верхней части страницы.

Проверка работы BYOS

После включения профилировщика .NET или дебаггера моментальных снимков:

  1. Дождитесь начала сбора данных через 5–10 минут.
  2. Войдите в свою учетную запись хранения на портале Azure.
  3. Выберите контейнеры в меню слева.
  4. Убедитесь, что для хранения артефактов созданы новые контейнеры.

Если новые контейнеры не отображаются через 15 минут, см. раздел "Устранение неполадок ".

Как осуществляется доступ к вашей учетной записи хранения

Общие сведения о том, как артефакты проходят через учетную запись хранения, могут помочь в устранении неполадок:

  1. Агенты отправляют артефакты. Агенты, работающие на виртуальных машинах или службе приложений Azure, отправляют артефакты (профили, моментальные снимки и символы) в контейнеры BLOB-объектов в учетной записи. Этот процесс обращается к отладчику .NET Profiler или Snapshot Debugger, чтобы получить токен подписанного доступа к новому объекту Blob в учетной записи хранения.

  2. Диагностические службы обрабатывают данные - Профилировщик .NET или отладчик моментальных снимков анализирует входящие BLOB-данные и записывает результаты анализа и файлы журнала в хранилище BLOB. В зависимости от доступной вычислительной емкости этот процесс может происходить в любое время после отправки.

  3. Вы просматриваете результаты . При просмотре трассировок профилировщика или анализа отладчика моментальных снимков служба извлекает результаты анализа из объектного хранилища blob.

Устранение неполадок

Сведения об устранении неполадок BYOS см. в документации по устранению неполадок:

Распространенные проблемы:

  • Учетная запись хранения не в том же регионе. Убедитесь, что ваша учетная запись хранилища и ресурс Application Insights находятся в одном регионе Azure.
  • Назначение ролей не применяется - Дождитесь 5–10 минут после назначения роли участника данных хранилища Blob перед связыванием учетной записи хранения.
  • Приватный канал не настроен. Если используется приватный канал , убедитесь, что учетная запись хранения настроена, чтобы разрешить доверенные службы Майкрософт.

Часто задаваемые вопросы

В этом разделе приведены ответы на распространенные вопросы о настройке BYOS для отладчика моментальных снимков и .NET Profiler.

Если я включу отладчик .NET Profiler/Snapshot Debugger и BYOS, будут ли мои данные перенесены в мою учетную запись хранения?

Нет, не будут. В учетной записи хранения хранятся только новые данные, собранные после включения BYOS.

Работает ли BYOS с шифрованием в состоянии покоя и ключами, управляемыми клиентом?

Да. Чтобы быть точным, BYOS является требованием включить отладчик .NET Profiler/Snapshot с помощью ключей диспетчера клиентов.

Работает ли BYOS в среде, изолированной от Интернета?

Да. BYOS — это требование для изолированных сетевых сценариев.

Да, это возможно.

Если я включил BYOS, можно ли вернуться к использованию учетных записей хранения служб диагностики для хранения собранных данных?

Да, вы можете. Однако в настоящее время мы не поддерживаем миграцию данных из BYOS в учетные записи хранения служб диагностики.

Да. Вы несете ответственность за все затраты, связанные с хранилищем и сетями для учетной записи хранения BYOS.

Следующие шаги