Функция Azure не регистрирует пользовательские события для понимания приложения - PullRequest
0 голосов
/ 30 августа 2018

Я создал функцию Azure, активированную служебной шиной, и хочу регистрировать пользовательские события в аналитических материалах приложения.

 private static string key = TelemetryConfiguration.Active.InstrumentationKey =
            System.Environment.GetEnvironmentVariable(
                "APPINSIGHTS_INSTRUMENTATIONKEY", EnvironmentVariableTarget.Process);

        private static TelemetryClient telemetryClient =
            new TelemetryClient() { InstrumentationKey = key };

        [FunctionName("Function1")]
        public static void Run([ServiceBusTrigger("xxxxx", "xxxxx", AccessRights.Manage, Connection = "SBConnectionKey")]string mySbMsg, ILogger logger, TraceWriter log)
        {
            log.Info($"C# ServiceBus topic trigger function processed message: {mySbMsg}");

            telemetryClient.Context.Cloud.RoleName = "AIFunction";
            logger.LogMetric("test", 123);

            telemetryClient.TrackEvent("Ack123 Recieved");
            telemetryClient.TrackMetric("Test Metric", DateTime.Now.Millisecond);
       }

Я вижу только log.Info($"C# ServiceBus topic trigger function processed message: {mySbMsg}"); этот журнал в трассировке. Но пользовательские события и метрики не отражают информацию о приложении. Есть идеи, что может происходить?

1 Ответ

0 голосов
/ 01 сентября 2018

Отвечая на ваш явный вопрос:

Что не так с отправляемой мной телеметрией или где ее найти на портале Application Insights?

Я создал функцию с почти таким же кодом и протестировал. Вы можете проанализировать репо . Я развернул функцию и получил следующие результаты:

Event found through query

Metric found through query

Отвечая на ваш неявный вопрос:

Как использовать Application Insights?

Поначалу сложно использовать язык запросов App Insights, я нашел этот лаконичный файл полезным. Другие элементы, которые следует учитывать при работе с этим инструментом мониторинга:

  1. между отправкой телеметрии существует отставание, и вы видите это на портале для анализа приложений. Мониторинг в режиме реального времени будет дорогостоящим инструментом.
  2. В прошлом я сталкивался с той же проблемой, и проблема заключалась в том, что имя события / метрики не было найдено в имени телеметрии, но где-то в деталях. Эта проблема , возможно, относится к ней. Итак, мы решили добавить больше деталей и использовать этот метод и MetricTelemetry class.
  3. Несмотря на то, что Application Insights может показаться запутанным, это мощный инструмент, но стоит потратить время на изучение.
...