Подготовка приложения к мониторингу

Завершено

Application Insights включается с помощью автоматического инструментирования (агента) или путем добавления пакета SDK Application Insights в код приложения.

Автоматическое инструментирование

Автоматическое инструментирование — это предпочтительный метод инструментирования. Он не требует инвестиций разработчика и устраняет будущие издержки, связанные с обновлением пакета SDK. Это также единственный способ инструментировать приложение, в котором у вас нет доступа к исходному коду.

В сущности, все, что необходимо сделать, — включить и ( в некоторых случаях ) настроить агент, который собирает данные телеметрии автоматически.

Список служб, поддерживаемых автоматическим инструментированием, быстро изменяется, посетите эту страницу список поддерживаемых в настоящее время.

Включение через SDK Application Insights

Необходимо установить пакет SDK Application Insights только в следующих случаях:

  • Вам нужны пользовательские события и показатели
  • Вам требуется контроль над потоком телеметрии
  • Автоматическое инструментирование недоступно (обычно из-за ограничений языка или платформы)

Чтобы использовать пакет SDK, необходимо установить небольшой пакет инструментирования в приложении, а затем инструментировать веб-приложение, все фоновые компоненты и JavaScript на веб-страницах. Приложение и его компоненты не должны размещаться в Azure. Инструментирование мониторит ваше приложение и направляет данные телеметрии в ресурс Application Insights с помощью уникального токена.

Пакеты SDK Application Insights для .NET, .NET Core, Java, Node.jsи JavaScript поддерживают распределенную трассировку в собственном коде.

Кроме того, любые технологии можно отслеживать вручную с помощью вызова TrackDependency на TelemetryClient.

Включение с помощью OpenCensus

Помимо SDK для Application Insights, Application Insights также поддерживает распределенную трассировку через OpenCensus. OpenCensus — это открытый исходный код, не зависящий от поставщика, отдельный дистрибутив библиотек для предоставления сбора метрик и распределенной трассировки для служб. Он также позволяет сообществу с открытым кодом включить распределенную трассировку с популярными технологиями, такими как Redis, Memcached или MongoDB.