evmpost(1)evmpost(1)NAMEevmpost - Posts events to the EVM daemon
SYNOPSISevmpost [-r [-m|-M]] [-h hostname[:port_no]]... [[-a|-u msg[-p prior‐
ity]]|[filename | -]]
OPTIONS
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 terminal device. 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. Inhibits merging of template items and environ‐
mental values when the -r option is used. 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 configu‐
ration file, evmdaemon.conf(4). In most cases, the default
should be used. 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. 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. 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
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, evm‐
post attempts to retrieve event template information from the EVM dae‐
mon 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 speci‐
fied 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 correspond‐
ing 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
useful: echo 'event { }' | evmpost-r | evmshow Unformatted event "(no
name)";
The -r option can be used to verify event source and template files by
piping 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: Successful completion. An
error occurred.
EXAMPLES
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 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 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 The following example, which must be run as root, posts an
administrator's message event. evmpost-a "Power outage recovery com‐
pleted" -p 250 The following example posts a quick user's message.
evmpost-u "Leaving for lunch." This example posts an event that
includes a variable. evmpost << 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
Definition of the sockets and protocols used for Internet services.
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)evmpost(1)