| |||||||||||||
| ConfiguringYou have the choice of creating a single config file, or a directory of separate config files, which are effectively concatenated together. The latter is useful so that different parts can be generated by different people or different scripts. For example, the author has one file for each of: unix servers, NT servers, routers, terminal servers, BGP sessions, T1 connections, DSL connections, etc. Certain files are built by scripts from various databases, and others are maintained by people. The application will automatically notice if a config file changes and will reload. By default, argus will look in the configured data directory for a file or subdirectory named config. This can be overridden with the -c command line option. Config File StructureThe config file defines what and how things are monitored as well as the layout and relationships of the various items. It contains various types of things
In the config file, the parameter-value data must come first, followed by notification methods and special features, followed by groups and services. There are an extremely large number of parameters (data) that can be (or need to be) defined. In general, everything tries to default to reasonable and "Do What I Mean" values. There is an auto-generated list of all of the parameters, etc, here Probably good to show an example: syslog: local1 notify: mail:staff@example.com Group "Servers" { Group "mail" { # Here, we specify data (hostname) for the group # Note: hostname data is not used by Groups # but the enclosed Services will inherit # the value and use it hostname: mail.example.com Service TCP/SMTP Service TCP/IMAP Service UDP/DNS Service Ping # Notice, Services can either be standalone, or have # data attached # in the next case, we give the Ping a different # address to check Service Ping { hostname: 10.4.3.2 } } Group "www" { # Note, unlike C or Perl, you cannot # place the opening { on a different line hostname: www.example.com Service TCP/HTTP Service TCP/HTTPS Service Ping Service TCP { port: 12345 info: YoyoDyne Application Server } # Also, the closing } must be on # a line by itself (with optional whitespace) } } Since it is quite common to create a group representing a single host, and enclosing a number of services to test on that host, a shorthand notation is provided for this: Host "www.example.com" { Service TCP/HTTP Service TCP/HTTPS Service Ping Service TCP { port: 12345 info: YoyoDyne Application Server } } This does the same thing as the "www" group in the other example. Hmmm, OK, perhaps it isn't much shorter. How about "A more self-documenting-hand", instead? Other sections of the documentation will explain some of the more common parameters and show additional examples. Config File - Other NotesCase SensitivityIn general, the everything is case-sensitive. Often, argus can figure out what you mean if you mis-case something, but not always, so you should you use the same casing as shown. Include FilesYou can include another file in a config file by saying: Include "file" Include files may in turn include other files to any level of nesting (well, up to what ever resource limits your Operating System may have)
Include support was added in version 3.2
Time UnitsMany parameters specify amounts of time. Times can be specified using units of secs, mins, hours, days, weeks, and years, all may be abbreviated to one letter. For example: 36y, or 12min.
Time unit support was added in version 3.5
| ||||||||||||
|