Как отправить данные телеметрии из настраиваемой конечной точки в Azure Application Insight

Я работаю с приложением WPF с архитектурой клиент-сервер, мы не предоставляем Интернет для клиентских машин, поэтому я реализовал телеметрию приложения в клиентском приложении WPF с настраиваемой конечной точкой, и он будет отправлять на наш локальный сервер (локально), теперь я хочу отправить эту телеметрию данные в лазурное облако (сервер подключен к Интернету)


person Muhammed Afsal    schedule 25.08.2020    source источник
comment
удалив тег workbooks, речь идет о телеметрии, но не имеет никакого отношения к книгам (вы бы использовали книги для анализа телеметрии, а не отправки телеметрии)   -  person John Gardner    schedule 26.08.2020


Ответы (1)


В зависимости от того, на каком языке / платформе написано ваше локальное серверное приложение, вы можете выбрать соответствующий Application Insights SDK и написать собственный код с помощью TelemetryClient для отправки телеметрии в аналитические данные приложения.

ОБНОВЛЕНИЕ при последующих действиях: на стороне клиента вы можете сериализовать весь объект телеметрии, как показано ниже, а затем выполнить POST в свою настраиваемую конечную точку.

var traceTelemetry = new TraceTelemetry("test message", SeverityLevel.Critical);
traceTelemetry.Context.Cloud.RoleInstance = "test";
var traceTelemetrySerialized = JsonConvert.SerializeObject(traceTelemetry);

Затем вы можете десериализовать в конце службы, а затем отправить в AI:

var traceTelemetryDeserialized = JsonConvert.DeserializeObject<TraceTelemetry>(traceTelemetrySerialized);
telemetryClient.TrackTrace(traceTelemetryDeserialized);
person krishg    schedule 25.08.2020
comment
Вы знаете, что такое класс Transmission, как он работает? github.com/microsoft/ApplicationInsights-dotnet/blob/develop/ - person Muhammed Afsal; 26.08.2020
comment
Это часть канала телеметрии в SDK. Он обрабатывает передачу телеметрии в службу Application Insights. docs.microsoft.com/en-us/azure/ лазурный монитор / приложение / - person krishg; 26.08.2020
comment
проверьте это github.com/microsoft/ApplicationInsights-dotnet/issues/2003 У тебя есть идеи, как реализовать это - person Muhammed Afsal; 26.08.2020
comment
Не знаю, как использовать этот класс передачи нижнего уровня в коде приложения (нет общедоступной документации). Я бы предпочел TelemetryClient docs.microsoft .com / en-us / azure / azure-monitor / app / для отправки журнала (трассировка / событие / исключение / запрос / зависимость и т. д.) в аналитические данные приложения после получения тела POST из запроса настраиваемой службы. Просто и легко, чем пытаться играть с классом SDK более низкого уровня. - person krishg; 26.08.2020
comment
но этот метод принимает только несколько параметров и другие данные телеметрии из системы, поэтому мы потеряем фактическую информацию телеметрии и вместо этого получим сведения о сервере - person Muhammed Afsal; 26.08.2020
comment
Я не думаю, что ты что-нибудь потеряешь. Проверьте мой ответ, добавленный выше, из-за ограничений в комментариях. - person krishg; 26.08.2020
comment
Давайте продолжим это обсуждение в чате. - person krishg; 26.08.2020
comment
пожалуйста проверьте чат - person Muhammed Afsal; 29.08.2020