Ad Widget

Collapse

Триггер работает не верно

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • hatifnatt
    Junior Member
    • Apr 2015
    • 7

    #1

    Триггер работает не верно

    Здравствуйте.
    Данные окружения такие
    Zabbix 2.2.9
    Debian 7.8 Wheezy

    Есть такой триггер:
    Code:
    ({TRIGGER.VALUE}=0 & {Template OS Linux:vfs.fs.size[{#FSNAME},pfree].max(300)} < 10) |
    ({TRIGGER.VALUE}=1 & {Template OS Linux:vfs.fs.size[{#FSNAME},pfree].min(600)} > 11)
    Основан по сути на примере из документации:
    Free disk space is too low
    Problem: it is less than 10GB for last 5 minutes
    Recovery: it is more than 40GB for last 10 minutes
    Code:
    ({TRIGGER.VALUE}=0&{server:vfs.fs.size[/,free].max(5m)}<10G) |
    ({TRIGGER.VALUE}=1&{server:vfs.fs.size[/,free].min(10m)}<40G)
    Но либо я чего-то не понимаю, либо в примере из документации ошибка, написано "Recovery: it is more than 40GB for last 10 minutes", т.е. ожидаем "минимальное значение за 10 минут больше 40Гб", а используется "min(10m)}<40G" - "минимальное значение за 10 минут меньше 40Гб".

    В итоге с моим вариантом триггера я получил около 300 писем за ночь.
    PROBLEM Free disk space on / (percentage) (host:vfs.fs.size[/,pfree]): 7.6 %
    OK Free disk space on / (percentage) (host:vfs.fs.size[/,pfree]): 7.6 %

    В общем еще раз, либо я чего-то не понимаю в корне, либо что-то сломано в вычислении занчения триггера. Буду благодарен за любые советы и замечания.
  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #2
    А что триггер должен ловить?
    Обратите внимание на знаки - в примере из документации они оба "<".

    Comment

    • Jimson
      Senior Member
      • Jan 2008
      • 1327

      #3
      Originally posted by hatifnatt
      В общем еще раз, либо я чего-то не понимаю в корне, либо что-то сломано в вычислении занчения триггера. Буду благодарен за любые советы и замечания.
      Выражение триггера это условие, если оно истинно, то триггер будет в состоянии "проблема", если ложно - "ок". Вы же почему то решили что условие с гистерезисом это два не связных между собой условия.

      Comment

      • rough-84
        Senior Member
        • Oct 2014
        • 198

        #4
        ({TRIGGER.VALUE}=0 & {Template OS Linux:vfs.fs.size[{#FSNAME},pfree].max(300)} < 10) |
        ({TRIGGER.VALUE}=1 & {Template OS Linux:vfs.fs.size[{#FSNAME},pfree].min(600)} > 11)
        Переводим на Русский:
        Если триггер находится в состоянии ОК {TRIGGER.VALUE}=0 и
        {Template OS Linux:vfs.fs.size[{#FSNAME},pfree].max(300)} < 10)
        - Алярм.
        Или
        Если, триггер находится в состоянии - Алярм
        {TRIGGER.VALUE}=1
        и
        {TRIGGER.VALUE}=1 & {Template OS Linux:vfs.fs.size[{#FSNAME},pfree].min(600)} > 11)
        переходим в состояние ОК

        Это выражение в корне не верно, т.к перейдя в состояние Алярм < 10, вы моментально выводите триггер назад в ОК, т.к условие >11, не верно. И так он будет у вас скакать пока актуально условие < 10.
        Чтобы сделать правильный триггер вам нужно изменить > 11, на <11.

        Comment

        • hatifnatt
          Junior Member
          • Apr 2015
          • 7

          #5
          Originally posted by sadman
          А что триггер должен ловить?
          Обратите внимание на знаки - в примере из документации они оба "<".
          Свободное мето на диске в процентах.
          Я обратил внимание, упомянул это в своем вопросе, но было не понятно, почему так.
          Originally posted by jimson
          Выражение триггера это условие, если оно истинно, то триггер будет в состоянии "проблема", если ложно - "ок".
          Вот это и была моя главная ошибка, я думал почему-то что триггер переключается когда условие становится истинным, хотя и прочел документацию не раз. Т.е. какое-то условие стало истиной - переключаем состояние, другое условие стало истиной - снова переключаем осотояние.
          rough-84 спасибо за разбор моего триггера.
          Теперь общий принцип понятен, всем спасибо большое за коментарии.

          Comment

          Working...