Ad Widget

Collapse

Помощь с триггером

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • who_care
    Member
    • Sep 2017
    • 30

    #1

    Помощь с триггером

    Категорически приветствую!

    Существует числовой (с плавающей точкой) эл. данных который содержит как положительные так и отрицательные значения (секунды) наполняемый траппером каждую минуту. Пишу для него триггер
    Code:
    {Template:repl.lag.avg(360)}>600 or {Template:repl.lag.avg(360)}<-600
    и всё вроде бы замечательно, но бывает прилетает от траппера одно-два значения -3600 из-за чего среднее за пять минут будет конечно же больше/меньше 600с. Широкий вопрос: как избежать подобного срабатывания? Более узкий: можн ли сделать триггер, который бы сработал если значение эл. данных больше/меньше 600 на протяжении 5 минут (или нескольких съёмов)?
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Например, воспользоваться функцией count().

    Comment


    • who_care
      who_care commented
      Editing a comment
      а с выражением не поможете? Никогда не использовал эту функцию
      Code:
      {Template:repl.lag.count(10m,600,ge)}>=1 or {Template:repl.lag.count(10m,-600,le)}<=1
      - вот так перманентно срабатывает

    • who_care
      who_care commented
      Editing a comment
      Переделал на
      Code:
      {Template:repl.lag.count(1m,600,ge)}>=5 or {Template:repl.lag.count(1m,-600,le)}>=5
      , наверно со знаком ошибся во второй части выражения...
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #3
    а с выражением не поможете? Никогда не использовал эту функцию
    Ну, если у вас данные поступают с интервалом раз в минуту, то примерно так:
    Code:
    {Template:repl.lag.count(#5,600,ge)}=5 or {Template:repl.lag.count(#5,-600,le)}=5
    Хотя проще, наверное, если интересуют именно подряд идущие значения, брать min() и max():
    Code:
    {Template:repl.lag.min(#5)}>=600 or {Template:repl.lag.max(#5)}<=(-600)

    Comment

    • Kos
      Senior Member
      Zabbix Certified SpecialistZabbix Certified Professional
      • Aug 2015
      • 3404

      #4
      Переделал на ...
      Пожалуйста, не надо писать в комментарии к моей реплике - это трудно читать, к тому же ваши записи не отображаются на форуме как обновляющие ветку разговора. Лучше писать отдельной репликой.

      Выражение
      Code:
      count(1m,...,...)}>=5
      может стать истинным тольке если у вас за последнюю минуту придёт 5 или больше значений, и все они будут соответствовать условию в функции count().
      Используйте лучше min()/max() - для вашй задачи это проще.

      Comment

      • who_care
        Member
        • Sep 2017
        • 30

        #5
        Ясно, спасибо. Попробую через min/max.

        Comment

        Working...