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


Анализ и визуализация событий с помощью Application Insights

Application Insights — это расширяемая платформа для мониторинга и диагностики приложений, предоставляемая в рамках Azure Monitor. Она включает в себя эффективное средство аналитики и запросов, настраиваемую панель мониторинга, визуализации и дополнительные параметры, включая автоматическое оповещение. Интеграция Application Insights с Service Fabric включает средства для Visual Studio и портала Azure, а также некоторые метрики Service Fabric, обеспечивая комплексную фиксацию в журнале всех необходимых данных. Хотя многие журналы создаются автоматически, а данные собираются при использовании Application Insights, мы советуем создавать в своих приложениях дополнительные специализированные журналы для получения более объемной диагностической информации.

Эта статья поможет найти ответ на следующие распространенные вопросы:

  • как узнать, что происходит в приложениях и службах, и как собрать данные телеметрии;
  • как устранить неполадки в приложениях, особенно если это несколько взаимосвязанных служб;
  • как получить метрики выполнения служб, такие как время загрузки страниц и данные об HTTP-запросах.

В этой статье описываются процессы анализа и устранения неполадок в Application Insights. Если вы хотите узнать, как установить и настроить Application Insights с использованием Service Fabric, ознакомьтесь с этим руководством.

Мониторинг в Application Insights

Application Insights имеет широкие возможности для использования Service Fabric. На странице "Обзор" в Application Insights содержатся основные сведения о вашей службе, например время отклика и число обработанных запросов. Щелкнув кнопку "Поиск" вверху, вы увидите список последних запросов в приложении. Кроме того, вы увидите здесь неудачные запросы и сможете продиагностировать возникшие ошибки.

Общие сведения об Application Insights

На предыдущем рисунке вы видите справа панель со списком элементов двух основных типов: запросы и события. Запросы поступают в виде вызовов API-интерфейса приложения, в нашем примере это HTTP-запросы. Событиями называются любые пользовательские события, которые можно добавить в любое место кода в качестве данных телеметрии. Дополнительные сведения об инструментировании приложений вы найдете в статье API Application Insights для пользовательских событий и метрик. Щелкнув запрос, вы увидите представленные на следующем рисунке сведения, включая данные, относящиеся к Service Fabric, которые собираются в пакете NuGet Service Fabric для Application Insights. Эти данные полезны для устранения неполадок и анализа состояния приложения. Все они доступны для поиска в Application Insights.

Снимок экрана: дополнительные сведения, включая данные, относящиеся к Service Fabric, которые собираются в пакете NuGet Service Fabric для Application Insights.

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

Сведения о запросах Application Insights

Для дальнейшего изучения возможностей портала Application Insights перейдите на портал документации Application Insights.

Настройка Application Insights с использованием EventFlow

Если для статистической обработки событий используется EventFlow, импортируйте пакет NuGet Microsoft.Diagnostics.EventFlow.Outputs.ApplicationInsights. В разделе outputs файла eventFlowConfig.json должен присутствовать следующий код:

"outputs": [
    {
        "type": "ApplicationInsights",
        "instrumentationKey": "***ADD INSTRUMENTATION KEY HERE***"
    }
]

Обязательно внесите необходимые изменения в фильтры, а также включите все остальные входные данные (с соответствующими пакетами NuGet).

Пакет SDK для Application Insights

В качестве решений для статистической обработки мы рекомендуем использовать EventFlow и WAD, так как они поддерживают модульный подход к диагностике и мониторингу. Например, чтобы изменить выходные данные EventFlow, вам не нужно обновлять инструментирование, достаточно немного изменить файл конфигурации. Если вы решили остановиться на Application Insights и не планируете переходить на другую платформу, вы можете использовать новый пакет SDK для Application Insights для объединения событий и их отправки в Application Insights. Благодаря этому вам больше не придется настраивать EventFlow для отправки данных в Application Insights. Вместо этого вы установите пакет NuGet Service Fabric для Application Insights. Подробные сведения о пакете можно найти здесь.

В статье Application Insights support for Microservices and Containers (Поддержка микрослужб и контейнеров в Application Insights) описываются некоторые новые возможности, над которыми ведется работа (сейчас они доступны в виде бета-версии) и которые расширяют набор встроенных параметров мониторинга в Application Insights. Они включают в себя отслеживание зависимостей (используется при построении карты AppMap для всех служб и приложений в кластере и взаимосвязей между ними), а также улучшенное сопоставление трассировок, поступающих из служб (помогает выявлять проблемы в рабочем процессе приложения или службы).

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

После настройки Application Insights для сбора событий и журналов сведения должны начать отображаться в ресурсе Application Insights через несколько минут. Перейдите в ресурс Application Insights. При этом откроется информационная панель ресурса Application Insights. На панели задач Application Insights щелкните Поиск, чтобы просмотреть последние полученные трассировки и при необходимости отфильтровать их.

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

Если щелкнуть Аналитика, откроется портал аналитики Application Insights, на котором доступно больше возможностей по запросу событий и трассировок. Дополнительные сведения см. в статье Аналитика в Application Insights.

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