Argus
(man page)


Contents
 | How it works  | Vendor clients  | Source
 

NAME
  Argus - UCS server and daemon monitor for X

PURPOSE
  Argus monitors services, servers, and other daemons on UCS systems.  It
  provides status information and problem-solving help.  It is intended for
  use by UCS staff.

SYNTAX
  /usr/local/etc/Argus [ OPTIONS ] [ toolkitoption ...]

OPTIONS

  -rc file  Specifies an initialization file.  Default is ~/.Argusrc

  -RC file  Specifies a defaults initialization file.  Default is
            /usr/local/lib/Argus/rc

  Argus accepts all of the standard X Toolkit command line options (see
  X(1)).  The order of the command line options is not important.

STANDARD DISPLAY
  Argus provides a window containing windows for each service being moni-
  tored.  Each service window contains:

  Name window
            The service name.  Click on this name window to initiate a direct
            dialog with the service---provided the service specifies a direct
            connect program.  See the `DIRECT CONNECT INTERFACE' section.

  Server windows
            Indicate the status of each server on each host that provides the
            service.  The attributes of a server window are determined by the
            status byte (the second one) of its datagram message.  A widget
            instance name is formed by prefacing this status with 'L' ('L1',
            for instance).  That name is then used to determine the resources
            for the server window.  See the `RESOURCES' section.

            Click on any of these windows to see the complete text of the
            current status of the server.

            Every 15 seconds (default time) the monitor sends a query packet
            to each server. Reply packets indicate the status of the server.
            If a server fails to respond within 60 seconds a warning is
            issued.

            If an Argusd daemon is running then Argus will use it instead of
            sending datagrams itself.

  Argus also provides two small utility windows.

  ?         Click this window to get general help with Argus.


EXTERNAL DISPLAY
  Some services have so many servers that they cannot fit easily into a stan-
  dard display when uncompressed.  When a service is uncompressed the `exter-
  nal' service display puts all the individual server labels into an external
  popup, rather than in a straight line in the normal window.

  Set a service for external display with the external keyword in your but-
  ton_3 in the service label.  Clicking button_3 in the service label of an
  external service removes the popup.



DIRECT CONNECT INTERFACE
  Clicking on the service name window brings up a direct connect window and
  executes a direct connect program. This program is normally the same pro-
  gram you use to communicate with the service from the command line.  For
  example, tms is the direct connect program for the TMS service.

  Enter commands and view the display much as you would if you had run the
  program from a command line.


  Click "quit" when done.


OBTAINING SERVER STATUS
  Clicking on a server window brings up a window showing the last status mes-
  sage from the server, along with the time that message was  received.
  Click on the "help" button to better understand the message.  Help will
  also show what action should be taken to correct error conditions.  Some
  help displays will also create new buttons that can provide specific infor-
  mation relating to the help text.

  Click on the "check" button to send a status datagram to the server.  This
  usually gives you up-to-date status information.  You don't have to wait
  for the normal cycle.

  Some services define extra buttons on this window. See the "ding" setup
  file parameter.

  Some servers also allow you to click on a line of the status message to
  obtain more detail.  See the server dependant information. Clicking on a
  line of that does not provide more information will bring up the help win-
  dow.

  The server status window will popup automatically if an alert condition is
  noticed for the server.  The number of automatically popped status displays
  is set by the aplimit initialization file parameter.


  popped and all non-alert states are un-popped.  Click Button 2 on a server
  to reset it.  Click Button 2 on a service to reset all its servers.
  Finally, you can click Button 2 on the "!" button to reset all servers.


INITIALIZATION FILE
  Argus determines which services to monitor by reading an initialization
  file. The default file is "~/.Argusrc", but this may be changed with the
  -rc option.


  Each line in this file describes a service to monitor.  Data have a
  `keyword=value' syntax.  Lines may be continued by ending with a backslash.
  Multi-word values should be enclosed in parentheses.  Anything after a
  pound (#), EXCEPT the backslash, is considered a comment.

  Default values are contained in the defaults file
  "/usr/local/lib/Argus/rc", which may be overriden with the -RC option.

  Keywords are:

  alert =  alert level
            This is the level at which the server's status message will be
            automatically popped.  Range is 0-9. Default is 5.

  aplimit =  number
            This is the maximum number of server status windows that will be
            automatically popped per service.  Default is 4.

  compress  This starts the service with a compressed display.

  diagnose =  keyword program_name arg1 arg2 ...
            The keyword should match a field in a line of the server's status
            message.  The program with args will be exec'd when the line con-
            taining the keyword is 'clicked'.  The word following 'keyword'
            in the status message will be appended to the argument list.  All
            text written by the program to stdout or stderr will be displayed
            after the program exits.

  dings =  label:message ...
            The dings create buttons on the server message window.  Activa-
            tion of a button sends a datagram with message to the server.
            This datagram will be sent directly to the server, bypassing the
            Argus daemon.

  exec =  program_name arg1 arg2 ...
            This a program which will be exec'd to implement the direct con-
            nect interface.  It must read input from stdin and write to
            stdout.  The program should exit on pipe closure.

  help =  filename
            This is the path of a help filename which explains status mes-
            This list of hosts will be added to the hosts list.

  neglect   Argus will remember the configuration information for this ser-
            vice, but will neither display the service nor send it datagrams.
            The service may be `watched' by selecting it via the options
            menu.

  noservice This identifies a help-only service window.  Argus will maintain
            a window and helptext for this `service', but there is no real
            server being monitored.  In this case no port should be speci-
            fied.

  port =  port #
            This is the port number to which Argus will send datagrams.

  service =  service_name
            This is the name of the service to be monitored.  If this service
            is listed in "/etc/services" then the port number need not be
            specified.



HELP FILES
  Each service must provide a help file to explain the messages returned by
  the query datagrams.

  Lines beginning with a # are ignored by Argus.

  Lines beginning with a ! are topic keys.  All text between the ! and the
  end of line constitutes the topic key.  Each message returned by the server
  to a datagram query should have a matching topic key.

  Lines beginning with a $ are program exec specifications which will create
  extra buttons when the associated help topic is selected. The format is:

  $ label : program_name arg1 arg2 ...


  Other lines are help text and are copied verbatim to the help window.


SERVER DATAGRAM PROTOCOL
  Here is the UDP protocol used by Argus.


  Each server listens for UDP datagrams on its normal service port as defined
  in /etc/services or on the port defined in the `rc' file.


  A query datagram from Argus to the server will contain 1 byte, an `s'.  The
  reply datagram from the server to Argus will contain a proxy byte (ignored
  if not from a proxy host), a status byte ('0'--'9'), plus 0-n message
  The daemon is easily started (by root) by typing /usr/local/etc/Argusd.  It
  is normally started when the system boots.


PROXY HOSTS
  A monitored service need not really exist on the port and host indicated in
  its display windows.  It may instead have a proxy host report its status.
  To utilize a proxy for one of its hosts (in the display) a service would
  specify the proxy host, port, and character in the host list, as in this
  example:


  host = ( host1
           ( host2 host=hostp port=n proxy=a )
           host3 )



  This example specifies 2 real hosts (host1 and host3) and one that requires
  a proxy (host2).  Query datagrams for host2 will be sent to port (n) on
  host (hostp).  Reply datagrams from (hostp) that contain the proxy charac-
  ter (a) will be applied to the status of host2.



RESOURCES
  Argus is composed of Athena widgets, for which the standard resources
  apply.

  Sample resource descriptions may be found in
  /usr/local/lib/Argus/resources-*.

  In order to specify resources, it is useful to know the hierarchy of the
  widgets used by Argus.  In the notation below, indentation indicates
  hierarchical structure.  The widget instance name is given first, followed
  by the widget class name.

  In the event that this table is either unreadable or incorrect please refer
  to the sample resource files for the correct widget hierarchy.

  Argus (Argus)
    services (Box)
      ho (Box) for help/options selections
        help (Command)
          HelpSet
        option (Command)
      service (Paned)
        name (Command)
          HelpSet
        servers (Paned)
          `L0-L9' (Label) [Dummy widget]
          `LNR' (Label) [Dummy widget]

      service... (One widget per service)
      error (Shell) popup for error message reporting
        popbox (Box)
          message (Label)
          quit (Command)

  The HelpSet consists of the following widgets

  help (Shell)
    popbox (Paned)
      label (Label)
      displaybox (Paned)
        display (Text)
        topics (List)
      quitbox (Paned)
        quit (Command)
        subtopic (Command) [Defined by help text]
           ExecSet

  The ExecSet consists of the following widgets

  exec (Shell)
    popbox (Paned)
      label (Label)
        display (Text)
        quit (Command)



ENVIRONMENT

  DISPLAY to get the default host and display number.

  XENVIRONMENT
          to get the name of a resource file that overrides the global
          resources stored in the RESOURCE_MANAGER property.

FILES

SEE ALSO
  Argusd, X(1), xrdb(1), Athena Widget Set

RESTRICTIONS

COPYRIGHT
  Copyright 1991, 1992, 1993, University of Washington.

AUTHOR
  Jim Fox, C&C, University of Washington.



[University of Washington]
Jim Fox
fox@washington.edu
Modified: January 6, 1999