У меня есть функция Azure, которая каждые 4 часа выполняет запрос к базе данных и записывает журналы в аналитические данные приложений в случае обнаружения ошибок. Я создаю правило Azure Alert с помощью этого запроса:
union traces, exceptions
| where message startswith "Reconciliation error" or message startswith "Reconciliation check failed"
Цель: запускать каждые 4 часа, запрашивать последние 5 часов и, если что-то есть, поднимать оповещение.
Установка детализации правила оповещения: 5 часов и частоты оценки: 4 часа означает, что будет скользящее окно , но я просто хочу запускать его каждые 4 часа. Можно ли вместо этого добиться функциональности прыгающего окна?
Примечание. На этой странице документации указан период ретроспективного анализа: «Выберите, как далеко назад нужно смотреть при каждой проверке данных. Например, каждую 1 минуту оглядывайтесь назад на 5 минут». но я не вижу такой возможности на портале
Вы можете обратиться к этому MS Docs , чтобы проверить опцию «Период ретроспективного анализа» в оповещении. Эта опция будет доступна, если вы выберете какие-либо показатели. вот опция. Вы можете использовать Logic Apps для выполнения своих требований.
Примечание. В этом документе указан период ретроспективного анализа: «Выберите, как далеко назад нужно смотреть при каждой проверке данных. Например, каждую 1 минуту оглядывайтесь назад на 5 минут». но я не вижу такой возможности на портале
Параметр «Период ретроспективного анализа» будет доступен только для оповещений метрик, но не для оповещений поиска по журналам. Следуйте инструкциям MS Docs, чтобы проверить параметр «Период ретроспективного анализа» в оповещении.
При использовании custom log search
параметр «Период ретроспективного анализа» не будет отображаться в Portal
, вместо этого вы можете установить диапазон времени переопределения запроса в разделе «Дополнительно».
Если вам нужен более детальный контроль запрашиваемого периода времени, вы можете использовать запрос, например:
query | where timestamp > ago(5h)
Обратите внимание, что при этом автоматически будет установлено значение «Переопределить диапазон времени запроса» (максимум 2 дня), поскольку именно это в конечном итоге определяет, сколько вы действительно можете запросить.
Так как же можно создать оповещение на основе прыгающего окна журналов?
Вы можете использовать временную метку в запросе | где timestamp >ago(5h) , Azure Monitor будет проверять журналы за последние 5 часов во время каждой оценки и частоту оценки оповещений каждые 4 часа. Оповещения будут срабатывать, если в течение этого 5-часового окна будут найдены соответствующие журналы, но любые проблемы будут устранены. обнаружены и предупреждены в течение 4 часов после их возникновения из-за интервала оценки.
Я думал, что правило оповещения автоматически фильтрует последнее количество часов «Детализация правила оповещения»? Я ошибаюсь или это поведение меняется при указании метки времени в самом запросе?
Спасибо за помощь. Я отредактировал вопрос, чтобы ответить на случай поиска по журналам, о котором я спрашивал. После тестирования поведения правила оповещения я обнаружил, что фактический параметр, на который следует обратить внимание, — это «Переопределить диапазон времени запроса» в разделе «Дополнительно», к сожалению, недокументированный, насколько я смог найти в msdn.
Привет @NichitaCebotari, твоя проблема решена или все еще сталкиваешься с проблемами?
Я ждал, пока редактирование будет одобрено. Принял ответ
При использовании пользовательского поиска по журналам параметр «Период обзора» не будет отображаться на портале; вы должны указать его в своем запросе. Согласно MS Doc Период ретроспективного анализа будет поддерживать только оповещения о метриках, а не оповещения о поиске в журнале.