0Pricing
Cloud & IT Cert Prep · Урок

Application Insights

Оснастите веб-приложение SDK Application Insights, изучите карту приложения и используйте поток оперативных метрик для диагностики проблем в реальном времени.

«Application Insights» — бесплатный урок Cloud & IT Cert Prep на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cloud & IT Cert Prep, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cloud & IT Cert Prep содержит 4 уроков всего.

Что такое Application Insights

Application Insights — это функция Azure Monitor, обеспечивающая мониторинг производительности приложений (APM) для работающих веб-приложений. Она собирает телеметрию о запросах, зависимостях, исключениях, просмотрах страниц и пользовательских событиях. В отличие от метрик платформы, описывающих состояние инфраструктуры, Application Insights показывает, что делает код приложения и с каким опытом сталкиваются конечные пользователи. Поддерживаются .NET, Node.js, Java, Python и JavaScript в браузере.

Инструментирование приложения

Вы добавляете Application Insights в приложение, устанавливая SDK или используя автоматическое инструментирование (также называемое подключением без кода). Для App Service включение Application Insights на портале автоматически устанавливает агент без изменений в коде. Для приложений, которыми Вы управляете самостоятельно, добавьте пакет SDK и укажите строку подключения (предпочтительнее устаревшего ключа инструментирования) из ресурса Application Insights.

# Enable Application Insights on an App Service app
az webapp config appsettings set \
  --name myApp \
  --resource-group myRG \
  --settings APPLICATIONINSIGHTS_CONNECTION_STRING='InstrumentationKey=...' \
             ApplicationInsightsAgent_EXTENSION_VERSION='~3'

Карта приложения

Карта приложения — это визуальная топология компонентов приложения и их зависимостей. Каждый узел представляет компонент (Ваше приложение, нисходящий API, базу данных или службу Azure), а рёбра показывают связи вызовов с аннотациями, содержащими среднее время ответа, частоту запросов и частоту сбоев. Вы можете щёлкнуть любой узел или ребро, чтобы перейти к отдельным трассировкам запросов и определить источник задержек или сбоев.

Поток оперативных метрик

Поток оперативных метрик предоставляет представление о производительности приложения в реальном времени с задержкой менее секунды и практически без задержки. Вы можете наблюдать за частотой входящих запросов, временем ответа, частотой сбоев и использованием CPU по мере их возникновения — это особенно важно во время активного развертывания или расследования инцидента. Оперативные метрики используют защищённое исходящее подключение от приложения к Application Insights, поэтому изменять правила входящего брандмауэра не требуется.

Распределённая трассировка и сквозные транзакции

Распределённая трассировка сопоставляет телеметрию нескольких служб с помощью общего operation_Id. Когда запрос пользователя поступает во внешнее приложение, Application Insights передаёт заголовки контекста трассировки нисходящим службам. Представление сведений о сквозной транзакции объединяет все интервалы от всех участвующих служб в одну временную шкалу в виде диаграммы Ганта и показывает, где именно расходуется время в архитектуре микрослужб.

Пользовательские события и метрики

Помимо автоматической телеметрии, Вы можете отслеживать пользовательские события и пользовательские метрики с помощью SDK. Вызовите trackEvent(), чтобы записать события бизнес-уровня, например 'CheckoutCompleted' или 'FeatureFlagEnabled'. Вызовите trackMetric(), чтобы записать специфичные для приложения измерения, например размер очереди или коэффициент попаданий в кэш. Пользовательская телеметрия появляется в тех же таблицах Log Analytics и может запрашиваться с помощью KQL вместе с данными платформы.

// Node.js SDK example — tracking a custom event
const appInsights = require('applicationinsights');
appInsights.defaultClient.trackEvent({
  name: 'CheckoutCompleted',
  properties: { userId: '42', plan: 'premium' },
  measurements: { orderValue: 99.99 }
});

Интеллектуальное обнаружение и аномалии сбоев

Интеллектуальное обнаружение автоматически анализирует телеметрию с помощью машинного обучения и уведомляет Вас о необычных закономерностях — например о резком увеличении частоты сбоев, ухудшении времени ответа сервера или аномальном росте количества исключений. В отличие от оповещений по порогам, которые Вы настраиваете вручную, правила интеллектуального обнаружения адаптируются к обычному поведению приложения. Оповещения отправляются владельцам подписки и отображаются на странице интеллектуального обнаружения.

Тесты доступности

Тесты доступности (также называемые веб-тестами) по расписанию отправляют синтетические HTTP-запросы к приложению из нескольких регионов Azure по всему миру (с интервалом до одной минуты). Они проверяют, что общедоступные конечные точки отвечают ожидаемым кодом состояния HTTP за отведённое время ожидания. Если тест одновременно завершается сбоем из нескольких расположений, срабатывает оповещение. Это обеспечивает внешний мониторинг независимо от внутренней инфраструктуры.

# Create a URL ping availability test via CLI
az monitor app-insights web-test create \
  --name 'HomepagePing' \
  --resource-group myRG \
  --app-component myAppInsightsResource \
  --defined-web-test-kind ping \
  --request-url 'https://myapp.azurewebsites.net/' \
  --locations '[{"Id":"us-ca-sjc-azr"},{"Id":"emea-gb-db3-azr"}]' \
  --frequency 300 \
  --timeout 30

Сэмплирование для управления объёмом данных

Сэмплирование уменьшает объём телеметрии, отправляемой в Application Insights, записывая только часть запросов и сохраняя при этом статистическую точность. Адаптивное сэмплирование автоматически изменяет долю выборки, чтобы оставаться в пределах целевой скорости приёма данных. Сэмплирование с фиксированной скоростью применяет фиксированный процент. Отобранная телеметрия помечается, поэтому представления метрик автоматически корректируют коэффициент сэмплирования при отображении количества и частоты событий.

Аналитика пользователей и сеансов

Application Insights включает встроенную аналитику использования для приложений с инструментированием браузера. Область Users показывает количество уникальных пользователей, раздел Sessions отслеживает пути пользователей, раздел Funnels визуализирует отказы на этапах многошаговых процессов, а диаграммы Retention показывают, сколько пользователей возвращается с течением времени. Эти средства особенно полезны командам продукта, которые оптимизируют коэффициенты конверсии и вовлечённость пользователей наряду с операционным мониторингом.

Таблицы Application Insights и Log Analytics

Данные Application Insights хранятся в рабочей области Log Analytics в выделенных таблицах: requests, exceptions, dependencies, traces, pageViews, customEvents и customMetrics. Если Application Insights настроен в режиме на основе рабочей области (это вариант по умолчанию для новых ресурсов), Вы можете объединять эти таблицы с другими данными рабочей области — например, сопоставлять исключение приложения с отказом в доступе к Key Vault, записанным в AzureActivity.

// KQL — find the top 10 slowest dependencies in the last hour
dependencies
| where timestamp > ago(1h)
| where success == false or duration > 2000
| summarize AvgDuration = avg(duration), FailCount = countif(success==false)
    by name, type
| top 10 by AvgDuration desc

Быстрая проверка

Проверьте своё понимание концепций Microsoft Azure Fundamentals (AZ-900), рассмотренных в этом уроке.

Итоги урока

В этом уроке Вы узнали, что Application Insights предоставляет телеметрию уровня APM для частоты запросов, сбоев и зависимостей, Application Map и распределённая трассировка визуализируют топологию микросервисов от начала до конца, а тесты доступности проверяют общедоступные конечные точки из нескольких глобальных расположений. Далее мы рассмотрим Azure Dashboards и Workbooks для обмена операционной информацией с командой.

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

Урок «Application Insights» бесплатный?

Да — полный текст урока «Application Insights» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cloud & IT Cert Prep, подпишись на CoddyKit PRO. Курс Cloud & IT Cert Prep содержит 4 уроков всего.

Чему я научусь в уроке «Application Insights»?

Оснастите веб-приложение SDK Application Insights, изучите карту приложения и используйте поток оперативных метрик для диагностики проблем в реальном времени. Ты практикуешь Cloud & IT Cert Prep с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cloud & IT Cert Prep?

Предыдущий опыт не требуется. Cloud & IT Cert Prep на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Application Insights»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cloud & IT Cert Prep?

Да. Каждый урок Cloud & IT Cert Prep включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Метрики и оповещения Azure Monitor
  2. Основы Log Analytics и KQL
  3. Application Insights
  4. Панели мониторинга и книги Azure
← Назад к Cloud & IT Cert Prep