View Full Version : Тригер на мониторинге текстового item не мен
Sybertuk
01-07-2010, 21:23
hi,
На узле создал текстовый item в который скидываются данные лог-файла. Настроил тригер на этот item на появление определенного словосочетания (регулярным выражением). Тригер срабатывает корректно на появление целевого словосочетания, проблема в том, что если в item не приходит новых сообщений то тригер так и остается в состоянии "ПРОБЛЕМА" и мозолит глаза на Dashbord-е. Отсюда и другая проблема если в лог валится куча сообщений одно из которых действительно важное оно даже секунды не повисит на Dashbord-e.
Как задать тригеру чтобы он сохранял состояние "ПРОБЛЕМА" заданное количество секунд ?
tsolodov
01-07-2010, 22:40
hi,
На узле создал текстовый item в который скидываются данные лог-файла. Настроил тригер на этот item на появление определенного словосочетания (регулярным выражением). Тригер срабатывает корректно на появление целевого словосочетания, проблема в том, что если в item не приходит новых сообщений то тригер так и остается в состоянии "ПРОБЛЕМА" и мозолит глаза на dashbord-е. Отсюда и другая проблема если в лог валится куча сообщений одно из которых действительно важное оно даже секунды не повисит на dashbord-e.
Как задать тригеру чтобы он сохранял состояние "ПРОБЛЕМА" заданное количество секунд ?
+1 тоже интересует.
zalex_ua
02-07-2010, 00:08
вам следует хорошо понять тонкости работы триггеров - при приходе каждого нового значения Элемента данных треггер каждый раз пересчитывается, и если если новое значение не содержит искомого словосочетания (как в примере автора) то триггер переходит в состояние ОК
По поводу сохранения состояние "ПРОБЛЕМА" заданное количество секунд - может быть возможно - нужно думать, текст триггера в студию пожалуйста.
И еще - хорошенько и несколько раз перечитайте страницу http://www.zabbix.com/documentation/ru/1.8/manual/config/triggers - это очень полезно :)
Sybertuk
02-07-2010, 08:45
Текст тригера, срабатывает когда в snmptraps сваливается сообщение включающее "enterprises.171.11.113.1.3.2.20.0.3"
(({D-Link_DES_3200-24_short_template:snmptraps.regexp(enterprises.171 .11.113.1.3.2.20.0.3)})#0)
я тут немного поразмыслил, во frontend-е zabbix-а можно смотреть время срабатывания тригера, можно ли как-то использовать в выражении тригера время его срабатывания ? тогда тригер бы выглядел следующим образом
({TRIGGER.VALUE}=0&{(({D-Link_DES_3200-24_short_template:snmptraps.regexp(enterprises.171 .11.113.1.3.2.20.0.3)})#0))&{delta(текущее время на сервере, время срабатывания тригера)}<90|
({TRIGGER.VALUE}=1&{delta(текущее время на сервере, время срабатывания тригера)}<90)
Как вытащить "текущее вермя на сервере" и "время срабатывания тригера" в выражении тригера ?
а попробуйте использовать nodata
Wonderer
02-07-2010, 10:18
А нельзя nodata. Он же говорит что данные приходят в итем не с одинаковой скоростью. Могут долго не приходить, а могут сыпаться совсем другие сообщения.
А если:
{host:item.regexp(SEARCH_TEXT)}=1 & {TRIGGER.VALUE}=0) | ({host:item.count(600,"SEARCH_TEXT","like")}>0 & {TRIGGER.VALUE}=1)
Первая часть "включает" триггер и фиксирует его в этом значении с помощью {TRIGGER.VALUE}=1 во второй части пока не пройдет с 10 минут с момента последнего нахождения SEARCH_TEXT в получаемых данных.
Но это я так думаю :), надо проверить.
den_crane
02-07-2010, 10:44
триггер должен быть true если за последние 300сек в item-е была такая-то строка типа:
count(300,"строка","eq")
Wonderer
02-07-2010, 11:42
Тогда выражение вообще можно укоротить до
regexp(ТЕКСТ,600)=1.
Но тут одно но, на 1.8.2 это (несколько параметров для regexp, str, avg, etc)не работает :(
При создании выдает ошибку "Function '' does not accept parameters"
https://support.zabbix.com/browse/ZBX-2461
Bug fixed in version pre 1.8.3 revision 12400