unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



evmpost(1)							   evmpost(1)



NAME

  evmpost - Posts events to the	EVM daemon

SYNOPSIS

  evmpost [-r [-m|-M]] [-h hostname[:port_no]]... [[-a|-u msg[-p
  priority]]|[filename | -]]

OPTIONS

  -r  Does not post the	events,	but instead passes them	directly to stdout as
      raw EVM events.

      Use of this option results in an error if	stdout is directed to a	ter-
      minal device.

  -m  When used	in conjunction with the	-r option, causes event	template
      items and	environmental values to	be merged with the items included in
      the source. This is the default mode.

  -M  Inhibits merging of template items and environmental values when the -r
      option is	used.

  -h hostname[:port_no]
      Attempts to connect to the EVM daemon on the host	hostname, rather than
      to the local daemon.

      If :port_no is specified,	port_no	is used	for TCP	communication with
      remote daemons; otherwise, the evm port number found in /etc/services
      is used. If no entry is found in /etc/services, the reserved default
      value of 619 is used. The	port number must be the	same as	the portnum
      specified	in the EVM daemon configuration	file, evmdaemon.conf(4). In
      most cases, the default should be	used.

  -a msg
      Posts an administrator's quick message event with	the name
      sys.unix.evm.msg.admin and the string msg	in a variable data item. If a
      message contains spaces, the message must	be enclosed in quotation
      marks (""). The event is used to add a message entry in the event	log.
      This option may be used only by privileged users.

  -u msg
      Posts a user's quick message event with the name sys.unix.evm.msg.user
      and the string msg in a variable data item. If a message contains
      spaces, the message must be enclosed in quotation	marks (""). The	event
      is used to add a message entry in	the event log.

  -p priority
      Assigns priority as the event priority for an administrator's or user's
      quick message. The priority value	must be	an integer in the range	0-
      700. If the priority is not specified, the default of 200	is used.


OPERANDS

  filename
      Read event sources from filename.	If filename is omitted,	or is speci-
      fied as -, event sources are read	from stdin.

DESCRIPTION

  The evmpost command takes a file or stream of	text event sources as input
  and converts them to binary EVM events. By default, the command then posts
  them to the EVM daemon for distribution.

  If the -r option is specified, evmpost writes	the EVM	events to its stdout
  stream instead of posting them to the	daemon.	By default, evmpost attempts
  to retrieve event template information from the EVM daemon and merges	the
  template items and environmental items such as user name and timestamp into
  the output events. If	the -M option is used, the output events contain only
  the items specified in the source.

  An event source may contain any number of events. Each event is specified
  in the manner	shown. See the EvmEvent(5) reference page for a	more detailed
  explanation.

       event {
		     name      event_name
		     format    format_specifier
		     priority  priority
		     var {
			 name	 variable_name
			 type	 variable_type
			 value	 variable_value
			 }
		     }

  The evmpost command recognizes the following data items in an	event source:

    +  NAME

    +  PRIORITY

    +  FORMAT

    +  REF

    +  I18N_CATALOG

    +  I18N_SET_ID

    +  I18N_MSG_ID

    +  CLUSTER_EVENT

    +  VAR

	 -- TYPE

	 -- VALUE

  All EVM variable types may be	specified except for OPAQUE.  Refer to
  EvmEvent(5) for details on data items	and variables.

  In the event source, each keyword must be accompanied	by a corresponding
  value, which must be enclosed	in double quotes ("") if it contains white
  space.  Data item keywords that are specified	outside	the event body are
  taken	as global values and included in each following	event that does	not
  include explicit values for those keywords.

  Comments are indicated by a leading #	character.  Blank lines	are ignored.

  The evmpost command builds an	EVM event containing the items that are
  explicitly specified in the source. If the event is posted, or if the	-r
  option is specified without -M, additional environmental items such as the
  timestamp, process id, hostname, and template	items are inserted into	the
  event	automatically.

  Since	the rules for posting an event are more	stringent than those for an
  event	simply to exist, evmpost may display an	error when you try to post an
  unpostable event, even though	the same source	is accepted when you use the
  -r option. For example, you cannot post an event if it does not contain a
  name with at least three components because the daemon will reject it, but
  such an event	can exist, and evmpost can create it and pass it to stdout.
  The following	would fail because it does not contain a name:

       echo 'event { }'	| evmpost
       evmpost:	Error in input file "standard input", line 1
       evmpost:	Error: Event name is missing

  The following	would succeed, even though it would not	display	anything use-
  ful:

       echo 'event { }'	| evmpost -r | evmshow
       Unformatted event "(no name)";

  The -r option	can be used to verify event source and template	files by pip-
  ing the output into evmshow(1).

RESTRICTIONS

  The evmpost command rejects attempts to output raw events to a terminal
  device.

  You may post only events for which you have posting authorization, and for
  which	a template exists.

EXIT STATUS

  The following	exit values are	returned:

  0   Successful completion.

  not 0
      An error occurred.

EXAMPLES

   1.  The following example posts an event, provided that a template file
       containing an event with	a matching name	has been registered with the
       EVM daemon.
	    echo 'event	{ name myco.myapp.test.start }'	| evmpost

   2.  The following example interprets	an event template file,	and displays
       a dump of the contents of each event. Environmental items, such as a
       timestamp, are not merged into the event. This command might be used
       to check	the syntax and contents	of the file.
	    cat	myevents.evt | evmpost -r -M | evmshow -D

   3.  The following example shows how evmpost could be	used in	a shell
       script to signal	completion of some operation:
	    #! /bin/ksh
	    do_backups	# A script file	that does periodic backup
	    if [ $? -eq	0 ]
	    then
		 EVNAME=myco.ops.backup.ok
	    else
		 EVNAME=myco.ops.backup.failed
	    fi
	    echo "event	{name $EVNAME}"	| evmpost

   4.  The following example, which must be run	as root, posts an
       administrator's message event.
	    evmpost -a "Power outage recovery completed" -p 250

   5.  The following example posts a quick user's message.
	    evmpost -u "Leaving	for lunch."

   6.  This example posts an event that	includes a variable.
	    evmpost <&lt;<&lt; EOF
	    event   {
		    name myco.ops.backup.ok
		    var	    { name backup.vol
			      type string
			      value "tape 73"
			    }
		    }

	    EOF

       If the template for this	event contains the following format data
       item:
	    "Backup completed to $backup_vol"

       then evmshow might display this event as:
	    "Backup completed to tape 73"



FILES

  /etc/services
      Definition of the	sockets	and protocols used for Internet	services.

  /etc/evm.auth
      Location of the EVM authorization	file.

SEE ALSO

  Commands: evmget(1), evminfo(1), evmshow(1), evmsort(1), evmwatch(1)

  Routines: EvmEventPost(3)

  Files: evmdaemon.conf(4), evmtemplate(4), services(4)

  Event	Management: EVM(5)

  EVM Events: EvmEvent(5)