Ad Widget

Collapse

Непонятное срабатывание триггера

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • kohb
    Junior Member
    • Apr 2018
    • 5

    #1

    Непонятное срабатывание триггера

    Есть хосты которые автоматически добавляются в Zabbix и триггер, который использует Items из скриптов, которые лежат на этих хостах.
    Есть триггер:
    Code:
    {t2Credits:aws.t2[CPUCreditBalance].nodata(60m)}=0 and {t2Credits:aws.t2[CPUCreditBalance].min(5m)}<20
    , как я понимаю он должен срабатывать когда данные есть 60мин и Item t2.CPUCreditBalance<20 последние 5 минут.
    Но по факту этот триггер срабатывает как только хост появляется в Zabbix и появляются данные по этому хосту.
    Я как-то неправильно понимаю выражения для триггера?
    Или может быть триггер нужно составить по-другому?
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    В условии вашего триггера написано: срабатывать, когда за последний час есть хоть какие-то данные, и при этом минимальное значение за последние 5 минут меньше 20.
    Т.е. если у вас при старте первое же собранное значение будет, скажем, 19, то триггер уже сработает.
    Остальное зависит от того, что вы хотите: сможете сформулировать желание - возможно, сможем помочь с формулировкой триггера.

    Comment

    • kohb
      Junior Member
      • Apr 2018
      • 5

      #3
      Спасибо за ответ!
      Я хочу чтобы триггер срабатывал когда значение CPUCreditBalance < 20 в течение часа.
      Пробовал еще такой вариант:
      Code:
      {t2Credits:aws.t2[CPUCreditBalance].last(,60m)}<20
      Все-равно срабатывает как только хост появляется в заббиксе (и значение CPUCreditBalance у хоста как раз меньше 20).

      Comment

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

        #4
        Originally posted by kohb
        Спасибо за ответ!
        Я хочу чтобы триггер срабатывал когда значение CPUCreditBalance < 20 в течение часа.
        Когда все значения в течение часа меньше 20? Или какое-то количество?
        Функции count() или max() вам в помощь.
        Originally posted by kohb
        Пробовал еще такой вариант:
        Code:
        {t2Credits:aws.t2[CPUCreditBalance].last(,60m)}<20
        Зачём? =8-O
        Вы хоть читали в документации описание этой функции?
        Она всегда возвращает одно значение, множество значений не обрабатывает.

        Comment

        • kohb
          Junior Member
          • Apr 2018
          • 5

          #5
          Да, про last я конечно не прав.

          Т.е. в моем случае получается так?

          Code:
          {t2Credits:aws.t2[CPUCreditBalance].max(60m)}<20

          Comment

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

            #6
            Да, это самый простой вариант.
            Правда, он может дать вам срабатывание в случае, если элемент данных только-только добавился, и первое же значение уже меньше двадцати. Но вряд ли вас интересует такой особый случай (не так часто новые элементы данных добавляются). Если, всё же, эти принципиально, то можно тем же count()-ом убеждаться, что за последний час есть хотя бы N значений.

            Comment

            Working...