Ad Widget

Collapse

Trigger problems

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • bluelinq
    Member
    • Feb 2008
    • 44

    #1

    Trigger problems

    Perhaps someone has ran into this issue before.
    I have created a trigger for an Active Agent that will set true if the agent.ping.nodata is 75 seconds or more using the syntax below.

    {DOMAINH:agent.ping.nodata(75)}=1

    If works somewhat OK, but too many false possitives are going that I really don't understand. Zabbix will send a notification that the server is not available, but it is really up. Soooo, I tried to include another variable so that if the nodata is at 75 and the uptime is also less than 75, then the server must have gone down. I am using the following syntax.

    {DOMAINH:agent.ping.nodata(75)}=1 & {DOMAINH:system.uptime.prev(0)}<75

    The issue is that I can reboot a server and now it is now getting detected. Any ideas on how to approach this?

    Regards,

    Paul
  • raghaven.kumar
    Member
    • Mar 2008
    • 34

    #2
    Did you mean that when you reboot it shows the server is down !
    You can do a system.uptime.nodata()
    Huh!

    Comment

    • bluelinq
      Member
      • Feb 2008
      • 44

      #3
      No, I mean that it gives false positive. The server is up, but for some reason latency or what not it will trigger {DOMAINH:agent.ping.nodata(75)}=1 as on so will get an email that the server is down.

      That is why I am trying to use it in conjunction with the uptime value. If latency or whatever is causing the issue is the reason, the also check the uptime to see if is less than x, if so, for sure the server went down.

      Now, with

      {DOMAINH:agent.ping.nodata(75)}=1 & {DOMAINH:system.uptime.prev(0)}<75

      it does not work, I think due to a bug in the code as it does not react to the event.

      I can't believe this is an isolated issue for me, but who knows. Just in case, I am running Zabbix inside a virtual server under ESX 3.5.

      Regards,

      Paul

      Comment

      • Alexei
        Founder, CEO
        Zabbix Certified Trainer
        Zabbix Certified SpecialistZabbix Certified Professional
        • Sep 2004
        • 5654

        #4
        Originally posted by bluelinq
        Now, with

        {DOMAINH:agent.ping.nodata(75)}=1 & {DOMAINH:system.uptime.prev(0)}<75

        it does not work, I think due to a bug in the code as it does not react to the event.
        How is is supposed to work?! If you have no data coming from the agent, where ZABBIX takes value of system.uptime from?
        Alexei Vladishev
        Creator of Zabbix, Product manager
        New York | Tokyo | Riga
        My Twitter

        Comment

        • bluelinq
          Member
          • Feb 2008
          • 44

          #5
          Not sure how Active Agents are supposed to work, I posted that question a while ago and nobody answered.

          As for my limited understanding. Active Agents are "pushed" to the zabbix server and if so then the server reads the values and reacts to trigger events, etc. If that is the case then

          {DOMAINH:agent.ping.nodata(75)}=1 & {DOMAINH:system.uptime.prev(0)}<75

          Should not be an issue if that is the case. Perhaps someone can help explaning the Active Agent concept a bit more.

          So lets say that is not the case, I have also used "DOMAINH:agent.ping.nodata(75)}=1" and increased the value up to 3 minutes and still get false positives, however the server is up.

          So, the one dollar question is how you fix it?

          Regards,

          Paul

          Comment

          • raghaven.kumar
            Member
            • Mar 2008
            • 34

            #6
            system.uptime is not a data sent by the agent.
            Its checked by server.

            You can either change it to active check
            or create a trapper in your server for the agent.

            For me , I use trappers to check hosts aliveness
            Works great.

            Comment

            • Alexei
              Founder, CEO
              Zabbix Certified Trainer
              Zabbix Certified SpecialistZabbix Certified Professional
              • Sep 2004
              • 5654

              #7
              Originally posted by raghaven.kumar
              system.uptime is not a data sent by the agent.
              Its checked by server.
              Lies! The system.uptime is provided by agents.
              Alexei Vladishev
              Creator of Zabbix, Product manager
              New York | Tokyo | Riga
              My Twitter

              Comment

              • bluelinq
                Member
                • Feb 2008
                • 44

                #8
                I do have it defined as an active agent and is not working.

                So, how do you do the trappers, can you share it?

                Regards,

                Paul

                Comment

                • raghaven.kumar
                  Member
                  • Mar 2008
                  • 34

                  #9
                  Hey Paul, heres it dude,
                  you need to create a item with type trapper and a name which is your choice
                  then make use of zabbix_sender to send data to that key from the agent machine.
                  Eg.,
                  I used 'alive' as trapper.
                  from the agent machine i used crontab to send data every 5 minutes to zabbix server using
                  zabbix_sender -z <server-ip> -p 10051 -s <agent-hostname> -k <key-name> -o <output-data>
                  i use
                  zabbix_sender -z xxx.xxx.xxx.xxx -p 10051 -s hostname -k alive -o 1

                  And
                  I used the trigger as 'alive.nodata(360)'

                  BTW, If i was a moderator i would say RTFM.


                  PS: Alexei, Sorry man, i was wrong with that. And thanks for the right conception of it.

                  Comment

                  Working...