ZABBIX Forums  
  #1  
Old 01-12-2017, 12:38
Evgeniy Evgeniy is offline
Member
 
Join Date: May 2012
Posts: 55
Default вычисляемые значения

Приветствую,
Поставила в тупик очередная задача, не знаю как реализовать, может натолкнет кто-нибудь на правильную мысль. Необходимо сделать элемент данных, в котором будет показываться количество "пропаданий" за последние 12 часов. Т.е. имеем значения:
50
49
51
0
20
50
49
0
0
0
0
51
Здесь два пропадания.
Как я представляю, вычисляемый элемент должен иметь вид что-то типа:
count(12h,(change("itemkey")), -40, "lt")
Пробовал несколько вариантов, бесполезно.
"Cannot evaluate function"
Предполагаю, что нельзя размещать функцию в функции. Но вот что придумать?
Может с какого-то другого боку подойти? Никто не реализовывал что-нибудь подобное?
Reply With Quote
  #2  
Old 01-12-2017, 13:06
Kos Kos is offline
Senior Member
 
Join Date: Aug 2015
Location: Riga, Latvia
Posts: 607
Default

Для начала нужно понять, что Вы понимаете под "пропаданием".
Последовательность нулей (один раз из одного нуля, второй раз - из четырёх)? Или что?
Reply With Quote
  #3  
Old 01-12-2017, 15:00
wins wins is offline
Member
 
Join Date: Sep 2014
Posts: 64
Default

вангую, что считать айтемом количество вхождений - не совсем правильно.
можно сделать в препроцессинге, через регеэспы.
Может всетаки sla посчитать надо?
Reply With Quote
  #4  
Old 01-12-2017, 15:48
Semiadmin Semiadmin is offline
Senior Member
 
Join Date: Oct 2014
Location: Moscow, Russia
Posts: 501
Send a message via Skype™ to Semiadmin
Default

Делаем Calculated item, принимающий значение 1 в случае пропадания:
last("itemkey")=0 and prev("itemkey")<>0
Потом делаем второй Calculated item, считающий функцией count, сколько раз первый был равен 1.
Reply With Quote
  #5  
Old 02-12-2017, 06:57
Evgeniy Evgeniy is offline
Member
 
Join Date: May 2012
Posts: 55
Smile

Quote:
Originally Posted by Kos View Post
Для начала нужно понять, что Вы понимаете под "пропаданием".
Последовательность нулей (один раз из одного нуля, второй раз - из четырёх)? Или что?
Да, я специально привел пример. Неважно сколько нулей, важен сам факт перехода в ноль, т.е. обычный count тут не подойдет.

Quote:
вангую, что считать айтемом количество вхождений - не совсем правильно.
можно сделать в препроцессинге, через регеэспы.
Может всетаки sla посчитать надо?
Не совсем понял, что вы имеете в виду. Хотелось бы пояснить, что у меня из 2 тыс. устройств нет ни одного сервера или коммутора, доступность не важна.
В SLA минимальная градация - сутки, кроме того, фактически SLA выдаст в процентах время, в течение которого элемент данных был в нуле, если считать SLA по одному из имеющихся триггеров.
Не понял, зачем числовое значение подвергать "препроцессингу через регеэспы"?
Quote:
Делаем Calculated item, принимающий значение 1 в случае пропадания:
last("itemkey")=0 and prev("itemkey")<>0
Потом делаем второй Calculated item, считающий функцией count, сколько раз первый был равен 1.
Примерно в ту же сторону думал, но показалось не "кошерно" два вычисляемых элемента создавать. Придется все перенастраивать и распихивать их по разным группам элементов, и для отображения в комплексных экранах выбирать одну из них. Вариант интересный через last и prev, спасибо за подсказку, но неужели нет более "красивого" решения?

Last edited by Evgeniy; 02-12-2017 at 07:09.
Reply With Quote
  #6  
Old 06-12-2017, 06:35
yukra yukra is offline
Senior Member
 
Join Date: Apr 2013
Posts: 1,294
Default

Я бы сделал триггер ".last=0 and .diff=1" и на него бы повесил триггер, по триггеры выполнял бы вызов zabbix_sender засылающий единичку в соседний айтем прям с самого сервера (параметр -s, что бы клиента лишний раз не дергать).

Зы не люблю calculated айтемы.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 00:43.