Всем Здравствуйте, снова нужна ваша помощь, есть Zabbix server 7.2.5, есть Windows Server 2019 на нем установлен Zabbix Agent 7.2.3, Windows Server 2019 выполняет роль обменника в организации, каждую неделю делаются резервные копии обменика, весь процесс сделать через Bat файлы. Я на данном сервере сделал Active checks . после этого создал два Item первый на запуск действия, чтоб Zabbix Agent мониторил определенный события в журнале событий Windows. а именно 102 на завершение и 200 на запуск, расписания сделаны в планировщике задач. скрины прилагаются . Далее я создал два itema c названием и key, первый назвал Task Scheduler: Task Started когда запустилось действие, вот содержимое Item Второй item Task Scheduler: Task Completed на окончание процесса. Содержимое его тоже в фото прикладываю . Теперь про Тригерры, можно ли вообще сделать так, чтоб срабатывал триггер на 200 и 102 OID с журнала Windiows? когда запустились рез. коп сработал триггер условно что событие 200 запустилось, и событие 102 окончилось, я создал 2 триггера но они не работают, если нужны скрины могу тоже скинуть, кто-то может мне сказать, так ты создай Триггер на обноружения CMD . я так делал, когда запускаются рез копии. соответственно запускается CMD и триггер срабатывает когда видит его в процессах, и тоже самое когда он через 2 дня(столько делаются копии по времени) и через 2 дня срабатывает триггер что CMD нет в процессах, но почему мне не нравится этот момент, триггер работает постоянно, в системе нет Cmd и висит ошибка, что CMD Не запущен в системе, я не нашел решения чтоб он разово срабатывал, вообще может кто-то делал по другому процесс отслеживания рез.копий ? в общем нужна ваша помощь. чуть не забыл, вот что отображается у меня в Latest data
Ad Widget
Collapse
Нужна помощь в создание Триггера на события с Журнала Событий Windows
Collapse
This topic has been answered.
X
X
-
Answer selected by Kos at 03-04-2025, 19:00.
Как бы такую задачу решал я:- сделал бы не два, а один item, который собирает значения для EventID 200 и 102 (на запуск и завершение):
Code:eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"]
- такой элемент данных будет собирать все записи, относящиеся как к началу работы, так и к окончанию работы каждого из бэкапных заданий; далее остаётся настроить триггер с корреляцией событий - аналогично тому, как приведено в примере документации (ссылка).
- настраиваем триггер, который срабатывает на начало бэкапного задания:
Code:find(/srv00-services/eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"],,"like","запустил")=1
- прописываем в этом же триггере условие восстановления:
Code:find(/srv00-services/eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"],,"like","завершил")=1
- указываем параметры "Режим генерации событий ПРОБЛЕМА: Множественный" и "ОК событие закрывает: Все проблемы если значения тегов совпадают";
- настраиваем тег, значением которого будет имя бэкапного задания (извлекается из строки журнала, извлекаем часть строки внутри кавычек после подстроки " задачи "):
Имя тега Значение task {{ITEM.VALUE}.regsub("^.* задачи \"([^\"]+)\".*$","\1")} - указываем имя тега для сопоставления событий (поле "Tag for matching:" -> наш тег "task").
Альтернативный подход - раз уж у нас запускаются батники, то просто в самих батниках использовать вызов утилиты zabbix_sender, чтобы отсылать на сервер Zabbix признак начала работы конкретной задачи (допустим, число "-1") и код завершения этой задачи по её окончании (ноль - успешный, положительное число - какая-то ошибка). Такой подход у нас тоже успешно используется, только нужно либо на стороне сервера Zabbix руками создавать соответствующие элементы данных и триггеры для них, либо прикручивать LLD (ссылка).
Last edited by Kos; 02-04-2025, 14:38.- Selected Answer
-
Вот скриншоты с Latest data по двум Item . Либо я слишком сильно заморачиваю и есть легкий способ отслеживать процесс рез.копий, опять же кто-то скажет,создай триггер на загрузку диска и тд, уже советовали, сделай опрос час два,чтоб каждые 5 мин уведомления не приходили в Telegram. тоже не охота менять время опроса диска,со стандартного Шаблона, нужны ваши идеи, Спасибо заранееLast edited by Pochinok; 02-04-2025, 04:21.Comment
-
Как бы такую задачу решал я:- сделал бы не два, а один item, который собирает значения для EventID 200 и 102 (на запуск и завершение):
Code:eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"]
- такой элемент данных будет собирать все записи, относящиеся как к началу работы, так и к окончанию работы каждого из бэкапных заданий; далее остаётся настроить триггер с корреляцией событий - аналогично тому, как приведено в примере документации (ссылка).
- настраиваем триггер, который срабатывает на начало бэкапного задания:
Code:find(/srv00-services/eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"],,"like","запустил")=1
- прописываем в этом же триггере условие восстановления:
Code:find(/srv00-services/eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"],,"like","завершил")=1
- указываем параметры "Режим генерации событий ПРОБЛЕМА: Множественный" и "ОК событие закрывает: Все проблемы если значения тегов совпадают";
- настраиваем тег, значением которого будет имя бэкапного задания (извлекается из строки журнала, извлекаем часть строки внутри кавычек после подстроки " задачи "):
Имя тега Значение task {{ITEM.VALUE}.regsub("^.* задачи \"([^\"]+)\".*$","\1")} - указываем имя тега для сопоставления событий (поле "Tag for matching:" -> наш тег "task").
Альтернативный подход - раз уж у нас запускаются батники, то просто в самих батниках использовать вызов утилиты zabbix_sender, чтобы отсылать на сервер Zabbix признак начала работы конкретной задачи (допустим, число "-1") и код завершения этой задачи по её окончании (ноль - успешный, положительное число - какая-то ошибка). Такой подход у нас тоже успешно используется, только нужно либо на стороне сервера Zabbix руками создавать соответствующие элементы данных и триггеры для них, либо прикручивать LLD (ссылка).
Last edited by Kos; 02-04-2025, 14:38.- Selected Answer
Comment
-
Kos В очередной раз выручаете меня, вот только что стал читать про значение find в документации , уже сделал кривой косой триггер и он работает(не совсем как нужно но работает) на сервере что-то делать нет возможности и времени,опять же, что-то не так сделаю и потом сидеть мучаться. лучше я расмотрю ваш вариант под № 1 я думаю он меня полностью устроит, + я начал по документацией в эту сторону уже копать самостоятельноComment
-
Kos а вы можете глянуть,верно ли я в триггере указал значения?
и по- настраиваем тег, значением которого будет имя бэкапного задания (извлекается из строки журнала, извлекаем часть строки внутри кавычек после подстроки " задачи "):
Имя тега Значение task {{ITEM.VALUE}.regsub("^.* задачи "([^"]+)".*$","\1")} - указываем имя тега для сопоставления событий (поле "Tag for matching:" -> наш тег "task").
создал один item как вы написали, указал ключ который вы тут указали, свои пока отключил,вот теги(tags) ни разу не делал, и тут у меня трудности,не совсем догоняю что нужно указывать? имя я указываю task? И следующий значение, мне тут нужно что-то указать с Журнала событий? и в Тегах скажите верно указал? или бред полный?) я запустил тест рез.коп. триггер сработал, и отображается почему-то вот так. после того я как я принудительно остановил рез копии, у меня выглядит вот так. то есть я так понимаю, закрывать их придется в ручную всегда? т.к я нажал закрыть проблему, она закрылась и все ок, или опять же, я что-то не то указал и она должна закрываться в автоматическом режиме?Last edited by Pochinok; 02-04-2025, 10:40.Comment
-
Хмм...Kos а вы можете глянуть,верно ли я в триггере указал значения?
Да, это сделано верно.создал один item как вы написали, указал ключ который вы тут указали
Всё остальное (то, что касается триггера) - мягко говоря, не очень:- в формулах триггерных выражений (как выражение проблемы, так и выражение восстановления) написано не то (причём, оба выражения почему-то одинаковые). Я же указал, что там должно быть - достаточно просто скопипастить, как тут можно ошибиться?
- в качестве значения тега с именем "task" указано, опять-таки, не совсем то, что у меня;
- в качестве значения тега event_type указан бред, да и весь этот тег для данной задачи не нужен;
- параметр триггера "OK событие закрывает" у вас тоже имеет не то значение. После того как переставите его в значение "Все проблемы если значения тегов совпадают", появится дополнительное поле, в котором нужно указать имена этих совпадающих тегов - вот там и нужно будет вбить имя тега "task" (без кавычек).
Comment
-
[*]настраиваем триггер, который срабатывает на начало бэкапного задания:[/LIST]Code:find(/srv00-services/eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"],,like,"запустил")=1
- прописываем в этом же триггере условие восстановления:
find(/srv00-services/eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"],,like,"завершил")=1
я подумал что это был просто пример, по этому и подумал что тут нужно указывать другое значение, вот смотрите, я грубо говоря тупо все скопировал как вы написали,и получается вот что,не нравится ему . Видимо мне документация дается тяжалее чем вот такая дискуссия и помощь от человека, вы сразу указываете на проблемы. вот я сделал как вы писали, и результат- в качестве значения тега event_type указан бред, да и весь этот тег для данной задачи не нужен;
- параметр триггера "OK событие закрывает" у вас тоже имеет не то значение. После того как переставите его в значение "Все проблемы если значения тегов совпадают", появится дополнительное поле, в котором нужно указать имена этих совпадающих тегов - вот там и нужно будет вбить имя тега "task" (без кавычек).
Last edited by Pochinok; 02-04-2025, 13:38.Comment
-
Kos а вот сейчас смотрите,он триггер обновил,вроде все с нуля внимательно написал, и обновился он и не ругается, получается вот это условие верное?
проверить сейчас не смогу работу триггера на срабатывание, из дома просто работаю, и на одном мониторе не удобно все это делать. если скажите что да все верно, завтра утром проверю и отпишусь тут.Last edited by Pochinok; 02-04-2025, 15:17.Comment
-
Kos Опять же хочу выразить вам громадное спасибо, проверил я работу триггера, все работает идеально и как нужно, запустил две задачи в планировщике, сработал триггер и в дашборде показывает два значения, остановил один процесс, выражение завершил, пропал, первый работает который запустить, закрыл его, и триггер закрылся сам, то есть все работает как надо, Kos я каждый раз вас буду благодарить, уже три раза мне помогли, понимаю что все есть в документацией, но что-то она мне дается сложно, вы все на пальцах объяснили, я теперь уже понимаю что он ищет,на что ссылается и тд. спасибо вамComment
-
Да, сейчас выглядит всё верно. Ну, за исключением косметики: имя и важность триггера, но это вы уже настроите по своему усмотрению.Kos а вот сейчас смотрите,он триггер обновил,вроде все с нуля внимательно написал, и обновился он и не ругается, получается вот это условие верное?
Надеюсь, что выражение для значения тега (там используется макрофункция с регулярным выражением) указано верно: если всё правильно, то при старте каждого бэкапа триггер должен генерировать отдельное событие "Проблема", у которого в качестве значения тега "task" будет название этого бэкапного задания. Если это не так (и значением тега окажется какая-нибудь фигня), значит, немного промахнулись с регулярным выражением и придётся его подкорректировать.
Comment
-
Да, сейчас выглядит всё верно. Ну, за исключением косметики: имя и важность триггера, но это вы уже настроите по своему усмотрению.
Надеюсь, что выражение для значения тега (там используется макрофункция с регулярным выражением) указано верно: если всё правильно, то при старте каждого бэкапа триггер должен генерировать отдельное событие "Проблема", у которого в качестве значения тега "task" будет название этого бэкапного задания. Если это не так (и значением тега окажется какая-нибудь фигня), значит, немного промахнулись с регулярным выражением и придётся его подкорректировать.
[/QUOTE]
По поводу косметики, важности и имени завтра уже буду решать, у меня как раз пятница суббота будут запускаться резервные копии, ваши опасения и замечания я понимаю, давайте так, у меня как пройдет весь процесс копирование, если будут какие-то недочеты или проблемы, я могу отписаться тут уже, главное чтобы вы зашли в этот пост и обратили внимание. новый пост потом создавать не охота, ну или если вам в личку написать?Comment
-
Да, напишите тут потом - только отдельной репликой, а не комментарием к какой-то из прежних реплик.
Когда добавляешь в обсуждение новую реплику - вся ветка обсуждения обновляется, и на форуме сразу видно, что уже читал, а что нет (и даже можно в каждой ветке перейти на первое непрочитанное в ней сообщение, чем я обычно и пользуюсь).
А вот когда добавляешь комментарий к существующей реплике - этого не видно никому, если только сам туда специально не зайдёшь. Форумный движок пытается отсылать по email уведомления тому участнику, чью реплику комментируешь, но это работает крайне ненадёжно - если такое сообщение даже и доходит до почтового ящика через неделю, то частенько классифицируется как спам
Comment
-
Я вас услышал, так и сделаю тогда, по поводу уведомлений, то же с вами согласен, порой в течение 3-5 дней приходят на почту уведомления. вообщем, еще раз спасибо вам, то что вы скинули, буду сидеть и изучать, вы прям сразу поняли суть моей просьбы и с ходу написали готовое решение, так что как пройдут у меня все резервные копии я гляну поведение работы триггера, если все будет ок, то отпишусь,если не ок, отпишусь, но по тестовому запуску, его поведения меня устроило на все 100%👍 1Comment
Comment