Subject: Argus Tip #882 - The Asynchronous Resolver

From: Jeff Weisberg <[email-masked]>
Date: Sat, 29 Jan 2005 13:27:14 -0500 (EST)

What is this "asynchronous resolver" thing?

  normally, when argus starts, it uses your systems standard
  "gethostbyname()" function to do DNS lookups to convert
  hostnames (mail.example.com) in your config to their
  IP address (192.168.1.2).
  
  the asynchronous resolver is a replacement DNS resolver
  that argus can use instead of the standard gethostbyname().

  argus runs it continuously in the background.

Why would I want to do that?

  if you are monitoring a large number of hosts, doing a lot of
  DNS lookups one at a time, can cause argus to take a long
  time to start up. with the asynchronous resolver enabled,
  argus doesn't have to wait for the DNS lookups, and can start
  up faster while multiple lookups happen in the background.
  
  and, normally, argus only does the DNS lookups at start time;
  with the asynchronous resolver enabled, argus will periodically
  re-look things up every so often, so you can change the IP
  address of a server and argus will switch to the new address
  without needing to reload.

How do I enable it?

  in you config file, after your top level data definitions,
  and before your first Group or Service, add:

     Resolv

  or

     Resolv {
        # various parameters
     }

  unless you specify otherwise, argus will fetch the needed
  parameters from your /etc/resolv.conf file

Notes:
  this is only available in the development code

  if your resolv.conf specifies multiple search domains
  only one will be used

  if your resolv.conf contains anything wacky, argus
  probably won't understand it

	--jeff