#.net #azure #.net-core #azure-application-insights
#.net #azure #.net-ядро #azure-application-insights
Вопрос:
Я создал новый экземпляр application insights и установил переменную среды instrumentation key для каждой из моих 11 служб asp dotnet core 2.1. Эти службы предоставляют веб-методы, которые вызываются друг другом вложенным образом.
Анализ приложений включается при запуске, выполняя следующие действия:
services.UseApplicationInsights();
Я вижу, что вызовы всех служб загружаются в Application Insights, и отображаются прямые зависимости — к ним относятся вызовы базы данных и вызовы других веб-служб. Моя проблема в том, что вызовы других служб, похоже, не соотносятся должным образом, поскольку я не вижу разбивки того, что произошло в «дочерней» службе.
Хотя во втором вызове api будут перечислены собственные зависимости, если я просмотрю этот отдельный запрос, их невозможно увидеть в исходном родительском запросе.
Это ожидаемое поведение? Или я ожидаю слишком многого от телеметрии «из коробки».
Спасибо, Марк
Комментарии:
1. Вы также смотрели на ApplicationMap?
2. У меня есть. Это выглядит не совсем так, как я ожидал. Все службы содержатся в одном компоненте, перечисленном как «11 экземпляров», и я вижу различные вызовы БД снаружи. Я полагаю, что это может быть связано с тем, что все запросы маршрутизируются nginx, и поэтому все отдельные службы выглядят как одно приложение. Однако я не уверен, повлияет ли это на корреляцию.
3. Используете ли вы один и тот же ikey для каждого из 11 приложений? И запускали ли вы приложение в течение достаточно долгого времени — если вы еще не пробовали, дайте приложению поработать хотя бы несколько секунд.
4. Да, для каждого приложения используется один и тот же ключ инструментария. Я вижу запросы, зарегистрированные из всех 11 приложений, и все они работают уже около недели.
5. ОК. Это должно было сработать по умолчанию. Я рекомендую открыть проблему в продукте github: github.com/Microsoft/ApplicationInsights-aspnetcore/issues/new