"Previous parts of this book often mentioned Nagios
performing checks on various software and machines. In such cases,
Nagios decides when a check is to be performed, runs the check and
stores the result. These types of checks are called Active Checks.
"Nagios also offers another way to work with the statuses of
hosts and services. It is possible to configure Nagios so that it
will receive status information sent over a command pipe. In such a
case, checks are done by other programs, and their results are sent
to Nagios. Nagios will still handle all notifications, event
handlers, and dependencies between hosts and services.
"Active checks are most common in the Nagios world. They have a
lot of advantages and some disadvantages. One of the problems is
that such checks can take only a couple of seconds to
complete—a typical timeout for an active check to complete is
10 or 30 seconds. In many cases, the time taken is not enough, as
some checks need to be performed over a longer period of time to
have satisfactory results. A good example might be running a check
that takes several hours to complete—in this case, it does
not make sense to raise the global service_check_timeout option,
but rather to schedule these checks outside of Nagios and only
report the results back to it."