Анализ и визуализация событий с помощью 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 содержатся основные сведения о вашей службе, например время отклика и число обработанных запросов. Щелкнув кнопку "Поиск" вверху, вы увидите список последних запросов в приложении. Кроме того, вы увидите здесь неудачные запросы и сможете продиагностировать возникшие ошибки.
На предыдущем рисунке вы видите справа панель со списком элементов двух основных типов: запросы и события. Запросы поступают в виде вызовов API-интерфейса приложения, в нашем примере это HTTP-запросы. Событиями называются любые пользовательские события, которые можно добавить в любое место кода в качестве данных телеметрии. Дополнительные сведения об инструментировании приложений вы найдете в статье API Application Insights для пользовательских событий и метрик. Щелкнув запрос, вы увидите представленные на следующем рисунке сведения, включая данные, относящиеся к Service Fabric, которые собираются в пакете NuGet Service Fabric для Application Insights. Эти данные полезны для устранения неполадок и анализа состояния приложения. Все они доступны для поиска в Application Insights.
Application Insights имеет специальное представление для запросов по поступающим данным. Щелкните "Обозреватель метрик" в верхней части страницы "Обзор", чтобы перейти на портал Application Insights. Здесь вы можете с помощью языка запросов Kusto получить данные об описанных выше пользовательских событиях, запросах, исключениях, счетчиках производительности и других метриках. В следующем примере показаны все запросы за последний час.
Для дальнейшего изучения возможностей портала 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 на портале Azure
После настройки Application Insights для сбора событий и журналов сведения должны начать отображаться в ресурсе Application Insights через несколько минут. Перейдите в ресурс Application Insights. При этом откроется информационная панель ресурса Application Insights. На панели задач Application Insights щелкните Поиск, чтобы просмотреть последние полученные трассировки и при необходимости отфильтровать их.
Обозреватель метрик — это полезное средство для создания пользовательских панелей мониторинга на основе метрик, которые могут предоставляться приложениями, службами и кластером. Сведения о настройке диаграмм на основе собираемых данных см. в статье Исследование метрик в Application Insights.
Если щелкнуть Аналитика, откроется портал аналитики Application Insights, на котором доступно больше возможностей по запросу событий и трассировок. Дополнительные сведения см. в статье Аналитика в Application Insights.
Следующие шаги
- Настройте оповещения в Application Insights, чтобы узнавать об изменениях в производительности или характере использования.
- Интеллектуальное обнаружение в Application Insights осуществляет упреждающий анализ данных телеметрии, отправляемых в Application Insights, и предупреждает о потенциальных проблемах с производительностью.