Как получить уведомление о новых (уникальных) ошибках - PullRequest
0 голосов
/ 01 октября 2019

Полезной функцией служб мониторинга приложений является отправка оповещений (например, электронных писем) каждый раз, когда возникает новая, уникальная ошибка / проблема / исключение (т. Е. Не для каждого вхождения). Либо только в первый раз, либо не более одного раза за X раз (день или неделю или около того). Это возможно, например, в Visual Studio App Center. К сожалению, мне не удалось найти ни одной такой функции в Application Insights.

Для пояснения, «новая, уникальная ошибка / проблема / исключение» может рассматриваться в качестве специального оператора журнала в коде. Я использую Serilog, поэтому все зарегистрированные трассировки / исключения имеют свойство MessageTemplate, которое может помочь. Но в идеале «идентификатор проблемы» также должен основываться на расположении кода (поскольку несколько операторов журнала могут использовать один и тот же шаблон сообщения).

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

Является ли что-то похожее на поведение, которое я описываюможно ли достичь с помощью Application Insights? Если это возможно с помощью пользовательского запроса, как может выглядеть такой запрос?

1 Ответ

0 голосов
/ 02 октября 2019

Только с помощью пользовательского интерфейса портала Azure трудно или невозможно выполнить ваше первое требование: оповещать только в первый раз. Но вы можете попытаться использовать app insights rest api для извлечения данных, а затем использовать код для реализации вашей логики.

Существует аналогичное решение (не совсем то, что вы описали) для предупреждения один разза X раз. Шаги, как показано ниже:

1.Название на портал Azure -> Инсайты вашего приложения -> Оповещения -> Новое правило оповещений -> в Условии, нажмите кнопку Добавить ->, затем выберите «Выборочный поиск по журналу»

2.В текстовом поле «поисковый запрос» напишите свой запрос, как показано ниже:

exceptions
| where xxxx

Обратите внимание, что в предложении where используйте некоторые свойства для определения уникальной ошибки.

3. Затем в «Логике оповещения» используйте следующие настройки: На основе: Количество результатов, Оператор: Больше чем, Пороговое значение: 0

4.В «Оценено на основе»установите правильное значение для периода (максимальное значение составляет 2880 минут) / частоты (максимальное значение составляет 1440 минут).

Таким образом, если вы хотите, чтобы предупреждение 1 раз в день, вы можете установить период на 1440 минут, установитеЧастота до 1440 минут. Но вы также должны заметить, что если на следующий день такой указанной ошибки не будет, она не сработает на следующий день.

...