Что Azure считает ошибкой при мониторинге функций? - PullRequest
0 голосов
/ 25 января 2019

Я запускаю следующую простую функцию, чтобы проверить, как работает мониторинг в приложении Function.Если моя функция возвращает код состояния «400», то в разделе «Мониторинг» (а затем и в «Приложении») она помечает выполнение как успешное.Кроме того, если он выдает и ловит ошибку, все равно помечается как успешная.Если он выдает ошибку, но не перехватывает ее, то он обнаруживает и считает ее ошибкой (но этот случай не распространен, так как в реальном приложении всегда нужно отлавливать возможные ошибки).

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

  2. В Application Insight есть ли в любом случае сортировка запросов на основе их кода состояния ответа?Например, есть ли посмотреть, сколько 500 запросов было возвращено из отдельной функции?

module.exports = async function (context, req) {

    if (req.query.name || (req.body && req.body.name)) {
        context.res = {
            body: "Hello " + (req.query.name || req.body.name)
        };
    } else {
        // only if following line is uncommented, it counts the funciton execution as error
        // throw new Error('this is a test error')

        try {
            throw new Error('this is a test error')
        } catch (e) {
            // in this case, it counts the function execution as successfull
            return context.res = {
                status: 500,
                body: "caught the internal error"
            };
        }
        // in this case, counts the function execution as successfull
        return context.res = {
            status: 400,
            body: "didn't catch the error. Please pass a name on the query string or in the request body"
        };

    }
};

1 Ответ

0 голосов
/ 28 января 2019

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

Да, вы правы. За подробностями вы можете обратиться к этой проблеме .

В Application Insight, есть ли возможность сортировать запросы по их коду статуса ответа?Например, есть ли в любом случае, чтобы узнать, сколько 500 запросов было возвращено от отдельной функции?

Вы можете использовать аналитику аналитики приложения, чтобы заархивировать свою цель, напишите простой запрос, как показано ниже:

requests 
| where name ="your function app name"
| where resultCode =="500 or other status code"
| count

Результат, как показано ниже:

enter image description here

Примечание. Если вы не знаете, как перейти к аналитике аналитики, выполните следующие действия.:

1.Найдите сведения о вашем приложении (связанные с приложением-функцией) на портале Azure -> обзорный блейд -> на верхней панели, выберите параметр Analytics.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...