Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Зависимость — это компонент, вызываемый приложением. Как правило, это служба, вызываемая с использованием HTTP, база данных или файловая система. Application Insights измеряет длительность вызовов зависимостей и указывает, завершается ли ошибка или нет, и собирает такие сведения, как имя зависимости. Вы можете анализировать отдельные вызовы зависимостей и сопоставлять их с запросами и исключениями.
Автоматически отслеживаемые зависимости
В этом разделе приводятся ссылки на списки вызовов зависимостей, которые автоматически обнаруживаются как зависимости, не требуя дополнительных изменений в коде приложения. Эти зависимости отображаются в представлениях схемы приложений и диагностики транзакций Application Insights.
Если зависимость не находится в списке, ее можно отслеживать вручную, см. в разделе " Отслеживание зависимостей вручную".
Список всех автоматических зависимостей см. на вкладках, относящихся к языку, в разделе "Добавление и изменение Azure Monitor OpenTelemetry" для приложений .NET, Java, Node.jsи Python.
Как выполняется автоматическое отслеживание зависимостей?
Зависимости автоматически собираются с помощью одного из следующих методов в зависимости от метода сбора данных телеметрии.
Библиотеки инструментирования OpenTelemetry используются для автоматического сбора зависимостей, таких как ВЫЗОВы HTTP, SQL и Azure SDK. Эти библиотеки объединяются в поддерживаемые платформы и клиентские библиотеки с помощью
DiagnosticSourceили эквивалентных механизмов.В поддерживаемых средах, таких как Службы приложений Azure, автоинструментация доступна и включена по умолчанию, внедряя сборщики телеметрии во время выполнения без изменений кода.
В других средах разработчики могут вручную настроить инструментирование с помощью пакетов Azure.Monitor.OpenTelemetry.* и API OpenTelemetry для управления отслеживанием зависимостей и способом их обогащения или фильтрации.
Отслеживание зависимостей вручную
Вы можете вручную отслеживать зависимости, если автоматическая коллекция не соответствует вашим потребностям.
Подсказка
Для новых проектов рекомендуется использовать OpenTelemetry для повышения гибкости и будущей совместимости.
Сведения о том, как вручную отслеживать зависимости, см. в статье "Добавление и изменение Azure Monitor OpenTelemetry" для приложений .NET, Java, Node.jsи Python.
Где найти данные зависимостей
Следующие средства и представления в Application Insights упрощают изучение и анализ телеметрии зависимостей:
| Представления | Описание |
|---|---|
| Карта приложений | Предоставляет визуальное представление зависимостей приложения и их связей с внешними службами. |
| Диагностика транзакций | Отображает подробные сведения о транзакциях, сопоставляя операции на стороне сервера с вызовами зависимостей. |
| Вкладка браузера в сбоях и представлениях производительности | Выделяет вызовы AJAX из клиентских браузеров. |
| Вкладка "Сервер" в представлениях о сбоях и производительности | Позволяет детализировать медленные или неудачные запросы сервера и проверять связанные вызовы зависимостей. Примеры трассировки от запросов к зависимостям и неудачным запросам, связанным с неудачными вызовами зависимостей. |
| Журналы Azure Monitor | Включает расширенные запросы и аналитику для телеметрии зависимостей. Примеры отслеживания зависимостей с помощью KQL. |
Диагностика медленных запросов
Каждое событие запроса связано с вызовами зависимостей, исключениями и другими событиями, которые отслеживаются во время обработки запроса. Поэтому, если какие-то запросы работают плохо, вы можете узнать, не является ли причиной этого задержка в ответах зависимой системы.
Трассировка от запросов к зависимостям
Выберите левую вкладку «Производительность», а затем выберите вкладку «Зависимости» в верхней части.
Выберите Имя зависимости в разделе Общее. После выбора зависимости отображается график распределения длительности этой зависимости.
Нажмите кнопку Примеры в правом нижнем углу. Затем выберите пример, чтобы просмотреть полные сведения о транзакции.
Проанализируйте ваш текущий сайт
Профилировщик .NET отслеживает HTTP-вызовы к вашему динамическому сайту и показывает функции в коде, которые заняли самое длительное время.
Неудачные запросы
Неудачно завершенные запросы также могут быть связаны с неудачными вызовами зависимостей.
Выберите вкладку "Сбои слева" и выберите вкладку "Зависимости" в верхней части экрана.
Здесь отображается количество отказавших зависимостей. Чтобы получить дополнительные сведения о возникшем сбое, выберите имя зависимости в таблице снизу. Нажмите на кнопку Зависимости в правом нижнем углу, чтобы просмотреть полные сведения о транзакции.
Журналы (Аналитика)
Вы можете отслеживать зависимости, используя язык запросов Kusto. Ниже приведены некоторые примеры.
Поиск ошибок вызова зависимостей:
dependencies | where success != "True" | take 10Поиск вызовов AJAX:
dependencies | where client_Type == "Browser" | take 10Найдите вызовы зависимостей, связанные с запросами.
dependencies | where timestamp > ago(1d) and client_Type != "Browser" | join (requests | where timestamp > ago(1d)) on operation_IdПоиск вызовов AJAX, связанных с просмотром страниц.
dependencies | where timestamp > ago(1d) and client_Type == "Browser" | join (browserTimings | where timestamp > ago(1d)) on operation_Id
Пакет SDK с открытым исходным кодом
Как и все пакеты SDK для Application Insights, модуль сбора данных зависимостей тоже предоставляется с открытым кодом. Просмотреть код, поучаствовать в его разработке или сообщить о проблемах можно в официальном репозитории на GitHub.
Дальнейшие шаги
- Ознакомьтесь с часто задаваемыми вопросами по отслеживанию зависимостей.
- См. модель данных для Application Insights.
- Ознакомление с платформами, поддерживаемыми Application Insights.