![]() |
Fox's Pages | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
UW home
|
Updated: May 18, 2001 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Argus dings |
Argus uses this 'feel good' value to color the background of the corresponding window. In cases where the status represents an error, the status window is authmatically popped up.
Here is a sample client that shows how a server can respond to Argus queries.
It would not be very efficient or wise for many Argus (Argi?) to independently send datagrams to each server. That's a lot of redundency on everyone's part.
What actually happens is that each Argus connects, via TCP socket, to an Argus daemon. Each tells the deamon which hosts and servers it is interested in. The daemon then watches the servers and relays status information to each interested client.
The UDP datagram implementation was chosen for its simplicity and ease of use. It is about the simplest of network interfaces and fits easily into the operation of most servers.
However, there is a class of services that don't readily adapt to this scheme - those that you buy from a vendor and don't have source code. Or maybe you do have source but don't want to hack it up. A separate tool (argmon) works with Argus to monitor those services. Argmon contains the necessary code to respond to Argus's queries but it gets all its information from server dependent scripts or programs, running as child processes. Our web server watcher is an illustrative example.
Argus asks argmon via the datagram interface. Argmon finds out server status via several custom interfaces.
|
Jim Fox UW Technology Identity and Access Management University of Washington fox@washington.edu |
© 1983-2012, University of Washington