Подготовка приложения к мониторингу
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.