Azure Log Analytics - советы по оповещениям

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

У меня есть код ниже:

Event | where Source == "EventLog" and EventID == 6008 | project TimeGenerated, Computer | summarize AggregatedValue = count(TimeGenerated) by Computer, bin_at(TimeGenerated,24h, datetime(now()))
For time window : 24/03/2019, 09:46:29 - 25/03/2019, 09:46:29

В приведенном выше описании интерфейса конфигурации предупреждений о добавлении «bin_at (TimeGenerated, 24h, datetime (now ()))» я добавляю функцию, передавая аргументы для 24-часового периода времени. Если вы уже добавляете это, то каков момент временных рамок.

В основном результат, который я ищу, - это захват этого события в течение 24-часового периода и предупреждение, когда количество событий превышает 2. Я не понимаю, почему временное окно также необходимо поверх этого, потому что я просто хочу запустить код каждые пять минут и предупреждать, если обнаруживает более двух экземпляров этого события.

Может кто-нибудь помочь с этим?


person OptimusPrime    schedule 25.03.2019    source источник


Ответы (2)


AFAIK вы можете использовать запрос, похожий на показанный ниже, чтобы выполнить ваше требование захвата необходимого события в течение 24 часов.

Event 
| where Source == "EventLog" and EventID == 6008 
| where TimeGenerated > ago(24h)
| summarize AggregatedValue= any(EventID) by Computer, bin(TimeGenerated, 1s)

«Единицы» в этом примере запроса - это временные рамки, за которые мы собираем и получаем выходные данные из репозитория рабочей области Log Analytics. Для получения дополнительной информации см. https://docs.microsoft.com/en-us/azure/kusto/query/summarizeoperator

А чтобы создать оповещение, вам, возможно, придется перейти на портал Azure -> YOURLOGANALYTICSWORKSPACE -> Плитка мониторинга -> Оповещения -> Правила оповещения менеджера -> Новое правило оповещения -> Добавить условие -> Пользовательский поиск в журнале -> Вставить любое из вышеперечисленных запросы в разделе «Поисковый запрос» -> Введите «2» в параметре «Пороговое значение» в разделе «Логика предупреждений» -> Нажмите «Готово» -> В разделе «Группы действий» выберите существующую группу действий или создайте новую как объяснено в указанной ниже статье -> Обновите «Сведения об оповещении» -> Нажмите «Создать правило оповещения».

https://docs.microsoft.com/en-us/azure/azure-monitor/platform/action-groups

Надеюсь это поможет!! Ваше здоровье!! :)

person KrishnaG-MSFT    schedule 25.03.2019
comment
Приведенный ниже запрос работает, так как я получаю количество событий за последние 24 часа, предупреждения настаивают на добавлении функции корзины, так что это будет более 24 часов? - person OptimusPrime; 25.03.2019
comment
Событие | где Source == EventLog и EventID == 6008 | где TimeGenerated ›назад (24ч) | суммировать AggregatedValue = count (EventID) по компьютеру - person OptimusPrime; 25.03.2019
comment
Большое спасибо за вашу помощь в этом, я поиграю с различными настройками и посмотрю, какие результаты я получу. - person OptimusPrime; 27.03.2019

Чтобы ответить на ваш вопрос в части комментариев, да, предупреждение настаивает на добавлении функции bin, и именно поэтому я предоставил соответствующий запрос вместе с функцией bin, указав «1», и попытался объяснить это в моем предыдущем ответе.

Если вы поместите «1s» в функцию bin, вы получите вывод из Log Analytics, агрегировав значение любого EventID за промежуток времени в 1 секунду. Таким образом, вывод будет выглядеть примерно так, как показано ниже, где aaaaaaa рассматривается как имя виртуальной машины, а x рассматривается как конкретное время.

введите здесь описание изображения

Если вы укажете «24 часа» вместо «1 с» в функции bin, вы получите вывод из Log Analytics путем агрегирования значения любого EventID за период времени 24 часа. Таким образом, вывод будет выглядеть примерно так, как показано ниже, где aaaaaaa рассматривается как имя виртуальной машины, а x рассматривается как конкретное время.

введите здесь описание изображения

Таким образом, в этом случае мы не должны использовать функцию «24 часа» в функции bin вместе с агрегацией «any», потому что, если мы будем использовать ее, мы увидим только одно появление вывода за 24 часа, и это не поможет вам узнать счетчик событий с использованием предоставленного выше запроса, имеющего значение «any» для агрегирования. Вместо этого вы можете использовать агрегацию «count» вместо «any», если хотите, чтобы в функции bin было «24 часа». Тогда этот запрос будет выглядеть примерно так, как показано ниже.

Event 
| where Source == "EventLog" and EventID == 6008 
| where TimeGenerated > ago(24h)
| summarize AggregatedValue= count(EventID) by Computer, bin(TimeGenerated, 24h)

Результат этого запроса будет выглядеть примерно так, как показано ниже, где aaaaaaa рассматривается как имя виртуальной машины, x рассматривается как конкретное время, y и z рассматриваются как некоторые числа.

введите здесь описание изображения

Еще одно замечание: все вышеупомянутые запросы и выходы находятся в контексте настройки предупреждения на основе агрегированного значения, то есть настройки предупреждения при выборе «метрического измерения» в логике предупреждения на основе раздела. Другими словами, столбец агрегированного значения ожидается в запросе предупреждения, если вы выберете «измерение метрики» в логике предупреждения на основе раздела. Но когда вы говорите «вы получаете количество событий», это означает, что если я не ошибаюсь, возможно, вы выбираете «количество результатов» в логике предупреждений на основе раздела, для чего не требуется какой-либо столбец агрегации в запросе.

Надеюсь, это проясняет !! Ваше здоровье!!

person KrishnaG-MSFT    schedule 26.03.2019
comment
Думаю, мне нужно что-то вроде Event | где Source == EventLog и EventID == 6008 | проект TimeGenerated, Компьютер | суммировать AggregatedValue = count (TimeGenerated) компьютером | где AggregatedValue ›2 - person OptimusPrime; 26.03.2019
comment
и установить оповещение по количеству результатов более одного. Поиграю с настройками. - person OptimusPrime; 26.03.2019
comment
Я понял! Таким образом, вы можете просто создать предупреждение, перейдя на портал Azure - ›LAWORKSPACE -› Плитка мониторинга - ›Предупреждения -› Правила предупреждений менеджера - ›Новое правило предупреждений -› Добавить условие - ›Пользовательский поиск по журналу -› Вставить запрос ниже в разделе «Поисковый запрос» раздел - ›Выберите« измерение метрики »в логике предупреждений на основе раздела и введите« 2 »в параметре« Пороговое значение »в разделе« Логика предупреждений »-› Нажмите «Готово» - ›В разделе« Группы действий »выберите группу действий. - ›Обновите« Сведения об оповещении »-› Нажмите «Создать правило оповещения». - person KrishnaG-MSFT; 26.03.2019
comment
Событие | где Source == EventLog и EventID == 6008 | где TimeGenerated ›назад (24ч) | суммировать AggregatedValue = count (EventID) по компьютерам, bin (TimeGenerated, 24h) - person KrishnaG-MSFT; 26.03.2019
comment
Большое спасибо за вашу помощь в этом, я поиграю с различными настройками и посмотрю, какие результаты я получу. - person OptimusPrime; 27.03.2019