evmpost - Posts events to the EVM daemon
evmpost [-r [-m|-M]] [-h hostname[:port_no]]... [[-a|-u
msg[-p priority]]|[filename | -]]
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 environmental 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 configuration 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.
Read event sources from filename. If filename is omitted,
or is specified as -, event sources are read from stdin.
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 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).
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.
The following exit values are returned: Successful completion.
An error occurred.
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 completed" -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"
Definition of the sockets and protocols used for Internet
services. Location of the EVM authorization file.
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)
[ Back ] |