Ad Widget

Collapse

Trigger com probema. Hysteresis não funciona!

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • miguel sauaia
    Junior Member
    • Sep 2011
    • 13

    #1

    Trigger com probema. Hysteresis não funciona!

    Ola!


    Alguém pode me ajudar? Configurei uma trigger com hysteresis mas não está funcionando. Tenho a seguinte trigger abaixo, e utilizo macros na mesma.

    (({TRIGGER.VALUE}=0) & ({Template OS Linuxroc.num[].last(600)} > {$CPU_LOAD})) | (({TRIGGER.VALUE}=1) & ({Template OS Linuxroc.num[].last(600)} < {$CPU_LOAD}))


    Segue resultado da trigger na aba eventos.

    (({TRIGGER.VALUE}=0) & ({SERVER2roc.num[].last(600)} > 400)) | (({TRIGGER.VALUE}=1) & ({SERVER2roc.num[].last(600)} < 400))

    Segue os eventos que estão ocorrendo de 2 em 2 minutos:
    Attached Files
  • thiagolmelo
    Junior Member
    Zabbix Certified Trainer
    Zabbix Certified Specialist
    • Dec 2009
    • 27

    #2
    Opa,

    O Hysteresis funciona da seguinte forma, por exemplo:

    a trigger estará ativado se:
    se a trigger não estiver ativado e a cpu maior que 80 ou se a trigger tiver ativado e a cpu maior que 60

    Isso seria para evitar que, enquanto a cpu estiver variando de 79-81 % por exemplo, ele fique "flapeando".


    No teu caso, tu colocaste assim:

    a trigger estará ativado se:
    se a trigger não estiver ativado e o proc.num for maior que 400 ou a trigger ativada e o proc.num for menor que 400

    De origem, a trigger está mal configurada porque a trigger estará sempre ativa se o proc.num passar de 400, porque quando descer de 400, ele verificara que a trigger esta ativa e continuará ativa por causa disso.

    O unico caso que não é contemplado pela tua regra é quando o proc.num for = 400, aí a tua trigger ficará inativa.

    Espero que tenha sido claro, qualquer coisa, dá um toque


    Abraços

    __________________
    Thiago Melo
    www.unirede.net
    Porto Alegre - RS - Brasil
    __________________
    --
    Thiago Melo
    [url]www.zabbix.com.br[/url]
    [url]www.uniredeinfo.com.br[/url]
    Porto Alegre - RS - Brasil

    Comment

    • miguel sauaia
      Junior Member
      • Sep 2011
      • 13

      #3
      Tiago obrigado pela resposta!


      Pelo que testei a trigger achei que não funcionaria desta forma, uma vez que:

      1º Caso --> Trigger desativada e last(600) --> 401

      O zabbix analizará o primeiro teste {TRIGGER.VALUE}=0 e considerará como verdadeiro.
      O zabbix analizará o segundo teste {Template OS Linuxroc.num[].last(600)} > 400 e condiderará com verdadeiro pois o valor 401 é maior que 400. Como se trata de uma condicional "e" ele considerará verdadeiro pois as duas clausulas são verdadeiras e mudará o status da trigger.

      ({TRIGGER.VALUE}=0 & {Template OS Linuxroc.num[].last(600)} > 400)


      2º Caso --> Trigger ativada e last(600) --> 399

      O zabbix analizará o primeiro teste {TRIGGER.VALUE}=1 e considerará como verdadeiro pois a trigger está ativada.
      O zabbix analizará o segundo teste {Template OS Linuxroc.num[].last(600)} < 400 e condiderará com verdadeiro pois o valor 399 é menor que 400. Como se trata de uma condicional "e" ele considerará verdadeiro pois as duas clausulas são verdadeiras e mudará o status da trigger.



      Não funcionaria desta forma?

      Comment

      • thiagolmelo
        Junior Member
        Zabbix Certified Trainer
        Zabbix Certified Specialist
        • Dec 2009
        • 27

        #4
        Originally posted by miguel sauaia
        Tiago obrigado pela resposta!


        Pelo que testei a trigger achei que não funcionaria desta forma, uma vez que:

        1º Caso --> Trigger desativada e last(600) --> 401

        O zabbix analizará o primeiro teste {TRIGGER.VALUE}=0 e considerará como verdadeiro.
        O zabbix analizará o segundo teste {Template OS Linuxroc.num[].last(600)} > 400 e condiderará com verdadeiro pois o valor 401 é maior que 400. Como se trata de uma condicional "e" ele considerará verdadeiro pois as duas clausulas são verdadeiras e mudará o status da trigger.

        ({TRIGGER.VALUE}=0 & {Template OS Linuxroc.num[].last(600)} > 400)


        2º Caso --> Trigger ativada e last(600) --> 399

        O zabbix analizará o primeiro teste {TRIGGER.VALUE}=1 e considerará como verdadeiro pois a trigger está ativada.
        O zabbix analizará o segundo teste {Template OS Linuxroc.num[].last(600)} < 400 e condiderará com verdadeiro pois o valor 399 é menor que 400. Como se trata de uma condicional "e" ele considerará verdadeiro pois as duas clausulas são verdadeiras e mudará o status da trigger.



        Não funcionaria desta forma?

        Opa, na verdade não.

        Imagina que a trigger ele é composta por expressões que verificam se ela estará ativa ou nao.

        Acho que a unica confusão aqui é com esta sentença:

        "as duas clausulas são verdadeiras e mudará o status da trigger."

        Na verdade é:

        "as duas clausulas são verdadeiras, a trigger será ativada"

        No caso, como ela já está ativada, continuará ativada.

        []s

        __________________
        Thiago Melo
        www.unirede.net
        Porto Alegre - RS - Brasil
        __________________
        --
        Thiago Melo
        [url]www.zabbix.com.br[/url]
        [url]www.uniredeinfo.com.br[/url]
        Porto Alegre - RS - Brasil

        Comment

        • miguel sauaia
          Junior Member
          • Sep 2011
          • 13

          #5
          Originally posted by thiagolmelo
          Opa, na verdade não.

          Imagina que a trigger ele é composta por expressões que verificam se ela estará ativa ou nao.

          Acho que a unica confusão aqui é com esta sentença:

          "as duas clausulas são verdadeiras e mudará o status da trigger."

          Na verdade é:

          "as duas clausulas são verdadeiras, a trigger será ativada"

          No caso, como ela já está ativada, continuará ativada.

          []s

          __________________
          Thiago Melo
          www.unirede.net
          Porto Alegre - RS - Brasil

          Acho que estava fazendo confusão então. Achava que a trigger faria a validação das sentenças e mudaria de status, quando ná verdade ela não muda de status e sim muda para o status de ativada correto?


          Neste caso se eu quiser que ela seja ativada quando, nos últimos 10 minutos o valor for maior que 400, e desative quando o valor ficar em 388 nos últimos 10 minutos, o correto seria isto?


          ({TRIGGER.VALUE}=0 & {Template OS Linuxroc.num[].last(600)} > 400 | ({TRIGGER.VALUE}=1 & {Template OS Linuxroc.num[].last(600)} > 388

          Comment

          • thiagolmelo
            Junior Member
            Zabbix Certified Trainer
            Zabbix Certified Specialist
            • Dec 2009
            • 27

            #6
            Originally posted by miguel sauaia
            Acho que estava fazendo confusão então. Achava que a trigger faria a validação das sentenças e mudaria de status, quando ná verdade ela não muda de status e sim muda para o status de ativada correto?


            Neste caso se eu quiser que ela seja ativada quando, nos últimos 10 minutos o valor for maior que 400, e desative quando o valor ficar em 388 nos últimos 10 minutos, o correto seria isto?


            ({TRIGGER.VALUE}=0 & {Template OS Linuxroc.num[].last(600)} > 400 | ({TRIGGER.VALUE}=1 & {Template OS Linuxroc.num[].last(600)} > 388

            Perfeito, isso aí mesmo.

            Qualquer dúvida, estou a disposição.

            __________________
            Thiago Melo
            www.unirede.net
            Porto Alegre - RS - Brasil
            __________________
            --
            Thiago Melo
            [url]www.zabbix.com.br[/url]
            [url]www.uniredeinfo.com.br[/url]
            Porto Alegre - RS - Brasil

            Comment

            • miguel sauaia
              Junior Member
              • Sep 2011
              • 13

              #7
              Originally posted by thiagolmelo
              Perfeito, isso aí mesmo.

              Qualquer dúvida, estou a disposição.

              __________________
              Thiago Melo
              www.unirede.net
              Porto Alegre - RS - Brasil


              Obrigado! Acho que agora está funcionando!

              Comment

              Working...