Здравствуйте, нужна ваша помощь, подскажите пожалуйста, есть Windows server 2019. на нем установлен Veem BackUP 12, в Просмотр событий есть каталог Veem Backup и интересуют три кода событий, 110 о старте работы, 150 и 190 я так понимаю отслеживают параметры, успех 150, 190 завершено. если происходят ошибки ид 150 190 показывают ошибки и по какой причине, есть zabbix agent 7.2.7 в режиме active check . Zabbix server 7.2.7 . суть мысли такая, сделать item и триггер о начале обнаружение 110 кода событий, и триггер соответственно на 150 и 190 когда они появляются. если я пишу Key eventlog["Veeam Backup","Warning|Error",,,^(110|150|190)$,,] то в Latest data показывают два события 150 190 c Ошибкой. по какой причине не сделалась копия VM. если я делаю Отдельно key eventlog["Veeam Backup",,,^(110)$,,] то в Latest data нет отображения события , и ошибки нет что key указан не верно и тд, хотя в журнале оно есть Журнале Windows. соответственно не понимаю как сделать триггер . что когда в журнале появилось значение 110 Запуск действия и 150 и 190 о окончание работы. Нужно ваше профессиональное мнение как сделать проще или правильнее этот нюанс. чтобы правильно написать key Для трех значений, и триггер о начале и окончание резервного копирования виртуальных машин. Или подскажите как в прошлый раз куда копать в какую сторону
Ad Widget
Collapse
Просмотр событий Veem BackUP
Collapse
This topic has been answered.
X
X
-
Answer selected by Pochinok at 20-06-2025, 08:49.
В последнем скриншоте - ругань на некорректное количество параметров в функции find() в выражении восстановления (там и вправду написан какой-то бред).
Я бы делал следующим образом:- ключ элемента данных:
Те есть, выбираем только записи о начале либо завершении задания, всё остальное - игнорируем.Code:eventlog["Veeam Backup","^Backup job '[^']+' (has been started|finished)",,,"^(110|190)$"]
- первый триггер, который срабатывает при старте задания и закрывается при его завершении (с любым результатом):
(в выражение проблемы подставить ваше имя хоста).Параметр Значение Name Backup job '{{ITEM.VALUE}.regsub("^Backup job '([^']+)'.*$","\1")}' started Severity Warning Problem expression find(/ВашХост/eventlog["Veeam Backup","^Backup job '[^']+' (has been started|finished)",,,"^(110|190)$"],,"like","has been started")=1 OK event generation Expression PROBLEM event generation mode Multiple OK event closes All problems if tag values match Tag for matching job
Далее, на вкладке "Tags" - определить тег с тем же именем (job) и значением:
Code:{{ITEM.VALUE}.regsub("^Backup job '([^']+)'.*$","\1")}- про второй триггер (на некорректное завершение) можно будет говорить, когда заработает как надо первый.
- Selected Answer
-
Судя по вашим скриншотам, в журнал событий событие с кодом 110 пишется с уровнем "Сведения", т.е. "Information". Поэтому оно не подпадает под регулярное выражение в первом случае ("Warning|Error"). Во втором случае вы убрали не только второй параметр (регулярное выражение), но и отделяющую его запятую - поэтому фильтр по eventid у вас сместился и вместо 5-го параметра стал 4-м. Но 4-й параметр - это source, а под такое выражение у вас ничего не подпадает, поэтому и данных нет.если я пишу Key eventlog["Veeam Backup","Warning|Error",,,^(110|150|190)$,,] то в Latest data показывают два события 150 190 c Ошибкой.
[...]
если я делаю Отдельно key eventlog["Veeam Backup",,,^(110)$,,] то в Latest data нет отображения события , и ошибки нет что key указан не верно и тд, хотя в журнале оно есть
Честно говоря, я не совсем понял вашу задачу. Попробуйте ещё раз чётко сформулировать: по каким критериям вы хотите генерировать триггерное событие (т.е. проблему), а по каким - эту проблему закрывать.
Я понял, что есть 3 вида сообщений, которые пишутся в исходный Windows Event Log - с кодами 110, 150 и 190 (старт бэкапного задания, завершение с предупреждением и завершение с ошибкой соответственно). А успешное завершение как-то пишется?
Кроме того, на скриншотах я вижу, что в сообщениях с кодами 110 и 190 присутствует название бэкапного задания (после слов "Backup job", заключено в апострофы). Но в сообщении с кодом 150 я аналогичной информации не вижу. Как вы будете определять, к какому заданию относится это сообщение в логе? Или же у вас бэкапное задание только одно, и различать сообщения, относящиеся к разным заданиям, не требуется?Comment
-
если я добавлю в стоку Information, я так понимаю оно после этого будет попадать по регулярное выражение и будет потом отображаться? eventlog["Veeam Backup","Warning|Error|Information",,,^(100|110|14 0|150|190)$,,] если напишу так, в Latest data будут отображаться по 5 кодам значения? Нужен триггер который срабатывал о начале запуска задачи ( начало создание VM) 100 Information Начало задания резервного копирования, нашел в документации Veem. то есть триггер должен выглядеть как, 100 значение, о начале резервного копирования . а 110 Information Завершение задания успешно. это первый триггер, а второй триггер должен содержаться 140-150-190 т.к эти попадают в таблицу Warning .И триггер о удачном завершение. 190 Error Задание завершилось с ошибкой и140 Warning Репозиторий скоро заполнится (менее 10% места) а эти три кода ошибки, 140-150-190 указывают на ошибку создания резервной копии VM . соответственно нужно еще триггер на эти три показания, чтобы понимать если будет ошибка, и быстро на нее среагировать.150 Warning Репозиторий почти заполнен (менее 5%) — требует немедленного внимания
Надеюсь Kos поняли про что я.
опять же по документации 190 Error Задание завершилось с ошибкой а в Журнале Событий 190 как видите показывает Задание резервного копирования «Задание резервного копирования 7» успешно завершено.
Все объекты успешно скопированы. Опять же, если сделать триггер на все эти коды 100-110 140-150-190 и сделать уведомления в тг, в тг будет же писать описания значения же, как в Latest data и по нему уже понимать различия о проблемах. лично я вижу это так, если @ Kos у вас были +- подобные задачи, поделитесь решениям по ним. Спасибоэто таблица с документации. еще раз напишу, тут 190 Error а в журнале как видите Error`a нет от слова совсем100 Information Начало задания резервного копирования 110 Information Завершение задания успешно 120 Warning Некритическая ошибка (например, предупреждение о пропущенном файле) 130 Error Критическая ошибка в задании (например, ошибка доступа к источнику данных) 140 Warning Репозиторий скоро заполнится (менее 10% места) 150 Warning Репозиторий почти заполнен (менее 5%) — требует немедленного внимания 160 Error Не удалось создать точку восстановления 170 Error Проблемы с сетевым подключением или доступом к хранилищу 180 Warning Задание завершилось с предупреждением (некоторые VM не были обработаны) 190 Error Задание завершилось с ошибкой 200 Information Начало синтетического полного бэкапа 210 Information Начало удаления старых точек восстановления Last edited by Pochinok; 18-06-2025, 16:37.Comment
-
Я что-то совсем запутался.
На первом скриншоте вашего первого сообщения я вижу поступившее в Zabbix сообщение с EventID=190 и Severity=Error с вполне корректным сообщением об ошибке.
На первом скриншоте вашего второго сообщения я вижу сообщение в Windows Event Log'е с тем же EventID=190, но Severity=Information ("Уровень: Сведения") и сообщением об успешном завершении.
Это ведь разные бэкапные задания (судя по именам и по времени завершения), которые па факту завершились с разным результатом?
Мне кажется, вам нужно проанализировать содержимое этого лога, чтобы понять, что же туда пишется на самом деле (по-видимому, документация неточна).
Как минимум, нужно знать:- всегда ли есть запись, фиксирующая начало бэкапного задания?
- всегда ли есть запись, фиксирующая окончание бэкапного задания?
- всегда ли эти записи имеют один и тот же EventID ("Код"), или же он всё-таки зависит от успешности завершения задания?
- когда задание завершается с ошибкой или предупреждением: в лог пишется только одна запись (о том, что задание завершилось с таким-то результатом), или же несколько (отдельно - предупреждение или ошибка, и отдельно - о том, что задание завершилось)?
- во всех ли интересующих нас записях в логе есть название бэкапного задания (типа: "Backup job '<ИмяЗадания>' ...")?
Для каждого триггера нужно чётко понимать, при каких условиях он должен генерировать проблему, а при каких - закрываться. Например, формулировка: "И триггер о удачном завершение", - явно недостаточно чёткая.Comment
-
Так я вот не могу понять, почему на один код события, по итогу два разных сценарий получаются по итогу,
Это ведь разные бэкапные задания (судя по именам и по времени завершения), которые па факту завершились с разным результатом? совершенно верно, это я проверяю по кодам событиям что за что отвечает + таблица, которая выше.- всегда ли есть запись, фиксирующая начало бэкапного задания? по журналу нет вообще 100 кода
- всегда ли есть запись, фиксирующая окончание бэкапного задания? если брать таблицу то окончание 110 есть. но судя по переводу из журнала оно наоборот говорит о удачном запуске Задание резервного копирования «Zabbix 7.2.7 Test» было запущено пользователем SIBTPEP\veembackup. Я вот тоже не совсем понимаю. в таблице одно в журнале другое, я могу допускать что нашел не верную информация по код ошибка,речь идёт о таблице, найденная в интернете. Журнал событий я думаю врать нам не будет, если отталкиваться чисто от журнала, когда в Veem я запускаю резервную копию VM В журнале Всегда появляется 110 код , о успешном запуске.
- всегда ли эти записи имеют один и тот же EventID ("Код"), или же он всё-таки зависит от успешности завершения задания? всегда. в журнале только два кода событий, 150 и 190 но я так же как и вы не могу понять, почему они оба информацию предоставляют разную, вот скриншот 150 пишет VM Zabbix 7.2.5 task has finished with 'Success' state. и было пару раз VM Zabbix 7.2.5 task has finished with 'Warning' state.
Task details: Backup location [\\srv00-orion\d$] is getting low on free disk space (274,4 GB free of 3,6 TB).
- когда задание завершается с ошибкой или предупреждением: в лог пишется только одна запись (о том, что задание завершилось с таким-то результатом), или же несколько (отдельно - предупреждение или ошибка, и отдельно - о том, что задание завершилось)? когда ошибки показывает только 150 -190 лог. но как вы сами видите он какой-то чудесный на иформативность.
- во всех ли интересующих нас записях в логе есть название бэкапного задания (типа: "Backup job '<ИмяЗадания>' ...")? да, Backup Job это дефолт название процедуры, я его редактирую для понимания какая задача в планировщике запуститься с названием VM.
но при этом он копии сделал VM
по 190 ошибки опять вот что нашел Veeam использует один ID для всех ошибок завершения задания, а текст ошибки внутри — уже разный и зависит от причины. то есть событие одно а вот результат 190 может быть разный, как я показывал на скриншоте, удачно удачно но с предупреждением неудачно. получается что, 110 код показывает начала запуска, постоянно он пишется о начале запуска, 190 у нас судя по описанию может дублировать разное содержимое. получается нужен item c key по 110 и 190 а вот со 190 нужно описание , и по нему уже понимать как окончилось резервирование vm. все утро проверяю эти значение, 110 всегда отображается когда начинается начало процесса копирования VM . 190 отображает как я указывал выше, либо Error либо успех. 150 отображается Warning , в Latest data 150 190 Отображаются корректно, вопрос нет, 110 нету . key eventlog["Veeam Backup","Information|Error|Warning|",,,^(110|150|1 90)$,,] указывал еще eventlog["Veeam Backup","Information",,,110,,] и eventlog["Veeam Backup","","",,,110,,] он не работает, пишет Too many parameters. eventlog["Veeam Backup","Information",,,110,,] работает но в latest data ничего нетуLast edited by Pochinok; 19-06-2025, 07:25.Comment
-
Решил этот момент, почему 110 код не отображался в Latest data. оказывается надо было в Item>key указать ключ eventlog["Veeam Backup","Information|Error|Warning|",,,^(110|150|1 90)$,,] а у меня было WarningErrorInformation, после этого все стало отображаться и работать, опять же, по 190и150 коду событий, вот прикрепляю его поведение. то есть у них разное поведение на результаты копирования, если все прошло ок, то 190 150 показывает все ок, если что-то пошло не так 190 150 говорит об этом, что что-то пошло не так. теперь я не могу пока понять как мне сделать триггер, на 110 и 150-190 значение, условно триггер будет так Резервное копирование Vm запущенно по 110 коду, и Резервное копирование Vm Завершено со значением 150-190, а второй триггер сделать можно только на неудачное копирование? хотя сам сижу думаю что наверное нет, не получиться, либо сделать второй триггер и чтоб он просто информировал, и в телеграмме читать, если все гуд то гуд, если нет, я к тому что по 150-190 описанию можно понять если копии сделались или не сделались или сделались с ошибками
или можно сделать триггер чтоб он работал по ключевым словам с журнала или тегам? Еггоr и Warning 150-190 это триггер о том что что-то не так, и то же самые значение 150-190 но только Information что все прошло успешно. вот второе поведение 150 190 значения,которое было вчераLast edited by Pochinok; 19-06-2025, 07:42.Comment
-
Вот я создал дефолт триггер,фото прикладываю. в тг отображается подробная информаци, и как мне сделать триггер о завершения резервирования со значением 150-190 и чтоб эти два кода так же показывали подробно информацию. о успехе или не удаче. синим обвел про что идет речь во фразе Подробная информация, когда происходит не удачная попытка резервного копирования или удачная то тригер просто приходит о закрытие проблемы, но подробного описания нет, вот как мне его сделать чтоб по 150-190 он показывал это все в тг?Last edited by Pochinok; 19-06-2025, 08:29.Comment
-
Вот я экспериментирую с триггером, резервное копирование VM прошло не успешно, и мне пришло уведомление в тг такого характера . но опять же это не правильно, потому что я сделал триггер logeventid(/SRV00-VEEMBACKUP/eventlog["Veeam Backup","Information|Error|Warning|",,,^(110|150|1 90)$,,])<>0 соответственно у меня он постоянно висит , и не закрывается, но при этом показывает как выше, о начале,и не удачном начале рез копии, как мне этот триггер сделать,чтоб он все корректно отображал?Comment
-
Я бы, всё же, решал задачу последовательно:- разобраться, какие именно данные пишутся в исходный лог и какие из них нам важны;
- настроить получение нужных данных в Zabbix;
- настроить нужные триггеры;
- настроить оповещения.
- 12:26:29 PM 110 Backup job 'Backup job 8' has been started by user ...
- 12:28:10 PM 150 VM Zabbix 7.2.8 task has finished with 'Success' state.
- 12:28:14 PM 190 Backup job 'Backup job 8' finished with Success. [...]
К чему относится вторая запись (с кодом "150")? Можем ли мы вообще игнорировать сообщения с кодом 150, поскольку за ними (как это видно на других ваших скриншотах) всё равно идут сообщения с кодом 190? Тогда останутся только события о начале и о завершении (успешно или неуспешном), имеющие конкретный формат, в котором очевидно, где имя задания, а где - результат (Success/Failed/etc.).
2. Только сейчас обратил внимание на то, что вы пытаетесь использовать ключ вида
Но второй параметр (там, где у вас сейчас указано: "Information|Error|Warning|") - это фильтр не по важности (Severity), а по содержимому исходной записи в логе, причём с учётом регистра (ссылка). С другой стороны, если мы хотим не обращать внимание на важность, то данный параметр можно вообще опустить, и фильтровать только по кодам событий:Code:eventlog["Veeam Backup","Information|Error|Warning|",,,^(110|150|190)$,,]
3. Если нужны триггеры только о неуспешном завершении, то строки о начале задания (с кодом 110) я бы вообще игнорировал, и забирал бы только записи с кодом 190, а триггер навешивал бы отсутствие строки "finished with Success". Такой триггер срабатывал бы на любое неуспешно завершённое задание и закрывался бы, когда оно завершено успешно.Code:eventlog["Veeam Backup",,,,"^(110|150|190)$",,]
В любом случае, для триггера нужно выставлять режим "Problem event generation mode = Multiple", назначать тег с именем задания и выбирать этот же тег для корреляции закрывания триггера (подробнее описано здесь, с примерами).
Если же непременно нужны ещё оповещения о начале каждого бэкапа, то тогда требуется, действительно, забирать и записи о начале задания, и о его завершении.
Триггер в этом случае будет, например, на наличие в тексте подстроки "has been started" (а закрытие триггера - соответственно, на её отсутствие). Замечание о корреляции на основе триггеров остаётся в силе.
4. Если с оповещениями проблема лишь в том, что при закрытии проблемы в Zabbix'е вы в оповещении не видите последнего текущего значения, то это проблема не триггера, а шаблона оповещения в действии на данное событие. Сравните шаблоны действий на проблему и на восстановление - скорее всего, в первом из них присутствует системный макрос {EVENT.OPDATA} (ссылка), а во втором - нет.Comment
-
1.Нам нужно 110 код, он сообщает нам о начале процедуры , 150 190 тоже нужно, 150 код говорит нам о том,что резервная копия сделалась но с ошибкой, а 190 говорит что она не сделалась, если все проходит успешно, то 150 190 нам об этом говорит,что все прошло успешно.
2. eventlog["Veeam Backup",,,,"^(110|150|190)$",,] в плане важности,роли нет, ок я ставлю ключ этот, он так же работает, и в Latest data отображается корректно
3.триггеры нужны два, о начале запуска, скриншот я скидывал выше, а второй, о успешно(не успешном) действие по резервному копированию
Если же непременно нужны ещё оповещения о начале каждого бэкапа, то тогда требуется, действительно, забирать и записи о начале задания, и о его завершении.
Триггер в этом случае будет, например, на наличие в тексте подстроки "has been started" (а закрытие триггера - соответственно, на её отсутствие). Замечание о корреляции на основе триггеров остаётся в силе. вот этот момент надо разжувать мне,пока не понимаю про что идет речь.
в первом из них присутствует системный макрос {EVENT.OPDATA} (ссылка) совершенно верно,в проблем он присутствует, в Problem recovery он Отсутствует , если я добавлю {EVENT.OPDATA} то будет при закрытие проблемы я так понимаю будет писать событие подробное? по какой причине копия не сделалась или сделалась ?Last edited by Pochinok; 19-06-2025, 10:22.Comment
-
-
1.OK, понятно.Нам нужно 110 код, он сообщает нам о начале процедуры
Вот здесь непонятно. На окончание одного задания - есть либо 150, либо 190, либо оба сразу?150 190 тоже нужно, 150 код говорит нам о том,что резервная копия сделалась но с ошибкой, а 190 говорит что она не сделалась, если все проходит успешно, то 150 190 нам об этом говорит,что все прошло успешно.
Как из текста сообщения с кодом 150 определить, к какому заданию оно относится?
2. ОК
3.У вас в одном логе есть сообщения о разных бэкапных заданиях. Какие-то из них завершаются успешно, какие-то - неуспешно. Соответственно, нужно иметь возможность одним триггером генерировать события для различных заданий (для этого предназначена опция в настройках триггера "Problem event generation mode = Multiple"). Но, что важнее, нужно не только генерировать новые проблемы, но и корректно закрывать старые - чтобы при успешном завершении бэкапного задания закрывались не все проблемы, а только та, которая относится именно к этому бэкапному заданию (если перед этим оно завершилось неуспешно). Техника того, как это делается, называется "корреляция на основе триггеров"; она описана в документации по ссылке, которую я давал.вот этот момент надо разжувать мне,пока не понимаю про что идет речь.
4. Да, пробуйте, и да пребудет с вами сила!
Comment
-
Вот здесь непонятно. На окончание одного задания - есть либо 150, либо 190, либо оба сразу?
Как из текста сообщения с кодом 150 определить, к какому заданию оно относится?
150 и 190 показываются оба сразу, я же выше описал порядок, 190 показывается всегда,когда успешно все прошло,когда не успешно, 150 показывается по такому же принципу, когда все прошло успешно, а когда прошло успешно но с ошибкой.
вы мне пару месяцев назад +- помогали с подобной проблемой, делал копии через планировщика через bat`ники , вот я смотрю этот триггер, и хотел бы у вас уточнить,откуда вы взяли в
Description Бэкапная задача: {{ITEM.VALUE}.regsub("^.* задачи "([^"]+)".*$","\1")} и в Tags Он указан в поле Value. фото прикрепил как пример, вот этот триггер работает шикарно, и я хочу по такому же принципу сделать новый
Comment
-
Нет, конечно.
Во-первых, условие "logseverity()=1" проверяет, не была ли исходная важность равна "Information", а я предлагал предлагал проверять сам текст сообщения (функция find()).
Во-вторых, условие восстановления в этом случае не нужно.
Наконец, в-третьих - не указано, каким образом задавать значение тега, по которому будет производиться корреляция. Почитайте, всё же (ещё раз ссылка).
Comment
Comment