Устранение неполадок с профилировщиком приложений Аналитика
В этой статье представлены действия по устранению неполадок и сведения, позволяющие использовать приложение Аналитика Profiler.
Используется ли соответствующая конечная точка Профилировщика?
В настоящее время единственными регионами, для которых требуются изменения конечных точек, являются Azure для государственных организаций и Microsoft Azure, управляемые 21Vianet.
Параметр приложения | Облако для государственных организаций США | облако для Китая. |
---|---|---|
ApplicationInsightsProfilerEndpoint | https://profiler.monitor.azure.us |
https://profiler.monitor.azure.cn |
ApplicationInsightsEndpoint | https://dc.applicationinsights.us |
https://dc.applicationinsights.azure.cn |
Работает ли ваше приложение в правильной версии?
Profiler поддерживается на платформе .NET Framework версии выше 4.6.2.
Если ваше веб-приложение является приложением ASP.NET Core, оно должно работать под управлением последней поддерживаемой версии среды выполнения ASP.NET Core.
Вы используете правильный план обслуживания Azure?
Profiler сейчас не поддерживается в планах службы приложений "Бесплатный" или "Общий". Перейдите на один из базовых планов Profiler, чтобы начать работу.
Примечание.
План потребления Функции Azure не поддерживается. Ознакомьтесь с приложением Функции Azure профиля с помощью приложения Аналитика.
Вы ищете данные Профилировщика в течение правильного интервала времени?
Если данные, которые вы пытаетесь просмотреть, старше двух недель, попробуйте ограничить фильтр времени и повторите попытку. Трассировки удаляются через 7 дней.
Вы можете получить доступ к шлюзу?
Убедитесь, что брандмауэр или прокси-серверы не блокируют доступ к этой веб-странице.
Отображается ли время ожидания или вам нужно проверка, чтобы узнать, работает ли профилировщик?
Данные профилирования отправляются только тогда, когда их можно связать с запросом, созданным во время работы средства Profiler. Профилировщик собирает данные в течение двух минут каждый час. Вы также можете активировать профилировщик, запуская сеанс профилирования.
Profiler записывает сообщения трассировки и пользовательские события в ресурс Application Insights. Можно использовать эти события, чтобы просмотреть работу Profiler.
Выполните поиск сообщений трассировки и пользовательских событий, записанных с помощью Profiler в ресурс Application Insights.
В ресурсе приложения Аналитика выберите "Поиск" в верхнем меню.
Используйте следующую строку поиска для поиска необходимых данных:
stopprofiler OR startprofiler OR upload OR ServiceProfilerSample
Предыдущие результаты поиска включают два примера поиска из двух ресурсов ИИ:
Если приложение не получает запросы во время работы средства Profiler, в сообщении объясняется, что отправка была отменена из-за отсутствия активности.
Средство Profiler запущено и отправило пользовательские события при обнаружении запросов, которые появились во время его работы. Если отображается настраиваемое событие
ServiceProfilerSample
, это означает, что профиль был записан и доступен на панели Производительность Application Insights.
Если записи не отображаются, профилировщик не работает или не истекает. Убедитесь, что вы включили профилировщик в службе Azure.
Двойной подсчет в параллельных потоках
Если два или более параллельных потока связаны с запросом, общая метрика времени в средстве просмотра стека может превышать длительность запроса. В таком случае общее время потока будет больше фактического затраченного времени.
Например, один поток может ожидать завершения другого. Средство просмотра пытается это обнаружить и исключить ненужное ожидание. При этом он выполняет перебои с отображением слишком большого объема информации, а не пропускать то, что может быть критически важной информацией.
Обнаружив параллельные потоки в трассировках, укажите, какие потоки находятся в состоянии ожидания, чтобы можно было определить критический путь к запросу. Обычно поток, который быстро переходит в состояние ожидания, ожидает других потоков. Сосредоточьтесь на других потоках и игнорируйте время ожидания потоков.
Устранение неполадок средства Profiler в конкретной службе Azure
В следующих разделах описаны действия по устранению неполадок с помощью Profiler в службе приложение Azure или Azure Облачные службы.
Служба приложений Azure
Для правильной работы средства Profiler убедитесь в следующем:
В веб-приложении включена Аналитика приложения с правильными параметрами.
Веб-задание ApplicationInsightsProfiler3 запущено. Чтобы проверить веб-задание:
Перейдите к Kudu. На портале Azure выполните следующие действия:
- В Служба приложений экземпляре выберите "Дополнительные инструменты" на левой панели.
- Выберите Перейти.
В верхнем меню выберите панель мониторинга "Сервис>веб-задания". Откроется область WebJobs (Веб-задания).
Если приложение Аналитика Profiler3 не отображается, перезапустите приложение Служба приложений.
Чтобы просмотреть сведения о веб-задании, включая журнал, выберите ссылку Application Аналитика Profiler3. Откроется область Continuous WebJob Details (Сведения о непрерывных веб-заданиях).
Если профилировщик по-прежнему не работает для вас, скачайте журнал и отправьте запрос поддержка Azure.
Страница состояния расширения сайта служб диагностики
Если Profiler был включен с помощью панели Application Insights на портале, он был включен расширением веб-сайта Служб диагностики. Вы можете проверка страницу состояния этого расширения, перейдя на страницу https://{site-name}.scm.azurewebsites.net/DiagnosticServices
состояния.
Примечание.
Домен ссылки на страницу состояния зависит от облака. Этот домен совпадает с сайтом управления Kudu для Служба приложений.
На этой странице состояния указывается состояние установки для агентов Profiler и Snapshot Debugger. Если произошла непредвиденная ошибка, она отображается вместе с инструкциями по ее устранению.
Вы можете использовать сайт управления Kudu для Служба приложений, чтобы получить базовый URL-адрес этой страницы состояния:
- Откройте службу приложений на портале Azure.
- Выберите Дополнительные инструменты.
- Выберите Перейти.
- На сайте управления Kudu:
- Добавьте
/DiagnosticServices
к URL-адресу. - Выберите ВВОД.
- Добавьте
Это заканчивается, как https://<kudu-url>/DiagnosticServices
.
Откроется страница состояния, аналогичная следующему примеру.
Примечание.
Установка Application Insights Profiler, не поддерживающая код, соответствует политике поддержки .NET Core. Дополнительные сведения о поддерживаемых средах выполнения см . в политике поддержки .NET Core.
Установка вручную
При настройке профилировщика в параметры веб-приложения вносятся обновления. При необходимости можно применить обновления вручную.
Слишком много активных сеансов профилирования
Профилировщик можно включить не более четырех веб-приложений, работающих в одном плане обслуживания. Если у вас более четырех, Профилировщик может вызвать следующую ошибку:
Microsoft.ServiceProfiler.Exceptions.TooManyETWSessionException
Чтобы решить эту проблему, переместите некоторые веб-приложения в другой план обслуживания.
Ошибка развертывания: каталог не пустой "D:\home\site\wwwroot\App_Data\jobs"
При повторном развертывании в ресурсе веб-приложений с включенным Profiler может отобразиться сообщение, содержащее сведения о следующей ошибке:
"Каталог не пустой "D:\home\site\wwwroot\App_Data\jobs""
Эта ошибка возникает при запуске веб-развертывания из скриптов или из Azure Pipelines. Устраните его, добавив следующие параметры развертывания в задачу веб-развертывания:
-skip:Directory='.*\\App_Data\\jobs\\continuous\\ApplicationInsightsProfiler.*' -skip:skipAction=Delete,objectname='dirPath',absolutepath='.*\\App_Data\\jobs\\continuous$' -skip:skipAction=Delete,objectname='dirPath',absolutepath='.*\\App_Data\\jobs$' -skip:skipAction=Delete,objectname='dirPath',absolutepath='.*\\App_Data$'
Эти параметры удаляют папку, используемую Application Insights Profiler, и разрешают запустить процесс повторного развертывания. Текущий запущенный экземпляр профилировщика не будет затронут.
Работает ли приложение Аналитика Profiler?
Профилировщик выполняется в виде непрерывного веб-задания в веб-приложении. Вы можете открыть ресурс веб-приложения на портале Azure. Проверьте состояние ApplicationInsightsProfiler в области Веб-задания. Если он не работает, откройте Журналы, чтобы просмотреть дополнительные сведения.
Виртуальные машины и Облачные службы Azure
Чтобы узнать, правильно ли настроен Profiler с помощью Диагностики Azure, выполните следующие действия:
Убедитесь, что содержимое развернутой конфигурации Диагностики Azure соответствует вашим ожиданиям.
Убедитесь, что Диагностика Azure передает правильный iKey в командной строке Профилировщика.
Просмотрите файл журнала Profiler, чтобы выяснить, почему средство было запущено, но возвратило ошибку.
Чтобы проверить параметры, которые использовались для системы диагностики Azure:
Войдите в виртуальную машину.
Откройте файл журнала в этом расположении. Версия подключаемого модуля может быть более новой на компьютере.
Для виртуальных машин:
c:\WindowsAzure\logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.11.3.12\DiagnosticsPlugin.log
Для Azure Облачные службы:
c:\logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.11.3.12\DiagnosticsPlugin.log
В этом файле найдите строку
WadCfg
. В этой строке содержатся параметры, которые были переданы на виртуальную машину для настройки Диагностики Azure.Проверьте правильность ключа инструментирования, который используется в приемнике Profiler.
Проверьте командную строку, которая используется для запуска Profiler. Аргументы, используемые для запуска Profiler, находятся в следующем файле (диск может быть или
d:
каталог может бытьc:
скрыт):Для виртуальных машин:
C:\ProgramData\ApplicationInsightsProfiler\config.json
Для Azure Облачные службы:
D:\ProgramData\ApplicationInsightsProfiler\config.json
Проверьте правильность ключа инструментирования ikey в командной строке Profiler.
Используя путь, найденный в предыдущем файле config.json, проверка файл журнала Profiler, называемый
BootstrapN.log
. В нем отображается следующее:- Информация об отладке, включающая параметры, используемые Profiler.
- Сообщения о состоянии и сообщения об ошибках из Profiler.
Файл можно найти по следующему пути:
Для виртуальных машин:
C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\1.17.0.6\ApplicationInsightsProfiler
Для Azure Облачные службы:
C:\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\1.17.0.6\ApplicationInsightsProfiler
Если профилировщик работает, пока приложение получает запросы, появится следующее сообщение: "Действие, обнаруженное из iKey".
При отправке трассировки появится следующее сообщение: "Начать отправку трассировки".
Изменение правил прокси-сервера сети или брандмауэра
Если приложение подключается к Интернету через прокси-сервер или брандмауэр, может потребоваться обновить правила для взаимодействия с Профилировщиком.
IP-адреса, используемые Application Insights Profiler, включены в тег службы Azure Monitor. Дополнительные сведения см . в документации по тегам службы.
Поддержка
Если вам по-прежнему нужна помощь, отправьте запрос в службу поддержки в портал Azure. Укажите идентификатор корреляции из сообщения об ошибке.