Ad Widget

Collapse

Using active checks vs passive checks

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • verwilst
    Junior Member
    • Sep 2008
    • 6

    #1

    Using active checks vs passive checks

    By default all checks are passive ( as in, the server polls the agents ). This can cause problems when agents start responding slowly ( for example add a UserParameter that does a sleep 5 and only then returns your item, it will block the zabbix-server instances during that time, causing dropouts in the other graphs ).

    Using active checks solves this because the zabbix-server instances are never blocked while waiting for values. It also shift the load more towards the agents, which relieves the server even more.

    I would like to switch all my checks to active ( including the standard Template_Linux stuffs, like disk space, memory usage, load, ... ).

    Is this a good idea? Any input on this? Will it have downsides that I am currently unaware of?

    Thanks!
  • ataylo13
    Senior Member
    • Feb 2007
    • 122

    #2
    I am using active checks on almost all of my templates.
    Version : 1.8.8
    Current Configuration 1 Master and 3 Child Nodes

    Comment

    • smulcahy
      Junior Member
      • Apr 2009
      • 8

      #3
      Can you give an example of how to configure an active check?

      Comment

      • TuXator
        Junior Member
        • Feb 2009
        • 15

        #4
        Originally posted by verwilst
        Will it have downsides that I am currently unaware of?
        I believe active checks do not support flexible intervals.

        Comment

        • ad@kbc-clearing.com
          Member
          • Sep 2005
          • 77

          #5
          Active checks are not as reilable as normal checks.
          For an active check, the data is sent to the server with zabbix_sender, which is quite inefficient.
          YOu will notice that, if you have 100's of active checks, you will miss a lot of data, especially if you have a busy zabbix server.

          Advise: stick to "normal" checks as much as you can.
          Make your userparameters as efficient as possible.

          Comment

          • ataylo13
            Senior Member
            • Feb 2007
            • 122

            #6
            [email protected]: Are you referring to 100s of checks on a single server or 100s of active checks in your environment?
            Version : 1.8.8
            Current Configuration 1 Master and 3 Child Nodes

            Comment

            • ad@kbc-clearing.com
              Member
              • Sep 2005
              • 77

              #7
              If you make a script with a few hundred zabbix_sender statements, then you will notice that it takes a considerable amount of time to send one item to zabbix (sometimes 0.1 sec).
              It doesn't matter if you have 1 host with 100 active checks or 100 hosts with 1 active check.
              If you try to send more than 10 items per second to zabbix (either through active check or through zabbix_sender), then you will notice frequent time-outs, delays and loss of data.

              Btw We have a zabbix server with 100 checks per second, of which > 95% "normal" checks. We use active checks only for special cases like e.g. logfile monitoring.
              For a userparameter that takes a long time, we use a workaround by sending the output of a (scheduled) script to a file, and retreiving the result out of this file.

              Comment

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

                #8
                Originally posted by [email protected]
                For an active check, the data is sent to the server with zabbix_sender, which is quite inefficient.
                This is not correct. Zabbix agent is self-efficient, it does not use Zabbix sender. Active checks are processed by one agent's process, while passive checks are processed by three or four by default.
                Alexei Vladishev
                Creator of Zabbix, Product manager
                New York | Tokyo | Riga
                My Twitter

                Comment

                • bbrendon
                  Senior Member
                  • Sep 2005
                  • 870

                  #9
                  Originally posted by [email protected]
                  Active checks are not as reilable as normal checks.
                  For an active check, the data is sent to the server with zabbix_sender, which is quite inefficient.
                  YOu will notice that, if you have 100's of active checks, you will miss a lot of data, especially if you have a busy zabbix server.

                  Advise: stick to "normal" checks as much as you can.
                  Make your userparameters as efficient as possible.
                  Whoa there. Watch what you state as fact!

                  Active checks are WAY MORE efficient than passive checks and equally as reliable!!

                  You will NOT miss data if you have 10000's of active checks!

                  Though, if your Zabbix system isn't properly configured, you could have all kinds of bizarre results no matter what you configure.
                  Unofficial Zabbix Expert
                  Blog, Corporate Site

                  Comment

                  • safpsr
                    Member
                    • Aug 2007
                    • 70

                    #10
                    Active or passive tiem

                    Originally posted by Alexei
                    This is not correct. Zabbix agent is self-efficient, it does not use Zabbix sender. Active checks are processed by one agent's process, while passive checks are processed by three or four by default.
                    Hi Alexei,

                    "Active checks are processed by one agent's process"

                    If I understand correctly, I have more than 200 active items on an agent a single process will run them? And he will only treat one at a time?
                    If several items take several seconds to answer (complex information to be obtained) and many items have an update interval of 30 sec. Or 60 sec, is the process able to treat them so quickly ?

                    Thanks

                    Comment

                    Working...