Здравствуйте!
Уже несколько дней пытаюсь настроить триггер, который мне необходим:
- необходимо получать windows eventlog, сравнивать его с глобальными исключениями и игнорировать глобальное исключение, если указано в локальных (хоста), и работать по логике:
триггер срабатывает всегда, если:
а) есть глобальное одновременное исключение по коду и источнику (код и источник это разные глобальные переменные);
б) если есть глобальное одновременное исключение по коду и источнику и есть локальное исключение из исключения (одновременное)
Вот как выглядит логика:
https://www.wolframalpha.com/input/?i=(C+or+D)+or+...
В zabbix, разрел
Regular expressions, создано:
eventlogid -
^(7040|100|999|5003[1-9]|2457[7,9],19|4[3-4])$ -
[Result is TRUE]
eventsource -
^(Microsoft-Windows-WindowsUpdateClient|Zabbix test event)$ -
[Result is TRUE]
создан item:
eventlog[System,,,,,,skip]
и триггер к нему:
(
(
{Template OS Windows Active Eventlog:eventlog[System,,,,,,skip].logsource({$EVENTSOURCE})}
or
{Template OS Windows Active Eventlog:eventlog[System,,,,,,skip].logeventid({$EVENTLOGID})}
)
or not
(
{Template OS Windows Active Eventlog:eventlog[System,,,,,,skip].logsource(@eventsource)}
and
{Template OS Windows Active Eventlog:eventlog[System,,,,,,skip].logeventid(@eventlogid)}
)
) <> 0
Делаю проверку на наблюдаемом хосте (через posh создаю проблемы в журнале):
eventcreate /t ERROR /id 999 /l system /so "Zabbix test event" /d "Test ERROR event 999 log by Zabbix - $(Get-Date -UFormat "%m/%d/%Y - %T")"
eventcreate /t ERROR /id 998 /l system /so "Zabbix test event1" /d "Test ERROR event 998 log by Zabbix - $(Get-Date -UFormat "%m/%d/%Y - %T")"
и получаю обе проблемы, хотя по логике первый запрос должен игнорироваться по условию игнорирования.
Такое вообще возможно сделать?