Argus - The All Seeing, System and Network Monitoring Software

Home
Features
Testimonials
Screen Shots
Download
Docs
History
Future
Links
Contributing
Contacting

Advanced Features

Aliases

Often, when deciding how to arrange things, it may make sense to have something in more than one place. You may have a group of "Unix Servers" containing all of your unix servers, and also a group "Web Servers" containing all of your web servers. While you could just monitor the service twice, that just seems silly.

An Alias acts much like a "symlink", allowing the same object to appear in more than one place, but still only be monitored once.

	Group "Web Servers" {
		Alias "threemile"  "Top:Unix_Servers:threemile"
		Alias "tarawa"     "Top:NT_Servers:tarawa"
		Alias "matagi"     "Top:NT_Servers:matagi"
	}

uname

Sometimes you want to monitor 2 similar things, but with some minor difference. The way argus tells things apart is by is name. If the name argus wants to use is the same for both items, argus will complain. You can specify this name yourself, if you need to:

		Host "jeremy-03.example.com" {
			Service TCP/HTTP {
				uname: HTTP-PRIMARY
			}
			Service TCP/HTTP {
				port:  8080
				uname: HTTP-SECONDARY
			}
		}

Without the uname specified, argus will not be able to tell these items apart (both would have the name HTTP_jeremy-03.example.com.

Asynchronous Resolver

This feature was added in version 3.4

At startup, argus ordinarily will resolve hostnames in your config files into IP addresses. For large configurations, this can cause a significant delay at startup. By enabling the asynchronous resolver, hostnames lookups are deferred until after argus has started, at which point they are looked up in parallel with normal operation. It may be enabled by:

	Resolv
or
	Resolv {
		# various parameters
	}

For better performance with large configs, multiple resolvers can be configured:

	Resolv
	Resolv
	Resolv
or
	Resolv/5
The Resolv/# syntax was added in version 3.5

Inheritance Bypass

This feature was added in version 3.5

The argus config file is hierarchical. Many parameters can be specified at a higher level, and the value will be inherited by objects below it. e.g.

	Group "foo" {
	    hostname:		server.example.com
	    overridable:	no
	    Service TCP/HTTP
	    Service TCP/SSH
	}

the hostname and overridable parameters are specified on group-foo, and are inherited by the 2 services.

Sometimes, you don't want a parameter which is normally inherited to be inherited. In the above example, you may want the group to not be overridable, but the services to be overridable. Adding a ! after the parameter name, will prevent the value from being inherited. e.g:

	Group "foo" {
	    hostname:		server.example.com
	    overridable:	yes	# will be inherited by the services
	    overridable!:	no	# will be used by group-foo only
	    Service TCP/HTTP
	    Service TCP/SSH
	}

...