Решение по управлению Соединителем Application Insights (устарело)
Примечание
Благодаря поддержке запросов между ресурсами решение по управлению Соединителем Application Insights больше не требуется. Его было объявлено устаревшим и удалено из Azure Marketplace, а портал OMS официально объявлен устаревшим 15 января 2019 года для коммерческого облака Azure. Этот компонент будет выведен из эксплуатации 30 марта 2019 года для облака Azure для US Gov организаций.
Существующие соединения будут работать до 30 июня 2019 года. В связи с устареванием портала OMS на нем невозможно настроить или удалить существующие подключения. Чтобы получить сведения о сценарии для удаления существующих соединителей с помощью PowerShell см. раздел Удаление соединителя с помощью PowerShell указанный ниже.
Рекомендации по запросах журнала Application Insights для нескольких приложений см. в статье Объединение нескольких ресурсов Azure Monitor Application Insights. Дополнительные сведения об устаревании портала OMS см. в статье Перемещение портала OMS в Azure.
С помощью решения "Соединитель Application Insights" можно диагностировать проблемы с производительностью, а также узнать, какие действия пользователи выполняют в вашем приложении, которое отслеживается с помощью Application Insights. В Log Analytics доступны представления данных телеметрии приложения, которые отображаются для разработчиков в Application Insights. Тем не менее при интеграции приложений Application Insights с Log Analytics видимость приложений увеличивается, так как данные операций и приложений находятся в одном месте. Наличие тех же представлений, что и у разработчиков, поможет вам сотрудничать с ними. Благодаря общим представлениям вы сможете быстрее обнаруживать проблемы с платформой и приложением, а также решать их.
Используя решение, вы можете:
- просматривать все приложения Application Insights в одном месте, даже если они находятся в разных подписках Azure;
- сопоставлять данные инфраструктуры с данными приложений;
- визуализировать данные приложения с перспективами в поиске по журналам;
- сводить данные из Log Analytics в приложении Application Insights на портале Azure.
Примечание
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Подключенные источники
В отличие от большинства других решений Log Analytics, данные для соединителя Application Insights не собираются агентами. Все данные, используемые решением, поступают непосредственно из Azure.
Подключенный источник | Поддерживается | Описание |
---|---|---|
Агенты Windows | Нет | Решение не собирает сведения из агентов Windows. |
Агенты Linux | Нет | Решение не собирает сведения из агентов Linux. |
Группы управления SCOM | Нет | Решение не собирает сведения из агентов в подключенной группе управления SCOM. |
Учетная запись хранения Azure | Нет | Решение не собирает сведения из службы хранилища Azure. |
Предварительные требования
- Для доступа к сведениям о соединителе Application Insights необходима подписка Azure.
- Необходимо иметь хотя бы один настроенный ресурс Application Insights.
- Необходимо быть владельцем или участником ресурса Application Insights.
Конфигурация
- Включите решение "Аналитика веб-приложений Azure" из Azure Marketplace или выполните инструкции по добавлению решений Log Analytics из коллекции решений.
- Перейдите на портал Azure. Выберите Все службы, чтобы открыть Application Insights. Затем выполните поиск по запросу "Application Insights".
- В разделе Подписки выберите подписку с ресурсами Application Insights, а затем в разделе Имя выберите одно или несколько приложений.
- Выберите команду Сохранить.
Приблизительно через 30 минут данные станут доступными, а на плитке Application Insights появятся данные, как показано на следующем изображении:
Моменты, которые следует учитывать:
- Приложения Application Insights можно связать только с одной рабочей областью Log Analytics.
- С Log Analytics можно связать ресурсы Application Insights только уровня "Базовый" или "Корпоративный". Тем не менее можно использовать уровень "Бесплатный" Log Analytics.
Пакеты управления
В этом решении не предусматривается установка пакетов управления в подключенных группах управления.
Использование решения
В следующих разделах описывается, как можно использовать разделы, показанные на панели мониторинга Application Insights, для просмотра данных из приложений и взаимодействия с ними.
Просмотр сведений о соединителе Application Insights
Щелкните плитку Application Insights , чтобы открыть панель мониторинга Application Insights и просмотреть следующие разделы.
Панель мониторинга содержит разделы, показанные в таблице. Каждый раздел содержит до 10 элементов, соответствующих критериям этого раздела для указанного область и диапазона времени. Вы можете выполнить поиск по журналам, который возвращает все записи при нажатии кнопки Просмотреть все в нижней части раздела или при щелчке заголовка раздела.
Столбец | Описание |
---|---|
Applications — Number of applications | Указывает число приложений в ресурсах приложения. Кроме того, приводятся имена приложений и количество записей приложений в каждом из них. Щелкните количество, чтобы выполнить поиск по журналам: ApplicationInsights | summarize AggregatedValue = sum(SampledCount) by ApplicationName . Щелкните имя приложения, чтобы выполнить поиск по журналам для приложения, в котором показаны записи приложения для каждого узла, записи по типам телеметрии и все данные по типам (в зависимости от последнего дня). |
Data Volume — Hosts sending data | Показывает число узлов компьютера, которые отправляют данные. Здесь также приводятся узлы компьютера и количество записей для каждого узла. Щелкните количество, чтобы выполнить поиск по журналам: ApplicationInsights | summarize AggregatedValue = sum(SampledCount) by Host . Щелкните имя компьютера, чтобы выполнить поиск по журналам для узла, в котором показаны записи приложения для каждого узла, записи по типам телеметрии и все данные по типам (в зависимости от последнего дня). |
Availability — Webtest results | Показывает кольцевую диаграмму с результатами веб-тестов, в которой указано, положительные они или отрицательные. Щелкните диаграмму, чтобы выполнить поиск по журналам: ApplicationInsights | where TelemetryType == "Availability" | summarize AggregatedValue = sum(SampledCount) by AvailabilityResult . Результаты показывают количество пройденных и непройденных тестов. Показывает все веб-приложения с трафиком за последнюю минуту. Щелкните имя приложения, чтобы просмотреть поиск по журналам с подробными сведениями о непройденных веб-тестах. |
Server Requests — Requests per hour | Показывает график запросов сервера в час для различных приложений. Наведите указатель мыши на линию на диаграмме, чтобы просмотреть 3 приложения, получающие наибольшее количество запросов на определенный момент времени. Кроме того, отображает список приложений, получающих запросы, и число запросов за выбранный период. Щелкните диаграмму, чтобы выполнить поиск по журналам для ApplicationInsights | where TelemetryType == "Request" | summarize AggregatedValue = sum(SampledCount) by ApplicationName, bin(TimeGenerated, 1h) , после чего отобразится график с подробными сведениями о количестве запросов сервера в час для различных приложений. Щелкните приложение в списке, чтобы выполнить поиск по журналам для ApplicationInsights | where ApplicationName == "yourapplicationname" and TelemetryType == "Request" and iff(isnotnull(toint(RequestSuccess)), RequestSuccess == false, RequestSuccess == "false") == true , после чего отобразится список запросов, диаграммы для запросов за период времени и длительность запросов, а также список кодов ответов на запросы. |
Failures — Failed requests per hour | Показывает график со сведениями о количестве невыполненных запросов приложения в час. Наведите указатель мыши на диаграмму, чтобы просмотреть 3 приложения с наибольшим количеством невыполненных запросов на определенный момент времени. Кроме того, отображает список приложений и сведения о количестве невыполненных запросов для каждого из них. Щелкните диаграмму, чтобы выполнить поиск по журналам для ApplicationInsights | where TelemetryType == "Request" and iff(isnotnull(toint(RequestSuccess)), RequestSuccess == false, RequestSuccess == "false") == true | summarize AggregatedValue = sum(SampledCount) by ApplicationName, bin(TimeGenerated, 1h) , после чего отобразится график с подробными сведениями о невыполненных запросах приложения. Щелкните элемент в списке, чтобы выполнить поиск по журналам для ApplicationInsights | where ApplicationName == "yourapplicationname" and TelemetryType == "Request" and iff(isnotnull(toint(RequestSuccess)), RequestSuccess == false, RequestSuccess == "false") == true , после чего отобразятся невыполненные запросы, диаграммы с невыполненными запросами за период времени и длительность запросов, а также список кодов ответов на невыполненные запросы. |
Exceptions — Exceptions per hour | Показывает график со сведениями о количестве исключений в час. Наведите указатель мыши на диаграмму, чтобы просмотреть 3 приложения с наибольшим количеством исключений на определенный момент времени. Кроме того, отображает список приложений и сведения о количестве исключений для каждого из них. Щелкните диаграмму, чтобы выполнить поиск по журналам для ApplicationInsights | where TelemetryType == "Exception" | summarize AggregatedValue = sum(SampledCount) by ApplicationName, bin(TimeGenerated, 1h) , после чего отобразится график с подробными сведениями об исключениях. Щелкните элемент в списке, чтобы выполнить поиск по журналам для ApplicationInsights | where ApplicationName == "yourapplicationname" and TelemetryType == "Exception" , после чего отобразится список исключений, диаграммы с исключениями на определенный момент времени и невыполненные запросы, а также список типов исключений. |
Просмотр перспективы Application Insights с поиском по журналам
Если щелкнуть какой-либо элемент на панели мониторинга, отобразится перспектива Application Insights, показанная в результатах поиска. Перспектива предоставляет более подробную визуализацию в зависимости от выбранного типа телеметрии. Таким образом содержимое визуализации изменяется для различных типов телеметрии.
Щелкнув в любом месте раздела Приложения, вы увидите перспективу приложения по умолчанию.
В перспективе приведен обзор выбранного приложения.
В разделе Доступность отображается другое представление перспективы, в котором можно просмотреть результаты веб-тестов и связанные запросы, завершиющиеся сбоем.
Когда вы щелкаете в любом месте раздела Запросы сервера или Сбои , компоненты перспективы изменяются, чтобы предоставить вам визуализацию, связанную с запросами.
Щелкнув в любом месте раздела Исключения , вы увидите визуализацию, адаптированную к исключениям.
Вне зависимости от того, что вы щелкнете на панели мониторинга соединителя Application Insights на странице Поиск, в любом запросе, возвращающем данные Application Insights, будет отображаться перспектива Application Insights. Например, если вы просматриваете данные Application Insights, в запросе * также будет отображаться вкладка перспективы, как показано на следующем изображении:
Компоненты перспективы обновляются в зависимости от поискового запроса. Это означает, что результаты можно отфильтровать с помощью любого поля поиска, в результате чего вы сможете просматривать данные из:
- всех ваших приложений;
- одного выбранного приложения;
- группы приложений.
Сведение в приложение на портале Azure
Разделы Соединителя Application Insights позволяют свести данные к выбранному приложению Application Insights при использовании портал Azure. Решение можно использовать как высокоуровневую платформу мониторинга, которая позволяет устранять неполадки в приложении. При появлении потенциальной проблемы в одном из подключенных приложений вы можете получить о ней дополнительные сведения в поиске Log Analytics или свести их непосредственно в приложении Application Insights.
Чтобы свести данные, нажмите символ с многоточием (…), который отображается в конце каждой строки, а затем выберите Open in Application Insights (Открыть в Application Insights).
Примечание
Параметр Open in Application Insights (Открыть в Application Insights) недоступен на портале Azure.
Данные исправления выборки
В Application Insights предоставлена функция исправления выборки, с помощью которой можно уменьшить трафик данных телеметрии. При включении выборки в приложении Application Insights уменьшается количество записей, хранимых в Application Insights и в службе Log Analytics. В то время как на странице соединителя Application Insights и в перспективах данные остаются согласованными, для пользовательских запросов данные выборки необходимо исправлять вручную.
Ниже приведен пример исправления выборки в запросе поиска по журналам:
ApplicationInsights | summarize AggregatedValue = sum(SampledCount) by TelemetryType
Поле Sampled Count (Количество данных выборки) есть во всех записях и обозначает количество точек данных, представленных в записи. Если включить функцию выборки для вашего приложения Application Insights, значение поля Sampled Count (Количество данных выборки) будет больше 1. Чтобы подсчитать число записей, создаваемых приложением, суммируйте значения полей Sampled Count (Количество данных выборки).
Выборка влияет только на общее число записей, создаваемых приложением. Значение выборки не нужно исправлять для таких полей метрик, как RequestDuration или AvailabilityDuration, так как в этих полях отображается среднее значение представленных записей.
Входные данные
Решение принимает следующие типы данных телеметрии из подключенных приложений Application Insights:
- Доступность
- Исключения
- Requests
- Просмотры страниц. Чтобы ваша рабочая область получала данные о просмотре страниц, в приложении необходимо настроить сбор этих сведений. Дополнительные сведения см. в разделе Просмотры страниц.
- Настраиваемые события. Чтобы ваша рабочая область получала данные о настраиваемых событиях, в приложении необходимо настроить сбор этих сведений. Дополнительные сведения см. в разделе TrackEvent (Отслеживание событий).
Как только данные станут доступны, они поступят из Application Insights в Log Analytics.
Выходные данные
Для каждого типа входных данных создается запись с данными о типеApplicationInsights. Записи ApplicationInsights обладают свойствами, приведенными в следующих разделах.
Универсальные поля
Свойство | Описание |
---|---|
Тип | ApplicationInsights |
ClientIP | |
TimeGenerated | Время создания записи |
ApplicationId | Ключ инструментирования приложения Application Insights |
ApplicationName | Имя приложения Application Insights |
RoleInstance | Идентификатор узла сервера |
DeviceType | Устройство клиента |
ScreenResolution | |
Continent | Континент, на котором создан запрос |
Страна или регион | Страна/регион, где создан запрос |
Province | Провинция, область или район, в котором создан запрос |
City | Город, в котором создан запрос |
isSynthetic | Указывает, был ли запрос создан пользователем или автоматически. True = автоматический метод или false = создан пользователем |
SamplingRate | Процентная доля данных телеметрии, созданных с помощью пакета SDK, отправленного на портал. Диапазон 0,0–100,0. |
SampledCount | 100/(частота выборки). Например, 4 = > 25 %. |
IsAuthenticated | Значение true или false |
OperationID | Элементы с одинаковым идентификатором операций отображаются на портале как связанные элементы. Как правило, это идентификатор запроса. |
ParentOperationID | Идентификатор родительской операции |
OperationName | |
SessionId | Идентификатор GUID для уникальной идентификации сеанса, в котором был создан запрос |
SourceSystem | ApplicationInsights |
Поля со сведениями о доступности
Свойство | Описание |
---|---|
TelemetryType | Доступность |
AvailabilityTestName | Имя веб-теста |
AvailabilityRunLocation | Географический источник HTTP-запроса |
AvailabilityResult | Указывает успешный результат веб-теста |
AvailabilityMessage | Сообщение, прикрепленное к веб-тесту |
AvailabilityCount | 100/(частота выборки). Например, 4 = > 25 %. |
DataSizeMetricValue | 1,0 или 0,0. |
DataSizeMetricCount | 100/(частота выборки). Например, 4 = > 25 %. |
AvailabilityDuration | Время длительности веб-теста (в миллисекундах) |
AvailabilityDurationCount | 100/(частота выборки). Например, 4 = > 25 %. |
AvailabilityValue | |
AvailabilityMetricCount | |
AvailabilityTestId | Уникальный идентификатор GUID веб-теста |
AvailabilityTimestamp | Точная метка времени теста доступности |
AvailabilityDurationMin | Для записей выборки в этом поле отображается минимальная продолжительность веб-теста (в миллисекундах) для представленных точек данных |
AvailabilityDurationMax | Для записей выборки в этом поле отображается максимальная продолжительность веб-теста (в миллисекундах) для представленных точек данных |
AvailabilityDurationStdDev | Для записей выборки в этом поле отображается стандартное отклонение всех значений продолжительности веб-тестов (в миллисекундах) для представленных точек данных |
AvailabilityMin | |
AvailabilityMax | |
AvailabilityStdDev |
Поля со сведениями об исключениях
Тип | ApplicationInsights |
---|---|
TelemetryType | Исключение |
ExceptionType | Тип исключения |
ExceptionMethod | Метод, который создает исключение |
ExceptionAssembly | В сборке указана платформа и версия, а также маркер безопасности открытого ключа |
ExceptionGroup | Тип исключения |
ExceptionHandledAt | Указывает уровень, на котором обработано исключение |
ExceptionCount | 100/(частота выборки). Например, 4 = > 25 %. |
ExceptionMessage | Сообщение исключения |
ExceptionStack | Полный стек исключения |
ExceptionHasStack | Значение true, если исключение содержит стек |
Поля со сведениями о запросах
Свойство | Описание |
---|---|
Тип | ApplicationInsights |
TelemetryType | Запрос |
ResponseCode | HTTP-отклик, отправленный клиенту. |
RequestSuccess | Указывает успешное или неудачное выполнение. True или False. |
RequestID | Идентификатор, позволяющий уникально идентифицировать запрос |
RequestName | GET или POST + базовый URL-адрес |
RequestDuration | Время длительности запроса (в секундах) |
URL-адрес | URL-адрес запроса, не включая узел |
Узел | Узел веб-сервера |
URLBase | Полный URL-адрес запроса |
ApplicationProtocol | Тип протокола, используемого приложением |
RequestCount | 100/(частота выборки). Например, 4 = > 25 %. |
RequestDurationCount | 100/(частота выборки). Например, 4 = > 25 %. |
RequestDurationMin | Для записей выборки в этом поле отображается минимальная продолжительность запроса (в миллисекундах) для представленных точек данных |
RequestDurationMax | Для записей выборки в этом поле отображается максимальная продолжительность запроса (в миллисекундах) для представленных точек данных |
RequestDurationStdDev | Для записей выборки в этом поле отображается стандартное отклонение всех значений продолжительности запросов (в миллисекундах) для представленных точек данных |
Пример поисков журналов
В этом решении нет примеров запросов поиска по журналам, отображаемых на панели мониторинга. Тем не менее пример запросов поиска по журналам с описаниями можно найти в разделе Просмотр сведений о соединителе Application Insights.
Удаление соединителя с помощью PowerShell
В связи с устареванием портала OMS на нем невозможно настроить или удалить существующие подключения. Вы можете удалить существующие соединители с помощью следующего сценария PowerShell. Чтобы выполнить эту операцию вы должны быть владельцем или участником рабочей области и читателем ресурса Application Insights.
$Subscription_app = "App Subscription Name"
$ResourceGroup_app = "App ResourceGroup"
$Application = "Application Name"
$Subscription_workspace = "Workspace Subscription Name"
$ResourceGroup_workspace = "Workspace ResourceGroup"
$Workspace = "Workspace Name"
Connect-AzAccount
Set-AzContext -SubscriptionId $Subscription_app
$AIApp = Get-AzApplicationInsights -ResourceGroupName $ResourceGroup_app -Name $Application
Set-AzContext -SubscriptionId $Subscription_workspace
Remove-AzOperationalInsightsDataSource -WorkspaceName $Workspace -ResourceGroupName $ResourceGroup_workspace -Name $AIApp.Id
Благодаря использованию следующего скрипта PowerShell, который запускает вызов API REST, вы можете получить список приложений.
Connect-AzAccount
$Tenant = "TenantId"
$Subscription_workspace = "Workspace Subscription Name"
$ResourceGroup_workspace = "Workspace ResourceGroup"
$Workspace = "Workspace Name"
$AccessToken = "AAD Authentication Token"
Set-AzContext -SubscriptionId $Subscription_workspace
$LAWorkspace = Get-AzOperationalInsightsWorkspace -ResourceGroupName $ResourceGroup_workspace -Name $Workspace
$Headers = @{
"Authorization" = "Bearer $($AccessToken)"
"x-ms-client-tenant-id" = $Tenant
}
$Connections = Invoke-RestMethod -Method "GET" -Uri "https://management.azure.com$($LAWorkspace.ResourceId)/dataSources/?%24filter=kind%20eq%20'ApplicationInsights'&api-version=2015-11-01-preview" -Headers $Headers
$ConnectionsJson = $Connections | ConvertTo-Json
Этот сценарий требует маркер проверки подлинности носителя, используемый в процессе проверки подлинности в Azure Active Directory. Одним из способов получения токена описан в статье Data Sources — Create Or Update (Источники данных: создание или обновление). Щелкните Попробовать и войдите в свою подписку Azure. Вы можете скопировать маркер носителя из предварительного запроса, как показано на следующем рисунке.
С помощью следующего запроса журнала вы можете получить список приложений.
ApplicationInsights | summarize by ApplicationName
Дальнейшие действия
- Используйте поиск по журналам, чтобы просматривать подробные сведения о приложениях Application Insights.