Что такое Azure Application Insights?What is Application Insights?

Azure Application Insights, компонент Azure Monitor, — это расширяемая служба управления производительностью приложений (APM) для разработчиков и специалистов по DevOps.Application Insights, a feature of Azure Monitor, is an extensible Application Performance Management (APM) service for developers and DevOps professionals. Используйте ее для мониторинга ваших работающих приложений.Use it to monitor your live applications. Эта служба автоматически отслеживает аномалии производительности и предоставляет мощные аналитические инструменты, которые помогут вам диагностировать проблемы и понять, что пользователи фактически делают в вашем приложении.It will automatically detect performance anomalies, and includes powerful analytics tools to help you diagnose issues and to understand what users actually do with your app. Эта служба помогает постоянно улучшать производительность и удобство использования.It's designed to help you continuously improve performance and usability. Она работает с приложениями на разных платформах, включая .NET, Node.js, Java и Python, с размещением в локальной, гибридной или общедоступной облачной средах.It works for apps on a wide variety of platforms including .NET, Node.js, Java, and Python hosted on-premises, hybrid, or any public cloud. Эта служба интегрируется с процессом DevOps и содержит точки подключения ко многим инструментам разработки.It integrates with your DevOps process, and has connection points to a variety of development tools. Она может выполнять мониторинг и анализ данных телеметрии из мобильных приложений благодаря интеграции с Центром приложений Visual Studio.It can monitor and analyze telemetry from mobile apps by integrating with Visual Studio App Center.

Как работает Application Insights?How does Application Insights work?

Вы устанавливаете в приложении небольшой пакет инструментирования (SDK) или включаете Application Insights с помощью соответствующего агента, когда это возможно.You install a small instrumentation package (SDK) in your application or enable Application Insights using the Application Insights Agent when supported. Функция инструментирования отслеживает ваше приложение и направляет данные телеметрии в ресурс Azure Application Insights, используя уникальный идентификатор GUID, который мы будем называть ключом инструментирования.The instrumentation monitors your app and directs the telemetry data to an Azure Application Insights Resource using a unique GUID that we refer to as an Instrumentation Key.

Вы можете инструментировать не только приложение веб-службы, но и любые фоновые компоненты, а также JavaScript на веб-страницах.You can instrument not only the web service application, but also any background components, and the JavaScript in the web pages themselves. (Приложение и его компоненты могут работать где угодно. Их не обязательно размещать в Azure.)The application and its components can run anywhere - it doesn't have to be hosted in Azure.

Инструментирование Application Insights в приложении отправляет данные телеметрии в ресурс Application Insights.

Кроме того, можно извлечь данные телеметрии из сред размещения, например данные счетчиков производительности, диагностики Azure или журналов Docker.In addition, you can pull in telemetry from the host environments such as performance counters, Azure diagnostics, or Docker logs. Вы также можете настроить веб-тесты, которые периодически отправляют искусственные запросы в веб-службу.You can also set up web tests that periodically send synthetic requests to your web service.

Все эти потоки телеметрии интегрируются в Azure Monitor.All these telemetry streams are integrated into Azure Monitor. На портале Azure к необработанным данным можно применять мощные инструменты анализа и поиска.In the Azure portal, you can apply powerful analytic and search tools to the raw data.

Увеличение нагрузкиWhat's the overhead?

Влияние на производительность приложений невелико.The impact on your app's performance is small. Вызовы отслеживания не приводят к блокировке, выполняются в пакетном режиме и отправляется в отдельном потоке.Tracking calls are non-blocking, and are batched and sent in a separate thread.

Что отслеживает Application InsightsWhat does Application Insights monitor?

Служба Application Insights предназначена для команды разработчиков. Она позволяет получить сведения о производительности и использовании приложения.Application Insights is aimed at the development team, to help you understand how your app is performing and how it's being used. Она отслеживает следующее:It monitors:

  • Частота запросов, время отклика и частота сбоев. Узнайте, какие страницы наиболее популярны, в какое время дня их посещают чаще всего, а также узнайте о расположении пользователей.Request rates, response times, and failure rates - Find out which pages are most popular, at what times of day, and where your users are. Узнайте, какие страницы работают лучше всего.See which pages perform best. Если при увеличении количества запросов повышается время отклика и частота сбоев, возможно, возникла проблема с ресурсами.If your response times and failure rates go high when there are more requests, then perhaps you have a resourcing problem.
  • Частота зависимостей, время отклика и частота сбоев. Узнайте, замедляют ли внешние службы вашу работу.Dependency rates, response times, and failure rates - Find out whether external services are slowing you down.
  • Исключения. Проанализируйте сводные статистические данные или выберите конкретные экземпляры и выполните детализацию трассировки стека и связанных запросов.Exceptions - Analyze the aggregated statistics, or pick specific instances and drill into the stack trace and related requests. Исключения сервера и браузера регистрируются.Both server and browser exceptions are reported.
  • Просмотры страниц и производительность загрузки. Эти сведения сообщаются через браузеры пользователей.Page views and load performance - reported by your users' browsers.
  • Вызовы AJAX с веб-страницы. Скорость, время отклика и частота сбоев.AJAX calls from web pages - rates, response times, and failure rates.
  • Количество пользователей и сеансов.User and session counts.
  • Счетчики производительности с компьютеров с сервером Windows или Linux, такие как ЦП, память и использование сети.Performance counters from your Windows or Linux server machines, such as CPU, memory, and network usage.
  • Размещение диагностики из Docker или Azure.Host diagnostics from Docker or Azure.
  • Журналы диагностики трассировки из вашего приложения. Предназначены для сопоставления событий трассировки с запросами.Diagnostic trace logs from your app - so that you can correlate trace events with requests.
  • Пользовательские события и метрики, которые вы напишете самостоятельно в коде клиента или сервера, для отслеживания бизнес-событий, таких как количество проданных единиц или выигранных игр.Custom events and metrics that you write yourself in the client or server code, to track business events such as items sold or games won.

Где отображаются мои данные телеметрии?Where do I see my telemetry?

Существует множество способов изучения данных.There are plenty of ways to explore your data. Ознакомьтесь со следующими статьями:Check out these articles:

Интеллектуальное обнаружение в Application InsightsSmart detection and manual alerts
Настройте автоматические оповещения, адаптированные к стандартным шаблонам телеметрии приложения, которые активируются, когда что-то не соответствует стандартному шаблону.Set up automatic alerts that adapt to your app's normal patterns of telemetry and trigger when there's something outside the usual pattern. Также можно настроить оповещения для определенных уровней пользовательских или стандартных метрик.You can also set alerts on particular levels of custom or standard metrics.
Пример оповещения
Схема сопоставления приложений в Application InsightsApplication map
Изучите компоненты приложения с основными метриками и оповещениями.Explore the components of your app, with key metrics and alerts.
Схема сопоставления приложений
Профилирование динамических веб-приложений Azure с помощью Application Insights (предварительная версия) Profiler
Проверьте профили запросов выборки.Inspect the execution profiles of sampled requests.
Profiler
Usage analysis for web applications with Application Insights (Аналитики использования для веб-приложений с Application Insights)Usage analysis
Анализируйте сегментацию пользователей и хранение.Analyze user segmentation and retention.
Инструмент "Хранение"
Работа с Application Insights в Visual StudioDiagnostic search for instance data
Поиск и фильтрация событий, таких как запросы, исключения, вызовы зависимостей, журналы трассировки и просмотры страниц.Search and filter events such as requests, exceptions, dependency calls, log traces, and page views.
Поиск данных телеметрии
Исследование метрик в Application InsightsMetrics Explorer for aggregated data
Просмотр, фильтрация и сегментирование объединенных данных, таких как частоты запросов, ошибок и исключений, время отклика и время загрузки страницы.Explore, filter, and segment aggregated data such as rates of requests, failures, and exceptions; response times, page load times.
Метрики
Панели мониторингаDashboards
Объединение разнородных данных из нескольких ресурсов и их совместное использование с другими пользователями.Mash up data from multiple resources and share with others. Идеальное решение для многокомпонентных приложений, а также для непрерывного отображения в комнате команды.Great for multi-component applications, and for continuous display in the team room.
Пример панели мониторинга
Динамический поток метрик: мгновенные метрики для подробного отслеживанияLive Metrics Stream
При развертывании новой сборки просматривайте эти индикаторы производительности в режиме, близком к реальному времени, чтобы убедиться, что все работает правильно.When you deploy a new build, watch these near-real-time performance indicators to make sure everything works as expected.
Пример Live Metrics
Аналитика в Application InsightsAnalytics
Получите ответы на сложные вопросы о производительности и использовании приложения с помощью этого мощного языка запросов.Answer tough questions about your app's performance and usage by using this powerful query language.
Пример аналитики
Работа с Application Insights в Visual StudioVisual Studio
Просматривайте данные производительности в коде.See performance data in the code. Перейдите к коду из трассировки стека.Go to code from stack traces.
Visual studio
Debug Snapshots on Exceptions in .NET Apps (Отладка моментальных снимков при исключениях в приложениях .NET)Snapshot debugger
Отладка моментальных снимков, выбранных из активных операций со значениями параметров.Debug snapshots sampled from live operations, with parameter values.
Visual studio
Использование данных Application Insights в Power BIPower BI
Интегрируйте метрики использования с другими метриками бизнес-аналитики.Integrate usage metrics with other business intelligence.
Power BI
Use the Application Insights REST API to build custom solutions (Использование интерфейса REST API Application Insights для создания пользовательских решений)REST API
Напишите код для выполнения запросов с помощью метрик и необработанных данных.Write code to run queries over your metrics and raw data.
REST API
Экспорт данных телеметрии из Application InsightsContinuous export
Выполняйте массовый экспорт необработанных данных в хранилище по мере их поступления.Bulk export of raw data to storage as soon as it arrives.
Экспорт

Как использовать Application Insights?How do I use Application Insights?

МониторMonitor

Установите Application Insights в веб-приложении, настройте доступность веб-тестов и:Install Application Insights in your app, set up availability web tests, and:

  • проверяйте панель мониторинга приложений по умолчанию для комнаты своей команды, чтобы следить за нагрузкой, скоростью реагирования и производительностью зависимостей, а также загрузкой страниц и вызовами AJAX;Check out the default application dashboard for your team room to keep an eye on load, responsiveness, and the performance of your dependencies, page loads, and AJAX calls.
  • узнавайте, какие запросы выполняются медленнее всех и какие чаще всего не выполняются;Discover which are the slowest and most failing requests.
  • просматривайте Live Stream при развертывании новых выпусков, чтобы сразу же узнавать о любом снижении производительности.Watch Live Stream when you deploy a new release, to know immediately about any degradation.

Обнаружение и диагностикаDetect, Diagnose

При получении предупреждения или обнаружении проблемы:When you receive an alert or discover a problem:

  • Оцените, сколько пользователей столкнулось с проблемами.Assess how many users are affected.
  • сопоставляйте сбои с исключениями, вызовами зависимостей и трассировками;Correlate failures with exceptions, dependency calls, and traces.
  • изучите профилировщик, моментальные снимки, дамп стека и журналы трассировки.Examine profiler, snapshots, stack dumps, and trace logs.

Создание, измерение и обучениеBuild, Measure, Learn

Оцените эффективность каждой новой развертываемой функции.Measure the effectiveness of each new feature that you deploy.

  • планируйте измерение того, как пользователи используют новые UX или бизнес-функции;Plan to measure how customers use new UX or business features.
  • записывайте пользовательскую телеметрию в свой код;Write custom telemetry into your code.
  • основывайте следующий цикл разработки на объективных данных телеметрии.Base the next development cycle on hard evidence from your telemetry.

Начало работыGet started

Application Insights — одна из многих служб, размещенных в Microsoft Azure, и данные телеметрии отправляются в нее для анализа и представления.Application Insights is one of the many services hosted within Microsoft Azure, and telemetry is sent there for analysis and presentation. Поэтому, чтобы приступить к каким-либо действиям, вам потребуется подписка на Microsoft Azure.So before you do anything else, you'll need a subscription to Microsoft Azure. Плата за регистрацию не взимается, и если выбрать тарифный план "Базовый" Application Insights, то плата не будет взиматься, пока ваше приложение не начнет значительно использовать ресурсы.It's free to sign up, and if you choose the basic pricing plan of Application Insights, there's no charge until your application has grown to have substantial usage. Если у вашей организации уже есть подписка, в нее можно добавить вашу учетную запись Майкрософт.If your organization already has a subscription, they could add your Microsoft account to it.

Начать работу можно несколькими способами.There are several ways to get started. Начните с того, который вам лучше подходит.Begin with whichever works best for you. Остальные можно использовать позже.You can add the others later.

Дальнейшие действияNext steps

Приступите к работе во время выполнения с помощью:Get started at runtime with:

Приступите к работе во время разработки с помощью:Get started at development time with:

Поддержка и обратная связьSupport and feedback