Azure Log Analytics - Советы по оповещению - PullRequest
0 голосов
/ 25 марта 2019

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

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

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. Я не знаюНе понимаю, почему временное окно также необходимо для этого, потому что я просто хочу запускать код каждые пять минут и оповещать, если он обнаруживает более двух экземпляров этого события.

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

Ответы [ 2 ]

0 голосов
/ 26 марта 2019

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

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

enter image description here

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

enter image description here

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

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

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

enter image description here

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

Надеюсь, это прояснит !! Ура !!

0 голосов
/ 25 марта 2019

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

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

«1» в этом примере запроса - это времяфрейм, с которым мы агрегируем и получаем выходные данные из репозитория рабочей области 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

Надеюсь, это поможет!Ура !!:)

...