Argus - The All Seeing, System and Network Monitoring Software

Screen Shots
Mailing List

Interfacing with Argus

There are several ways for external programs or systems to interface with argus

Data Archiving

The data archiving feature was added in version 3.5

The results of every service test can be sent to an external program for collecting, storing, analyzing, etc.

	archive_prog:	/bin/put_stuff_in_database
	archive_fmt:	%t %o %s

archive_prog specifies a program. it will be sent data on its standard input. archive_fmt specifies the format of the data to send to the archive program in a manner similar to the formats for message{up,dn} (except that the values will be URL encoded).


Argus comes with a argusctl program which can be used to control or get data from the running argus server.

For a list of poorly documented commands that are supported, you can run either: argusctl help or argusd -C

Some examples of useful commands:

  • argusctl hup - reload the config file
  • argusctl -k console - display log messages
  • argusctl ovlist - list everything currently in override
  • argusctl status - display current status
  • argusctl shutdown - shut down argus

loading perl code

This feature requires familiarity with the internal workings of argus.

Argus can load user specified perl code into itself. This can be used to change argus's behavior, add additional features, remove features, enforce company policies, etc.

	load_modules:	MyArgus::Override_Policy MyArgus::TicketSystem

running a program at startup

Argus can run a specified program whenever it starts or reloads the config. This can be used for logging, modifying argus's configuration, etc.

	runatstartup:	/usr/local/bin/myprogram

Normally, argus will wait for this program to complete. If you want argus to continue without waiting (eg. the program needs to talk to argus), you can put an '&' after the command to cause it ti run in the background.

	runatstartup:	/usr/local/bin/myprogram &

Environment Variables

Argus sets a number of environment variables with are available to any program that argus runs (such as a 'Service Prog').

ARGUS_PIDArgus's process id
ARGUS_VERArgus's version
ARGUS_DATAthe location of the data directory
ARGUS_LIBthe location of the lib directory
ARGUS_CTLthe location of the control socket
ARGUS_SYSLOGthe configured syslog facility
ARGUS_OBJNAMEthe full name of service being tested (Prog only)
ARGUS_UNAMEthe short name of the service being tested (Prog only)
ARGUS_DEBUGthe value of the debugging parameter (Prog only)