ОБНОВЛЕНИЕ :
фактическая проблема отличается от того, что я описал.Я предоставлю и обновлю / отредактирую этот тикет, как только мы решим проблему.Более подробную информацию можно найти в этой теме - https://techcommunity.microsoft.com/t5/Azure-Log-Analytics/Reliably-trigger-alerts-for-Log-Analytics-log-entries/m-p/319315/highlight/false#M1224
Оригинальный вопрос :
Мы используем Azure Monitor
для создания оповещений на основе журналов в Log Analytics
.Для этого мы выбираем нашу учетную запись Log Analytics как «РЕСУРС», затем выбираем «Сигнал пользовательского поиска по журналу» для «СОСТОЯНИЕ».Логика оповещения - «Количество результатов больше 0».
Пример запроса:
search *
| where ResourceProvider == "MICROSOFT.DATAFACTORY" and status_s == "Failed"
Для Period
и Frequency
можно задать 15
минут.Все выглядит просто, но ...
Проблема : описанная выше установка не работает (она работает иногда ), потому что оповещения срабатывают только иногда, многоиз них пропущены, что является совершенно неприемлемым поведением.
Если мы установим Period = Frequency = 5
минут, мы в основном пропускаем почти каждое событие.Period = Frequency = 15
минут работает лучше, но все же многие события отсутствуют.Period = Frequency = 30
работает даже лучше, но все это выглядит странно.
Важное замечание - журналы собираются из Data Factory V2
в Log Analytics
.Я подозреваю, что пропуски предупреждений связаны с тем, что журналы доставляются на Log Analytics
с некоторой задержкой (до нескольких минут).Поэтому, когда Azure Monitor
оценивает запрос оповещения за последние 15
минуты (Period=15
), может случиться так, что большинство повторно отправленных записей журнала все еще не находятся в Log Analytics
.Когда следующая оценка запроса будет выполнена через 15
минут , она пропустит журналы, которые были введены с задержкой на предыдущий 15
минутный интервал .Это предположение верно?Если это так, то это очень странно - как нам тогда настраивать значения Period
и Frequency
?Если я установлю Period > Frequency
(например, Period = 30
и Frequency = 5,
, что означает «оценивать выражение каждые 5 минут, получать данные за последние 30 минут с текущего времени»), то мы получим несколько дублированных предупреждений, поскольку Period
больше Frequency
поэтому существует большая вероятность, что поисковый запрос журнала будет возвращать одни и те же записи журнала каждые 5
минут - это крайне нежелательное поведение.